211 lines
5.4 KiB
C++
211 lines
5.4 KiB
C++
/*=========================================================================
|
|
*
|
|
* EDTdEdit.h : class EDT_DialogEdit
|
|
*
|
|
*
|
|
* Version 1.0
|
|
* Creation date
|
|
* Revision date
|
|
*
|
|
* Shaitan
|
|
*=======================================================================*/
|
|
#ifdef ACTIVE_EDITOR
|
|
|
|
#ifndef __DIALOGEDIT_HPP__
|
|
#define __DIALOGEDIT_HPP__
|
|
|
|
#include "EDTRes.h"
|
|
#include "EDTModif.hpp"
|
|
|
|
|
|
#define C_AxeX 0
|
|
#define C_AxeY 1
|
|
#define C_AxeZ 2
|
|
|
|
//**************************************
|
|
#ifndef CPA_EXPORT
|
|
#if defined(CPA_WANTS_IMPORT)
|
|
#define CPA_EXPORT __declspec(dllimport)
|
|
#elif defined(CPA_WANTS_EXPORT)
|
|
#define CPA_EXPORT __declspec(dllexport)
|
|
#else
|
|
#define CPA_EXPORT
|
|
#endif
|
|
#endif
|
|
//**************************************
|
|
|
|
class EDT_HierarchyEditor;
|
|
class EDT_SuperObject;
|
|
class CPA_Interface;
|
|
|
|
/*===========================================================================
|
|
* Description: EDT_DialogEdit dialog
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
|
|
class EDT_DialogEdit : public CFormView
|
|
{
|
|
protected:
|
|
EDT_HierarchyEditor *m_pEditor;
|
|
|
|
// super object
|
|
EDT_SuperObject *m_pEditedObject;
|
|
|
|
// move
|
|
EDT_ModifMove *m_pEditMove;
|
|
|
|
// position
|
|
MTH3D_tdstVector m_stTranslation;
|
|
MTH3D_tdstVector m_stAngles;
|
|
MTH3D_tdstVector m_stScales;
|
|
|
|
// flags for update
|
|
BOOL m_bUpdatingPos;
|
|
BOOL m_bUpdatingRot;
|
|
BOOL m_bUpdatingScale;
|
|
|
|
// flag for move
|
|
BOOL m_bGlobalMove;
|
|
|
|
BOOL m_bInitialised;
|
|
|
|
private:
|
|
// moves
|
|
void fn_vSetNewPosition (char cAxe);
|
|
void fn_vSetNewRotation (char cAxe);
|
|
void fn_vSetNewScale (char cAxe);
|
|
void fn_vRotateX (POS_tdstCompletePosition * pMatrix, GLI_tdxValue Angle);
|
|
void fn_vRotateY (POS_tdstCompletePosition * pMatrix, GLI_tdxValue Angle);
|
|
void fn_vRotateZ (POS_tdstCompletePosition * pMatrix, GLI_tdxValue Angle);
|
|
void fn_vConvertAnglesToRotateMatrix (POS_tdstCompletePosition * pMatrix, MTH3D_tdstVector * pAngles);
|
|
void fn_vConvertRotateMatrixToAngles (MTH3D_tdstVector * pAngles, POS_tdstCompletePosition * pMatrix);
|
|
|
|
public:
|
|
// parent editor
|
|
EDT_HierarchyEditor * GetParentEditor (void) { return m_pEditor; }
|
|
EDT_SuperObject * GetEditedSupObj (void) { return m_pEditedObject; }
|
|
|
|
CPA_Interface * GetInterface (void);
|
|
|
|
// standard constructor
|
|
EDT_DialogEdit (CWnd* pParent = NULL);
|
|
|
|
// dialog
|
|
void fn_vInitDialog (EDT_HierarchyEditor *pEditor, FRMBase *pFrame);
|
|
void fn_vUpdateDialog (void);
|
|
|
|
void fn_vUpdatePosition (void);
|
|
void fn_vUpdateRotation (void);
|
|
void fn_vUpdateScale (void);
|
|
|
|
void fn_vUpdateSuperObject (void);
|
|
void fn_vUpdateObject (void);
|
|
void fn_vUpdateParent (void);
|
|
|
|
void fn_vSendMessageMove (void);
|
|
|
|
BOOL fn_bCanTranslate (void);
|
|
BOOL fn_bCanRotate (void);
|
|
BOOL fn_bCanScale (void);
|
|
//ANNECY Shaitan SPOFlags 17/02/98
|
|
BOOL fn_bZoomForScale (void);
|
|
//ENDANNECY Shaitan SPOFlags
|
|
BOOL fn_bCanRenameObject (void);
|
|
BOOL fn_bCanRenameSuperObject (void);
|
|
|
|
|
|
//ROMTEAM StickObjects (Nicolae Suparatu 10/02/98)
|
|
void fn_vSetNewPositionAndRotation (EDT_SuperObject *obj, POS_tdstCompletePosition matrix);
|
|
//ENDROMTEAM StickObjects (Nicolae Suparatu)
|
|
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(EDT_DialogEdit)
|
|
enum { IDD = EDT_IDD_DIALOGEDIT };
|
|
// super-object
|
|
CEdit m_cSupObjName;
|
|
CButton m_cSupObjGo;
|
|
CStatic m_cSupObjOwner;
|
|
CStatic m_cSupObjLevel;
|
|
//ANNECY CO SPOFLAG 03/02/98
|
|
CButton m_cSupObjFlags;
|
|
//ENDANNECY CO SPOFLAG
|
|
//ANNECY Shaitan Transparency 26/03/98 {
|
|
CEdit m_cEditTransparency;
|
|
CSliderCtrl m_cSliderTransparency;
|
|
//ENDANNECY Shaitan Transparency }
|
|
CButton m_cTemp;
|
|
// object
|
|
CEdit m_cObjectName;
|
|
CStatic m_cObjectType, m_cObjectOwner;
|
|
CStatic m_cObjectDesc;
|
|
// parent
|
|
CStatic m_cParentName;
|
|
CStatic m_cParentObject;
|
|
CStatic m_cParentType, m_cParentOwner;
|
|
CButton m_cParentGo;
|
|
// position
|
|
CEdit m_cPosX, m_cPosY, m_cPosZ;
|
|
CEdit m_cScaleX, m_cScaleY, m_cScaleZ;
|
|
CEdit m_cRotX, m_cRotY, m_cRotZ;
|
|
CSliderCtrl m_cSliderX, m_cSliderY, m_cSliderZ;
|
|
CButton m_cGlobalMode, m_cApply;
|
|
// default button
|
|
CButton m_cDefault;
|
|
//}}AFX_DATA
|
|
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(EDT_DialogEdit)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(EDT_DialogEdit)
|
|
afx_msg void OnChangeSupObjName();
|
|
afx_msg void OnObjectGo();
|
|
//ANNECY CO SPOFLAG 03/02/98
|
|
afx_msg void OnFlags();
|
|
//ENDANNECY CO SPOFLAG
|
|
//ANNECY Shaitan Transparency 26/03/98 {
|
|
afx_msg void OnChangeTransparency();
|
|
afx_msg void OnHScroll (UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
//ENDANNECY Shaitan Transparency }
|
|
|
|
afx_msg void OnChangeEditName();
|
|
afx_msg void OnLink();
|
|
|
|
afx_msg void OnParentGo();
|
|
|
|
afx_msg void OnChangePosx();
|
|
afx_msg void OnChangePosy();
|
|
afx_msg void OnChangePosz();
|
|
afx_msg void OnChangeScalex();
|
|
afx_msg void OnChangeScaley();
|
|
afx_msg void OnChangeScalez();
|
|
afx_msg void OnChangeRotx();
|
|
afx_msg void OnChangeRoty();
|
|
afx_msg void OnChangeRotz();
|
|
afx_msg void OnVScroll (UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
|
|
afx_msg void OnGlobalMode();
|
|
afx_msg void OnApply();
|
|
|
|
afx_msg void OnDefaultButton();
|
|
afx_msg void OnSize(UINT, int, int);
|
|
afx_msg void OnDestroy();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
#endif //__DIALOGEDIT_HPP__
|
|
#endif // ACTIVE_EDITOR
|