/*//////////////////////////////////////////////////////////////////////////////////////*/ /* 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 /* */