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

74 lines
2.4 KiB
C++

/*//////////////////////////////////////////////////////////////////////////////////////*/
/* File : Altimap3D.hpp: interface for the ITSphere3D class.*/
/* Author : Cristi Petrescu*/
/* Date : 98.02.05*/
/* Description :*/
/*//////////////////////////////////////////////////////////////////////////////////////*/
#ifndef __Altimap3D_HPP__
#define __Altimap3D_HPP__
#ifdef USE_ALTIMAPS
#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 Altimap3D;
class CPA_EXPORT AltimapUndo : public CPA_Modif
{
/* the altimap object*/
Altimap3D *m_pAltimap3D;
/* the undo info*/
GEO_tdstElementAltimap *m_p_stAltimapUndo;
public:
AltimapUndo(Altimap3D *pAltimap3D);
BOOL Do () {return Undo ();};
BOOL Undo ();
~AltimapUndo (void);
};
class CPA_EXPORT Altimap3D : public Shape3D
{
friend class AltimapUndo;
private:
/*BOOL m_bNewAltimap; // if this is false, then try to adjust the old altimap*/
AltimapUndo *m_pAltimapUndo;
void CommonAltimap3D (ACP_tdxIndex xWidth = 10, ACP_tdxIndex xDepth = 10, MTH_tdxReal xSquareDimX = 1, MTH_tdxReal xSquareDimY = 1);
public:
/*Set the global parameters*/
void SetOrigin (MTH3D_tdstVector st3DPoint);
void SetWidth (ACP_tdxIndex xWidth);
void SetDepth (ACP_tdxIndex xDepth);
void SetSquareDimX (MTH_tdxReal xSquareDimX);
void SetSquareDimY (MTH_tdxReal xSquareDimY);
/*Get the global parameters*/
MTH3D_tdstVector GetOrigin (void);
ACP_tdxIndex GetWidth (void);
ACP_tdxIndex GetDepth (void);
MTH_tdxReal GetSquareDimX (void);
MTH_tdxReal GetSquareDimY (void);
BOOL _OnLButtonDblClk (UINT nFlags, tdstMousePos *p_stPos, ACP_tdxIndex xIndex, HIE_tdstPickInfo *p_stPickInfo);
/* constructors & destructors*/
Altimap3D (CPA_EditorBase *_p_oEditor, const CString _csName = "", tdeSaveStatus _eStatus = E_ss_NoSave);
Altimap3D (CPA_EditorBase *_p_oEditor, ACP_tdxIndex xWidth = 10, ACP_tdxIndex xDepth = 10, MTH_tdxReal xSquareDimX = 1, MTH_tdxReal xSquareDimY = 1, const CString _csName = "", tdeSaveStatus _eStatus = E_ss_NoSave);
~Altimap3D();
CPA_Modif *GetUndoData() {return m_pAltimapUndo = new AltimapUndo (this);};
};
#endif /* USE_ALTIMAPS*/
#endif /* */