/* ==================================================================== * ÆÄ ÀÏ : ModelInstance.h * ¸ñ Àû : ¸ðµ¨ ·ÎµùÀü¿¡ .kfm Á¤º¸¸¸À» ¹Ì¸® ·Î´çÇØ ³õ±â À§Çؼ­ ¸¸µç´Ù. * ÀÛ ¼º ÀÚ : À̹ý¼® * ÀÛ ¼º ÀÏ : 2006.5 * ÁÖÀÇ»çÇ× : °ÔÀÓÀÇ ½ÃÀÛÀü¿¡ ÇÊ¿äÇÑ ¸ðµ¨Á¤º¸¸¸ ¹Ì¸® ·ÎµùÇØ ³õ´Â´Ù. * =================================================================== */ #pragma once class cModelInstance // : public NiRefObject { public: ~cModelInstance(); /// kfmÆÄÀÏÀ» Àо ¸ðµ¨ ÀνºÅϽº¸¦ »ý¼ºÇÑ´Ù. static cModelInstance* Create( const char* kfmFileName ); /// ¾Ö´Ï¸ÞÀÌ¼Ç À妽º Á¤º¸¸¦ ´ã°íÀִ Ŭ·¡½º Á¦°ø NiKFMToolPtr GetKFMTool() { return mpKFMTool; } /// ¾Ö´Ï Á¤º¸¸¦ º¹»çÇØ¼­ Á¦°øÇÑ´Ù. NiSequenceData* CloneSequenceData( unsigned int eSequenceID ); protected: cModelInstance(); /// ·ÎµåµÈ kfmÆÄÀÏ Á¤º¸¸¦ ±â¹ÝÀ¸·Î ¸ðµ¨°ú ¾Ö´Ï ¹× È®ÀåÁ¤º¸¸¦ ¾ò´Â´Ù. bool Init( NiKFMTool* kfmTool, NiStream& stream ); /// ¾Ö´ÏÁ¤º¸ .kfÆÄÀÏ ·Îµù ¹× Ãß°¡ bool AddSequenceData( unsigned int eSequenceID, NiStream& stream, bool isLoadFileKF ); /// skined °´Ã¼¿¡ ´ëÇÑ ÇÈÅ·¿ë µ¥ÀÌÅ͸¦ »ý¼ºÇÑ´Ù... void CreatePickingData( NiAVObject* pobj ); protected: /// ¸ðµ¨ÀÇ ¸ðµç Á¤º¸¸¦ °¡Áö°í ÀÖ´Â °ÔÀӺ긮¿À Ŭ·¡½º NiKFMToolPtr mpKFMTool; /// º¹»çº»À» Á¦°øÇϱâ À§Çؼ­, ±âº»ÀûÀ¸·Î »ý¼ºÇÑ ¾Ö´Ï Á¤º¸ ÀúÀå¼Ò NiTPointerMap mSequenceDataMap; }; //NiSmartPointer(cModelInstance);