reman3/Rayman_X/cpa/public/OGD/ITBox3D.hpp

86 lines
2.3 KiB
C++

/*ROMTEAM WorldEditor*/
/*//////////////////////////////////////////////////////////////////////////////////////*/
/* File : ITBox3D.hpp: interface for the ITBox3D class.*/
/* Author : Ionut Grozea*/
/* Date : 97.11*/
/* Description :*/
/*//////////////////////////////////////////////////////////////////////////////////////*/
#ifndef __ITBox3D_HPP__
#define __ITBox3D_HPP__
/****************************************/
#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
/****************************************/
/****************************************/
/* classes*/
/****************************************/
/*#include "3dinterf.hpp" */
class ITBox3D;
class CPA_EXPORT ITBoxUndo : public CPA_Modif
{
float m_fX;
float m_fY;
float m_fZ;
ITBox3D *m_pBox;
BOOL m_bFirst;
public:
ITBoxUndo(ITBox3D *box);
BOOL Do(){ return m_bFirst ? TRUE : Undo();}
BOOL Undo();
};
class CPA_EXPORT ITBox3D : public Shape3D
{
/* data*/
private:
/* functions*/
private:
MTH3D_tdstVector m_stCenterInMousePlane;
public:
/* void SetScale(float fScale);*/
void SetScaleX(float fScale);
void SetScaleY(float fScale);
void SetScaleZ(float fScale);
/*ROMTEAM WorldEditor (Cristian Stegaru 01/98)*/
void SetScaleXYZ(float fXScale, float fYScale, float fZScale);
virtual void mfn_vSave (CString csEPOFile, CString csEPOName, int iIdx);
virtual void mfn_vLoad (CString csEPOFile, CString csEPOName);
/*ENDROMTEAM WorldEditor (Cristian Stegaru)*/
ITBox3D (CPA_EditorBase *_p_oEditor, float scale = 1.f ,const CString _csName = "", tdeSaveStatus _eStatus = E_ss_NoSave);
void CommonITBox3D();
void CreateITBox3D();
BOOL m_Flag;
float m_fGlobal;
float m_fX;
float m_fY;
float m_fZ;
float m_fXold;
float m_fYold;
float m_fZold;
ACP_tdxHandleOfElement GetHElement();
BOOL _OnLButtonDblClk (UINT nFlags, tdstMousePos *p_stPos, ACP_tdxIndex xIndex, HIE_tdstPickInfo *p_stPickInfo);
BOOL _OnMouseMove(UINT nFlags, tdstMousePos * p_stPos, MTH3D_tdstVector * pDeplacement);
BOOL _OnLButtonDown(UINT nFlags, tdstMousePos * p_stPos, ACP_tdxIndex xIndex, HIE_tdstPickInfo * p_stObject);
~ITBox3D();
CPA_Modif *GetUndoData(){ return new ITBoxUndo(this); }
};
#endif /**/