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 // DialogAFConstraintUniversal dialog
32 class DialogAFConstraintUniversal : public CDialog {
34 DECLARE_DYNAMIC(DialogAFConstraintUniversal)
37 DialogAFConstraintUniversal(CWnd* pParent = NULL); // standard constructor
38 virtual ~DialogAFConstraintUniversal();
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_UNIVERSAL };
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 OnBnClickedRadioUniversalBoneShaft1();
61 afx_msg void OnBnClickedRadioUniversalAnglesShaft1();
62 afx_msg void OnCbnSelchangeComboUniversalJoint1Shaft1();
63 afx_msg void OnCbnSelchangeComboUniversalJoint2Shaft1();
64 afx_msg void OnEnChangeEditUniversalPitchShaft1();
65 afx_msg void OnDeltaposSpinUniversalPitchShaft1(NMHDR *pNMHDR, LRESULT *pResult);
66 afx_msg void OnEnChangeEditUniversalYawShaft1();
67 afx_msg void OnDeltaposSpinUniversalYawShaft1(NMHDR *pNMHDR, LRESULT *pResult);
68 afx_msg void OnBnClickedRadioUniversalBoneShaft2();
69 afx_msg void OnBnClickedRadioUniversalAnglesShaft2();
70 afx_msg void OnCbnSelchangeComboUniversalJoint1Shaft2();
71 afx_msg void OnCbnSelchangeComboUniversalJoint2Shaft2();
72 afx_msg void OnEnChangeEditUniversalPitchShaft2();
73 afx_msg void OnDeltaposSpinUniversalPitchShaft2(NMHDR *pNMHDR, LRESULT *pResult);
74 afx_msg void OnEnChangeEditUniversalYawShaft2();
75 afx_msg void OnDeltaposSpinUniversalYawShaft2(NMHDR *pNMHDR, LRESULT *pResult);
76 afx_msg void OnBnClickedRadioUniversalLimitNone();
77 afx_msg void OnBnClickedRadioUniversalLimitCone();
78 afx_msg void OnBnClickedRadioUniversalLimitPyramid();
79 afx_msg void OnEnChangeEditUniversalLimitConeAngle();
80 afx_msg void OnDeltaposSpinUniversalLimitConeAngle(NMHDR *pNMHDR, LRESULT *pResult);
81 afx_msg void OnEnChangeEditUniversalLimitPyramidAngle1();
82 afx_msg void OnDeltaposSpinUniversalLimitPyramidAngle1(NMHDR *pNMHDR, LRESULT *pResult);
83 afx_msg void OnEnChangeEditUniversalLimitPyramidAngle2();
84 afx_msg void OnDeltaposSpinUniversalLimitPyramidAngle2(NMHDR *pNMHDR, LRESULT *pResult);
85 afx_msg void OnEnChangeEditUniversalLimitRoll();
86 afx_msg void OnDeltaposSpinUniversalLimitRoll(NMHDR *pNMHDR, LRESULT *pResult);
87 afx_msg void OnBnClickedRadioUniversalLimitBone();
88 afx_msg void OnBnClickedRadioUniversalLimitAngles();
89 afx_msg void OnCbnSelchangeComboUniversalLimitJoint1();
90 afx_msg void OnCbnSelchangeComboUniversalLimitJoint2();
91 afx_msg void OnEnChangeEditUniversalLimitPitch();
92 afx_msg void OnDeltaposSpinUniversalLimitPitch(NMHDR *pNMHDR, LRESULT *pResult);
93 afx_msg void OnEnChangeEditUniversalLimitYaw();
94 afx_msg void OnDeltaposSpinUniversalLimitYaw(NMHDR *pNMHDR, LRESULT *pResult);
100 idDeclAF_Constraint*constraint;
102 //{{AFX_DATA(DialogAFConstraintUniversal)
103 CComboBox m_comboAnchorJoint;
107 CComboBox m_comboJoint1Shaft1;
108 CComboBox m_comboJoint2Shaft1;
111 CComboBox m_comboJoint1Shaft2;
112 CComboBox m_comboJoint2Shaft2;
116 float m_pyramidAngle1;
117 float m_pyramidAngle2;
118 CComboBox m_comboLimitJoint1;
119 CComboBox m_comboLimitJoint2;
125 static toolTip_t toolTips[];
128 void InitJointLists( void );