/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2006.12.05 * ³» ¿ë : ÁöÇü °ÇÃà ½ÇÇà * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "Doing.h" class cTerrainLeafNode; /// ÁöÇü ³ëµå °ÇÃà Á¤º¸ class cTerrainNodeBuildingInfo { public: cTerrainNodeBuildingInfo(); public: /// ¸®ÇÁ ³ëµå cTerrainLeafNode* mNode; /// Àû¿ë ¹üÀ§ (¸®ÇÁ ³ëµå³» Á¤Á¡ÀÇ À妽º) unsigned int mXBegin; unsigned int mYBegin; unsigned int mXEnd; unsigned int mYEnd; /// Undo Á¤º¸ /// ³ôÀ̰ª ¹è¿­ float* mUndoHeightArray; /// Redo Á¤º¸ /// ³ôÀ̰ª ¹è¿­ float* mRedoHeightArray; }; inline cTerrainNodeBuildingInfo::cTerrainNodeBuildingInfo() : mNode( 0 ) , mXBegin( 0 ) , mYBegin( 0 ) , mXEnd( 0 ) , mYEnd( 0 ) , mUndoHeightArray( 0 ) , mRedoHeightArray( 0 ) { } /// ÁöÇü °ÇÃà Á¤º¸ class cTerrainBuildingInfo { public: /// ³ëµå Á¤º¸ ¹è¿­ typedef tArray cNodeArray; cNodeArray mNodeArray; }; /// ÁöÇü ³ëµå °ÇÃà class cTerrainNodeBuilding { public: cTerrainNodeBuilding( const cTerrainNodeBuildingInfo& info ); ~cTerrainNodeBuilding(); void Undo(); void Redo(); public: /// ¸®ÇÁ ³ëµå cTerrainLeafNode* mNode; /// Àû¿ë ¹üÀ§ (¸®ÇÁ ³ëµå³» Á¤Á¡ÀÇ À妽º) unsigned int mXBegin; unsigned int mYBegin; unsigned int mXEnd; unsigned int mYEnd; /// Undo Á¤º¸ /// ³ôÀ̰ª ¹è¿­ float* mUndoHeightArray; /// Redo Á¤º¸ /// ³ôÀ̰ª ¹è¿­ float* mRedoHeightArray; }; /// ÁöÇü °ÇÃà class cTerrainBuilding : public cDoing { friend class cDoingManager; friend class cTerrain; private: cTerrainBuilding( const cTerrainBuildingInfo& info ); ~cTerrainBuilding(); void Undo(); void Redo(); private: /// ³ëµå ¹è¿­ typedef tArray cNodeArray; cNodeArray mNodeArray; };