/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2006.12.13 * ³» ¿ë : ¿ÀºêÁ§Æ® ¼±Åà ½ÇÇà * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "Doing.h" class cStaticSceneNode; /// ¿ÀºêÁ§Æ® ¼±Åà Á¤º¸ class cObjectSelectingInfo { public: /// ¿ÀºêÁ§Æ® Á¤º¸ class cObjectInfo { public: /// Àå¸é ³ëµå cStaticSceneNode* mNode; /// º¯È¯ NiPoint3 mTranslate; NiMatrix3 mRotate; float mScale; }; public: cObjectSelectingInfo(); void Clear(); public: /// ±×·ì ¿ÀºêÁ§Æ® Á¤º¸ NiPoint3 mTranslate; NiMatrix3 mRotate; float mScale; /// ¿ÀºêÁ§Æ® ¼ö unsigned int mNumObjects; /// ¿ÀºêÁ§Æ® Á¤º¸ ¹è¿­ cObjectInfo* mObjectInfos; }; inline cObjectSelectingInfo::cObjectSelectingInfo() : mTranslate( NiPoint3::ZERO ) , mRotate( NiMatrix3::IDENTITY ) , mScale( 1.0f ) , mNumObjects( 0 ) , mObjectInfos( 0 ) { } inline void cObjectSelectingInfo::Clear() { delete [] mObjectInfos; } /// ¿ÀºêÁ§Æ® ¼±Åà class cObjectSelecting : public cDoing { friend class cDoingManager; friend class cObjectGroup; private: cObjectSelecting( const cObjectSelectingInfo& undo, const cObjectSelectingInfo& redo ); ~cObjectSelecting(); void Undo(); void Redo(); private: /// Undo Á¤º¸ cObjectSelectingInfo mUndo; /// Redo Á¤º¸ cObjectSelectingInfo mRedo; };