2 ===========================================================================
5 Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
7 This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
9 Doom 3 Source Code is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
14 Doom 3 Source Code is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
22 In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
24 If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
26 ===========================================================================
30 // DialogAFConstraintBallAndSocket dialog
32 class DialogAFConstraintBallAndSocket : public CDialog {
34 DECLARE_DYNAMIC(DialogAFConstraintBallAndSocket)
37 DialogAFConstraintBallAndSocket(CWnd* pParent = NULL); // standard constructor
38 virtual ~DialogAFConstraintBallAndSocket();
39 void LoadFile( idDeclAF *af );
40 void SaveFile( void );
41 void LoadConstraint( idDeclAF_Constraint *c );
42 void SaveConstraint( void );
43 void UpdateFile( void );
45 enum { IDD = IDD_DIALOG_AF_CONSTRAINT_BALLANDSOCKET };
48 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
49 virtual int OnToolHitTest( CPoint point, TOOLINFO* pTI ) const;
50 afx_msg BOOL OnToolTipNotify( UINT id, NMHDR *pNMHDR, LRESULT *pResult );
51 afx_msg void OnBnClickedRadioAnchorJoint();
52 afx_msg void OnBnClickedRadioAnchorCoordinates();
53 afx_msg void OnCbnSelchangeComboAnchorJoint();
54 afx_msg void OnEnChangeEditAnchorX();
55 afx_msg void OnEnChangeEditAnchorY();
56 afx_msg void OnEnChangeEditAnchorZ();
57 afx_msg void OnDeltaposSpinAnchorX(NMHDR *pNMHDR, LRESULT *pResult);
58 afx_msg void OnDeltaposSpinAnchorY(NMHDR *pNMHDR, LRESULT *pResult);
59 afx_msg void OnDeltaposSpinAnchorZ(NMHDR *pNMHDR, LRESULT *pResult);
60 afx_msg void OnBnClickedRadioBasLimitNone();
61 afx_msg void OnBnClickedRadioBasLimitCone();
62 afx_msg void OnBnClickedRadioBasLimitPyramid();
63 afx_msg void OnEnChangeEditBasLimitConeAngle();
64 afx_msg void OnDeltaposSpinBasLimitConeAngle(NMHDR *pNMHDR, LRESULT *pResult);
65 afx_msg void OnEnChangeEditBasLimitPyramidAngle1();
66 afx_msg void OnDeltaposSpinBasLimitPyramidAngle1(NMHDR *pNMHDR, LRESULT *pResult);
67 afx_msg void OnEnChangeEditBasLimitPyramidAngle2();
68 afx_msg void OnDeltaposSpinBasLimitPyramidAngle2(NMHDR *pNMHDR, LRESULT *pResult);
69 afx_msg void OnEnChangeEditBasLimitRoll();
70 afx_msg void OnDeltaposSpinBasLimitRoll(NMHDR *pNMHDR, LRESULT *pResult);
71 afx_msg void OnBnClickedRadioBasLimitBone();
72 afx_msg void OnBnClickedRadioBasLimitAngles();
73 afx_msg void OnCbnSelchangeComboBasLimitJoint1();
74 afx_msg void OnCbnSelchangeComboBasLimitJoint2();
75 afx_msg void OnEnChangeEditBasLimitPitch();
76 afx_msg void OnDeltaposSpinBasLimitPitch(NMHDR *pNMHDR, LRESULT *pResult);
77 afx_msg void OnEnChangeEditBasLimitYaw();
78 afx_msg void OnDeltaposSpinBasLimitYaw(NMHDR *pNMHDR, LRESULT *pResult);
79 afx_msg void OnBnClickedRadioBasLimitAxisBone();
80 afx_msg void OnBnClickedRadioBasLimitAxisAngles();
81 afx_msg void OnCbnSelchangeComboBasLimitAxisJoint1();
82 afx_msg void OnCbnSelchangeComboBasLimitAxisJoint2();
83 afx_msg void OnEnChangeEditBasLimitAxisPitch();
84 afx_msg void OnDeltaposSpinBasLimitAxisPitch(NMHDR *pNMHDR, LRESULT *pResult);
85 afx_msg void OnEnChangeEditBasLimitAxisYaw();
86 afx_msg void OnDeltaposSpinBasLimitAxisYaw(NMHDR *pNMHDR, LRESULT *pResult);
92 idDeclAF_Constraint*constraint;
94 //{{AFX_DATA(DialogAFConstraintBallAndSocket)
95 CComboBox m_comboAnchorJoint;
100 float m_pyramidAngle1;
101 float m_pyramidAngle2;
102 CComboBox m_comboLimitJoint1;
103 CComboBox m_comboLimitJoint2;
107 CComboBox m_comboLimitAxisJoint1;
108 CComboBox m_comboLimitAxisJoint2;
109 float m_limitAxisPitch;
110 float m_limitAxisYaw;
113 static toolTip_t toolTips[];
116 void InitJointLists( void );