- Timestamp:
- 03/31/06 17:29:32 (19 years ago)
- Location:
- GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCBillboard.h
r700 r721 6 6 namespace BBC { 7 7 8 class _BBCExport Billboard { 8 // Forward declarations 9 class Billboard; 10 11 namespace boost 12 { 13 void intrusive_ptr_add_ref(Billboard * p); 14 void intrusive_ptr_release(Billboard * p); 15 }; 16 17 18 class _BBCExport Billboard 19 { 20 private: 21 long references; 22 friend void boost::intrusive_ptr_add_ref(Billboard * p); 23 friend void boost::intrusive_ptr_release(Billboard * p); 24 9 25 public: 10 26 Billboard(); 11 27 12 ~Billboard();28 virtual ~Billboard(); 13 29 14 30 … … 25 41 protected: 26 42 27 BillboardClusterData *mBillboardClusterData;43 BillboardClusterDataPtr mBillboardClusterData; 28 44 29 45 public: 30 46 31 void setBillboardClusterData(BillboardClusterData *value);47 void setBillboardClusterData(BillboardClusterDataPtr value); 32 48 33 BillboardClusterData *getBillboardClusterData();49 BillboardClusterDataPtr getBillboardClusterData(); 34 50 35 51 }; 36 52 53 // class specific addref/release implementation 54 // the two function overloads must be in the boost namespace on most compilers: 55 namespace boost 56 { 57 inline void intrusive_ptr_add_ref(Billboard * p) 58 { 59 // increment reference count of object *p 60 ++(p->references); 61 } 62 63 64 65 inline void intrusive_ptr_release(Billboard * p) 66 { 67 // decrement reference count, and delete object when reference count reaches 0 68 if (--(p->references) == 0) 69 delete p; 70 } 71 } // namespace boost 72 73 typedef ::boost::intrusive_ptr<Billboard> BillboardPtr; 74 37 75 } 38 76 #endif -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCBillboardCloud.h
r709 r721 13 13 BillboardCloud(); 14 14 15 ~BillboardCloud();15 virtual ~BillboardCloud(); 16 16 17 17 18 18 protected: 19 std::vector<Billboard *> mBillboardList;19 std::vector<BillboardPtr> mBillboardList; 20 20 21 std::vector<BillboardGroup *> mBillboardGroupList;21 std::vector<BillboardGroupPtr> mBillboardGroupList; 22 22 23 23 public: 24 std::vector<Billboard *>* getBillboardList();24 std::vector<BillboardPtr>* getBillboardList(); 25 25 26 void setBillboardList(std::vector<Billboard *> &value);26 void setBillboardList(std::vector<BillboardPtr> &value); 27 27 28 void addBillboard(Billboard *value);28 void addBillboard(BillboardPtr value); 29 29 30 30 void removeBillboard(unsigned int value); 31 31 32 Billboard *getBillboard(unsigned int value);32 BillboardPtr getBillboard(unsigned int value); 33 33 34 34 unsigned int BillboardCloud::getNumBillboards(); … … 42 42 unsigned int getNumBillboardGroups(); 43 43 44 BillboardGroup *getBillboardGroup(unsigned int iBillboardGroup);44 BillboardGroupPtr getBillboardGroup(unsigned int iBillboardGroup); 45 45 46 void addBillboardGroup(BillboardGroup *value);46 void addBillboardGroup(BillboardGroupPtr value); 47 47 48 48 void removeBillboardGroup(unsigned int value); 49 49 50 50 protected: 51 Entity *mEntity;51 EntityPtr mEntity; 52 52 53 53 54 54 public: 55 Entity *getEntity();55 EntityPtr getEntity(); 56 56 57 void setEntity(Entity *value);57 void setEntity(EntityPtr value); 58 58 59 59 }; -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCBillboardCloudGenerator.h
r700 r721 11 11 class _BBCExport BillboardCloudGenerator { 12 12 public: 13 14 BillboardCloudGenerator(); 15 16 virtual ~BillboardCloudGenerator(); 17 13 18 void generate(); 14 19 -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCBillboardCloudSerializer.h
r700 r721 17 17 BillboardCloudSerializer(); 18 18 19 ~BillboardCloudSerializer();19 virtual ~BillboardCloudSerializer(); 20 20 21 21 -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCBillboardCloudUVMapper.h
r709 r721 66 66 void removeClusterList(unsigned int iClusterList); 67 67 68 void clear();68 void shutdown(); 69 69 70 70 unsigned int getNumClusterLists(); … … 74 74 BillboardCloudUVMapper(); 75 75 76 ~BillboardCloudUVMapper();76 virtual ~BillboardCloudUVMapper(); 77 77 78 78 }; -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCBillboardClusterData.h
r700 r721 6 6 namespace BBC { 7 7 8 class _BBCExport BillboardClusterData { 8 // Fordward declaration... 9 class BillboardClusterData; 10 11 namespace boost 12 { 13 void intrusive_ptr_add_ref(BillboardClusterData * p); 14 void intrusive_ptr_release(BillboardClusterData * p); 15 }; 16 17 class _BBCExport BillboardClusterData 18 { 19 private: 20 long references; 21 friend void boost::intrusive_ptr_add_ref(BillboardClusterData * p); 22 friend void boost::intrusive_ptr_release(BillboardClusterData * p); 23 9 24 public: 10 25 BillboardClusterData(); 11 26 12 ~BillboardClusterData();27 virtual ~BillboardClusterData(); 13 28 14 29 void setNormal(Ogre::Vector3 value); … … 20 35 float getD(); 21 36 22 EntityCluster *getEntityCluster();37 EntityClusterPtr getEntityCluster(); 23 38 24 void setEntityCluster(EntityCluster *value);39 void setEntityCluster(EntityClusterPtr value); 25 40 26 41 virtual void readBillboardClusterData(TiXmlNode *parentNode); … … 47 62 48 63 protected: 49 EntityCluster *mEntityCluster;64 EntityClusterPtr mEntityCluster; 50 65 51 66 Ogre::Vector3 mAxisX; … … 70 85 }; 71 86 87 // class specific addref/release implementation 88 // the two function overloads must be in the boost namespace on most compilers: 89 namespace boost 90 { 91 inline void intrusive_ptr_add_ref(BillboardClusterData * p) 92 { 93 // increment reference count of object *p 94 ++(p->references); 95 } 96 97 98 99 inline void intrusive_ptr_release(BillboardClusterData * p) 100 { 101 // decrement reference count, and delete object when reference count reaches 0 102 if (--(p->references) == 0) 103 delete p; 104 } 105 } // namespace boost 106 107 typedef ::boost::intrusive_ptr<BillboardClusterData> BillboardClusterDataPtr; 108 72 109 } 73 110 #endif -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCBillboardGroup.h
r709 r721 6 6 namespace BBC { 7 7 8 class BillboardGroup { 8 typedef struct 9 { 10 unsigned int billboardHandle; 11 unsigned int width; 12 unsigned int height; 13 Ogre::Vector2 min; 14 Ogre::Vector2 max; 15 } BillboardGroupedInfo; 16 17 // Forward declarations 18 class BillboardGroup; 19 20 21 namespace boost 22 { 23 void intrusive_ptr_add_ref(BillboardGroup * p); 24 void intrusive_ptr_release(BillboardGroup * p); 25 }; 26 27 class BillboardGroup 28 { 29 private: 30 long references; 31 friend void boost::intrusive_ptr_add_ref(BillboardGroup * p); 32 friend void boost::intrusive_ptr_release(BillboardGroup * p); 33 9 34 protected: 10 35 std::vector<unsigned int> mBillboardHandleList; 11 36 12 37 public: 38 39 BillboardGroup(); 40 41 virtual ~BillboardGroup(); 42 13 43 unsigned int getBillboardHandle(unsigned int iBillboard); 14 44 … … 19 49 }; 20 50 51 // class specific addref/release implementation 52 // the two function overloads must be in the boost namespace on most compilers: 53 namespace boost 54 { 55 inline void intrusive_ptr_add_ref(BillboardGroup * p) 56 { 57 // increment reference count of object *p 58 ++(p->references); 59 } 60 61 62 63 inline void intrusive_ptr_release(BillboardGroup * p) 64 { 65 // decrement reference count, and delete object when reference count reaches 0 66 if (--(p->references) == 0) 67 delete p; 68 } 69 } // namespace boost 70 71 typedef ::boost::intrusive_ptr<BillboardGroup> BillboardGroupPtr; 72 21 73 } 22 74 #endif -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCEntity.h
r700 r721 4 4 #include <BBCPrerequisites.h> 5 5 #include <BBCSubEntity.h> 6 #include <BBCMesh.h> 6 7 7 8 namespace BBC { 8 9 10 // Forward declarations 11 class Entity; 12 13 14 namespace boost 15 { 16 void intrusive_ptr_add_ref(Entity * p); 17 void intrusive_ptr_release(Entity * p); 18 }; 19 9 20 class _BBCExport Entity 10 21 { 22 private: 23 long references; 24 friend void boost::intrusive_ptr_add_ref(Entity * p); 25 friend void boost::intrusive_ptr_release(Entity * p); 26 11 27 protected: 12 28 13 typedef std::vector<SubEntity *> SubEntityList;29 typedef std::vector<SubEntityPtr> SubEntityList; 14 30 15 31 unsigned int mEntityHandle; … … 19 35 SubEntityList mSubEntityList; 20 36 21 Ogre::Mesh *mMesh;37 MeshPtr mMesh; 22 38 23 39 public: … … 25 41 Entity(); 26 42 27 ~Entity();43 virtual ~Entity(); 28 44 29 45 void createSubEntity(); 30 46 31 void addSubEntity(SubEntity *value);47 void addSubEntity(SubEntityPtr value); 32 48 33 SubEntity *getSubEntity(unsigned int index);49 SubEntityPtr getSubEntity(unsigned int index); 34 50 35 51 void removeSubEntity(unsigned int index); 36 52 37 virtual Ogre::Mesh*getMesh();53 virtual MeshPtr getMesh(); 38 54 39 virtual void setMesh( Ogre::Mesh *value);55 virtual void setMesh(MeshPtr value); 40 56 41 57 void loadMesh(bool mergeSubMeshes); … … 65 81 }; 66 82 83 // class specific addref/release implementation 84 // the two function overloads must be in the boost namespace on most compilers: 85 namespace boost 86 { 87 inline void intrusive_ptr_add_ref(Entity * p) 88 { 89 // increment reference count of object *p 90 ++(p->references); 91 } 92 93 94 95 inline void intrusive_ptr_release(Entity * p) 96 { 97 // decrement reference count, and delete object when reference count reaches 0 98 if (--(p->references) == 0) 99 delete p; 100 } 101 } // namespace boost 102 103 typedef ::boost::intrusive_ptr<Entity> EntityPtr; 104 67 105 } 68 106 #endif -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCEntityCluster.h
r700 r721 11 11 namespace BBC { 12 12 13 class _BBCExport EntityCluster { 13 // Forward declarations 14 class EntityCluster; 15 16 17 namespace boost 18 { 19 void intrusive_ptr_add_ref(EntityCluster * p); 20 void intrusive_ptr_release(EntityCluster * p); 21 }; 22 23 class _BBCExport EntityCluster 24 { 25 private: 26 long references; 27 friend void boost::intrusive_ptr_add_ref(EntityCluster * p); 28 friend void boost::intrusive_ptr_release(EntityCluster * p); 29 14 30 public: 15 31 EntityCluster(); 16 32 17 ~EntityCluster();33 virtual ~EntityCluster(); 18 34 19 EntityClusterData* getEntityClusterData(unsigned int value);35 void removeEntityClusterData(unsigned int value); 20 36 21 void addEntityClusterData(EntityClusterData *value); 37 EntityClusterDataPtr getEntityClusterData(unsigned int value); 38 39 void addEntityClusterData(EntityClusterDataPtr value); 22 40 23 41 void removeEntitClusterData(unsigned int value); 24 42 25 EntityDistribution *getEntityDistribution();43 EntityDistributionPtr getEntityDistribution(); 26 44 27 void setEntityDistribution(EntityDistribution *value);45 void setEntityDistribution(EntityDistributionPtr value); 28 46 29 47 protected: 30 48 31 EntityDistribution *mEntityDistribution;49 EntityDistributionPtr mEntityDistribution; 32 50 33 std::vector<EntityClusterData *> mEntityClusterDataList;51 std::vector<EntityClusterDataPtr> mEntityClusterDataList; 34 52 35 53 std::vector<unsigned int> mBillboarHandle; 36 54 37 Entity *mEntity;55 EntityPtr mEntity; 38 56 39 57 unsigned int mBillboardHandle; … … 41 59 public: 42 60 43 Entity *getEntity();61 EntityPtr getEntity(); 44 62 45 void setEntity(Entity *value);63 void setEntity(EntityPtr value); 46 64 47 65 unsigned int getNumEntitiesClusterData(); … … 55 73 }; 56 74 75 // class specific addref/release implementation 76 // the two function overloads must be in the boost namespace on most compilers: 77 namespace boost 78 { 79 inline void intrusive_ptr_add_ref(EntityCluster * p) 80 { 81 // increment reference count of object *p 82 ++(p->references); 83 } 84 85 86 87 inline void intrusive_ptr_release(EntityCluster * p) 88 { 89 // decrement reference count, and delete object when reference count reaches 0 90 if (--(p->references) == 0) 91 delete p; 92 } 93 } // namespace boost 94 95 typedef ::boost::intrusive_ptr<EntityCluster> EntityClusterPtr; 96 97 57 98 } 58 99 #endif -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCEntityClusterData.h
r700 r721 6 6 namespace BBC { 7 7 8 class _BBCExport EntityClusterData { 8 // Fordward declaration... 9 class EntityClusterData; 10 11 namespace boost 12 { 13 void intrusive_ptr_add_ref(EntityClusterData * p); 14 void intrusive_ptr_release(EntityClusterData * p); 15 }; 16 17 class _BBCExport EntityClusterData 18 { 19 private: 20 long references; 21 friend void boost::intrusive_ptr_add_ref(EntityClusterData * p); 22 friend void boost::intrusive_ptr_release(EntityClusterData * p); 23 9 24 public: 10 25 EntityClusterData(); 11 26 12 ~EntityClusterData();27 virtual ~EntityClusterData(); 13 28 14 void setEntity(Entity *value);29 void setEntity(EntityPtr value); 15 30 16 Entity *getEntity();31 EntityPtr getEntity(); 17 32 18 33 protected: 19 Entity *mEntity;34 EntityPtr mEntity; 20 35 21 36 }; 22 37 38 // class specific addref/release implementation 39 // the two function overloads must be in the boost namespace on most compilers: 40 namespace boost 41 { 42 inline void intrusive_ptr_add_ref(EntityClusterData * p) 43 { 44 // increment reference count of object *p 45 ++(p->references); 46 } 47 48 49 50 inline void intrusive_ptr_release(EntityClusterData * p) 51 { 52 // decrement reference count, and delete object when reference count reaches 0 53 if (--(p->references) == 0) 54 delete p; 55 } 56 } // namespace boost 57 58 typedef ::boost::intrusive_ptr<EntityClusterData> EntityClusterDataPtr; 59 23 60 } 24 61 #endif -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCEntityDistribution.h
r700 r721 6 6 namespace BBC { 7 7 8 class _BBCExport EntityDistribution { 8 // Forward declarations 9 class EntityDistribution; 10 11 12 namespace boost 13 { 14 void intrusive_ptr_add_ref(EntityDistribution * p); 15 void intrusive_ptr_release(EntityDistribution * p); 16 }; 17 18 class _BBCExport EntityDistribution 19 { 20 private: 21 long references; 22 friend void boost::intrusive_ptr_add_ref(EntityDistribution * p); 23 friend void boost::intrusive_ptr_release(EntityDistribution * p); 24 9 25 protected: 10 std::vector<Entity *> mEntityList;26 std::vector<EntityPtr> mEntityList; 11 27 12 28 public: 13 Entity* getEntity(unsigned int value);29 EntityDistribution(); 14 30 15 void addEntity(Entity *value); 31 virtual ~EntityDistribution(); 32 33 EntityPtr getEntity(unsigned int value); 34 35 void addEntity(EntityPtr value); 16 36 17 37 void removeEntity(unsigned int value); … … 20 40 }; 21 41 42 43 // class specific addref/release implementation 44 // the two function overloads must be in the boost namespace on most compilers: 45 namespace boost 46 { 47 inline void intrusive_ptr_add_ref(EntityDistribution * p) 48 { 49 // increment reference count of object *p 50 ++(p->references); 51 } 52 53 54 55 inline void intrusive_ptr_release(EntityDistribution * p) 56 { 57 // decrement reference count, and delete object when reference count reaches 0 58 if (--(p->references) == 0) 59 delete p; 60 } 61 } // namespace boost 62 63 typedef ::boost::intrusive_ptr<EntityDistribution> EntityDistributionPtr; 64 22 65 } 23 66 #endif -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCEntityDistributionGenerator.h
r700 r721 13 13 EntityDistribution *mEntityDistribution; 14 14 15 Entity *mEntity;15 EntityPtr mEntity; 16 16 17 17 public: … … 20 20 void init(); 21 21 22 Entity *getEntity();22 EntityPtr getEntity(); 23 23 24 void setEntity(Entity *value);24 void setEntity(EntityPtr value); 25 25 26 26 void setDistribution(EntityDistribution *value); -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCEntityDistributionSerializer.h
r700 r721 10 10 class _BBCExport EntityDistributionSerializer: public BBC::XmlSerializer { 11 11 protected: 12 Entity *mEntity;12 EntityPtr mEntity; 13 13 14 14 public: 15 Entity *getEntity();15 EntityPtr getEntity(); 16 16 17 void setEntity(Entity *value);17 void setEntity(EntityPtr value); 18 18 19 19 void generate(); … … 23 23 EntityDistributionSerializer(); 24 24 25 ~EntityDistributionSerializer();25 virtual ~EntityDistributionSerializer(); 26 26 27 27 }; -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCManager.h
r700 r721 4 4 #include <BBCPrerequisites.h> 5 5 #include <BBCSingleton.h> 6 7 //#include <ExampleFrameListener.h>8 6 9 7 namespace BBC { … … 19 17 static Manager* getSingletonPtr(void); 20 18 21 void initRenderWindow(); 22 23 Ogre::Mesh* loadMesh(Ogre::String name); 19 Ogre::Mesh* loadMesh(Ogre::String folderName, Ogre::String fileName); 24 20 25 21 Ogre::Mesh* loadXMLMesh(Ogre::String name); 26 27 void loadResources();28 22 29 23 void saveMesh(Ogre::String name); … … 40 34 41 35 protected: 42 Ogre::Root* mOgreRoot; 43 Ogre::MeshSerializer *mMeshSerializer; 44 Ogre::XMLMeshSerializer *mXMLMeshSerializer; 45 Ogre::DefaultHardwareBufferManager *mDefaultHardwareBufferManager; 46 Ogre::RenderWindow *mWnd; 47 Ogre::SceneManager *mScene; 48 Ogre::RenderSystem *mRSys; 49 Ogre::Camera *mCam; 50 Ogre::Viewport *mView; 51 Ogre::Math *mMath; 52 //ExampleFrameListener *mFrameListener; 36 53 37 }; 54 38 -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCOgreMeshSerializer.h
r700 r721 4 4 #include <BBCPrerequisites.h> 5 5 #include <BBCEntity.h> 6 #include <BBCMesh.h> 6 7 7 8 namespace BBC { … … 14 15 virtual ~OgreMeshSerializer(); 15 16 16 void setEntity(Entity *entity);17 void setEntity(EntityPtr entity); 17 18 18 Entity *getEntity();19 EntityPtr getEntity(); 19 20 20 21 void exportMesh(const Ogre::String& fileName, bool mergeSubMeshes, bool tangents); … … 22 23 protected: 23 24 24 Entity *mEntity;25 EntityPtr mEntity; 25 26 26 void buildMesh( Ogre::Mesh*pMesh, bool mergeSubmeshes);27 void buildMesh(MeshPtr pMesh, bool mergeSubmeshes); 27 28 28 void generateEntityAABB( Ogre::Mesh*pMesh);29 void generateEntityAABB(MeshPtr pMesh); 29 30 30 void exportSubMeshes( Ogre::Mesh*pMesh);31 void exportSubMeshes(MeshPtr pMesh); 31 32 32 void exportSubMesh( Ogre::Mesh* pMesh, SubEntity *subEntity);33 void exportSubMesh(MeshPtr pMesh, SubEntityPtr subEntity); 33 34 34 template <typename T> void writeIndexes(T* buf, SubEntity *subEntity);35 template <typename T> void writeIndexes(T* buf, SubEntityPtr subEntity); 35 36 36 37 void createVertexBuffer(Ogre::VertexData* vd, unsigned short bufIdx, UniqueVertexList *uniqueVertexList); -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCPrerequisites.h
r700 r721 23 23 #include <OgreVertexBoneAssignment.h> 24 24 #include <OgreAxisAlignedBox.h> 25 26 25 #include <OgreKeyEvent.h> 27 26 #include <OgreEventListeners.h> … … 31 30 #include <OgrePixelFormat.h> 32 31 #include <OgreGpuProgram.h> 32 #include <OgreSharedPtr.h> 33 34 #include <OBA.h> 35 36 #include <boost/smart_ptr.hpp> 33 37 34 38 //#include <ospace/stl/hashset.h> … … 36 40 37 41 #define _BBCExport __declspec( dllexport ) 42 38 43 #endif -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCSingleton.h
r700 r721 1 #ifndef __ SINGLETON_H__2 #define __ SINGLETON_H__1 #ifndef __BBCSINGLETON_H__ 2 #define __BBCSINGLETON_H__ 3 3 4 4 namespace BBC { -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCSubEntity.h
r700 r721 5 5 6 6 namespace BBC { 7 7 8 8 class _BBCExport UniqueVertex 9 9 { … … 24 24 typedef std::vector<UniqueVertex> UniqueVertexList; 25 25 26 class _BBCExport SubEntity { 27 public: 26 // Fordward declaration 27 class SubEntity; 28 29 namespace boost 30 { 31 void intrusive_ptr_add_ref(SubEntity * p); 32 void intrusive_ptr_release(SubEntity * p); 33 }; 34 35 class _BBCExport SubEntity 36 { 37 private: 38 long references; 39 40 friend void boost::intrusive_ptr_add_ref(SubEntity * p); 41 42 friend void boost::intrusive_ptr_release(SubEntity * p); 43 44 protected: 28 45 29 46 typedef std::vector<unsigned short int> TextureCoordSetsDimensions; 47 30 48 typedef std::vector<Ogre::Vector3> Indices; 31 32 protected:33 49 34 50 UniqueVertexList mUniqueVertexList; … … 56 72 SubEntity(); 57 73 58 ~SubEntity();74 virtual ~SubEntity(); 59 75 60 76 void enableTangents(bool value); … … 129 145 130 146 void generateAABBox(); 147 148 const char *GetClassName(void) const; 149 131 150 }; 151 152 // class specific addref/release implementation 153 // the two function overloads must be in the boost namespace on most compilers: 154 namespace boost 155 { 156 inline void intrusive_ptr_add_ref(SubEntity * p) 157 { 158 // increment reference count of object *p 159 ++(p->references); 160 } 161 162 163 164 inline void intrusive_ptr_release(SubEntity * p) 165 { 166 // decrement reference count, and delete object when reference count reaches 0 167 if (--(p->references) == 0) 168 delete p; 169 } 170 } // namespace boost 171 172 typedef ::boost::intrusive_ptr<SubEntity> SubEntityPtr; 132 173 133 174 } -
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCXmlSerializer.h
r700 r721 11 11 XmlSerializer(); 12 12 13 ~XmlSerializer();13 virtual ~XmlSerializer(); 14 14 15 15 protected: 16 16 Ogre::String mFilename; 17 17 18 TiXmlDocument *mFile; 19 18 20 bool mLoaded; 19 21
Note: See TracChangeset
for help on using the changeset viewer.