/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2006.12.05 * ³» ¿ë : ÁöÇü µðÅ×ÀÏ ½ÇÇà * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "Doing.h" class cTerrainLeafNode; /// ÁöÇü ³ëµå µðÅ×ÀÏ Á¤º¸ class cTerrainNodeDetailingInfo { public: cTerrainNodeDetailingInfo(); public: /// ¸®ÇÁ ³ëµå cTerrainLeafNode* mNode; /// Àû¿ë ¹üÀ§ (¸®ÇÁ ³ëµå³» Á¤Á¡ÀÇ À妽º) unsigned int mXBegin; unsigned int mYBegin; unsigned int mXEnd; unsigned int mYEnd; /// Undo Á¤º¸ /// ¾ËÆÄ ¹è¿­ NiPoint3* mUndoAlphaArray; /// Redo Á¤º¸ /// ¾ËÆÄ ¹è¿­ NiPoint3* mRedoAlphaArray; }; inline cTerrainNodeDetailingInfo::cTerrainNodeDetailingInfo() : mNode( 0 ) , mXBegin( 0 ) , mYBegin( 0 ) , mXEnd( 0 ) , mYEnd( 0 ) , mUndoAlphaArray( 0 ) , mRedoAlphaArray( 0 ) { } /// ÁöÇü µðÅ×ÀÏ Á¤º¸ class cTerrainDetailingInfo { public: /// ³ëµå Á¤º¸ ¹è¿­ typedef tArray cNodeArray; cNodeArray mNodeArray; }; /// ÁöÇü ³ëµå µðÅ×ÀÏ class cTerrainNodeDetailing { public: cTerrainNodeDetailing( const cTerrainNodeDetailingInfo& info ); ~cTerrainNodeDetailing(); void Undo(); void Redo(); public: /// ¸®ÇÁ ³ëµå cTerrainLeafNode* mNode; /// Àû¿ë ¹üÀ§ (¸®ÇÁ ³ëµå³» Á¤Á¡ÀÇ À妽º) unsigned int mXBegin; unsigned int mYBegin; unsigned int mXEnd; unsigned int mYEnd; /// Undo Á¤º¸ /// ¾ËÆÄ ¹è¿­ NiPoint3* mUndoAlphaArray; /// Redo Á¤º¸ /// ¾ËÆÄ ¹è¿­ NiPoint3* mRedoAlphaArray; }; /// ÁöÇü µðÅ×ÀÏ class cTerrainDetailing : public cDoing { friend class cDoingManager; friend class cTerrain; private: cTerrainDetailing( const cTerrainDetailingInfo& info ); ~cTerrainDetailing(); void Undo(); void Redo(); private: /// ³ëµå ¹è¿­ typedef tArray cNodeArray; cNodeArray mNodeArray; };