source: GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/BBC/BBCEntity.h @ 700

Revision 700, 1.2 KB checked in by igarcia, 19 years ago (diff)
Line 
1#ifndef _BBCENTITY_H
2#define _BBCENTITY_H
3
4#include <BBCPrerequisites.h>
5#include <BBCSubEntity.h>
6
7namespace BBC {
8
9class _BBCExport Entity
10{
11  protected:
12
13        typedef std::vector<SubEntity*> SubEntityList;
14
15        unsigned int mEntityHandle;
16
17    unsigned int mBillboardHandle;
18
19        SubEntityList mSubEntityList;
20
21        Ogre::Mesh *mMesh;
22       
23  public:
24
25    Entity();
26
27    ~Entity();
28
29        void createSubEntity();
30
31        void addSubEntity(SubEntity *value);
32
33        SubEntity* getSubEntity(unsigned int index);
34
35        void removeSubEntity(unsigned int index);
36
37        virtual Ogre::Mesh* getMesh();
38
39        virtual void setMesh(Ogre::Mesh *value);
40
41        void loadMesh(bool mergeSubMeshes);
42
43        void getMeshPositions(Ogre::Vector3 position, Ogre::Quaternion orient, Ogre::Vector3 scale, bool mergeSubMeshes);
44
45        void getMeshNormals(Ogre::Quaternion orient, Ogre::Vector3 scale, bool mergeSubMeshes);
46
47        void getMeshVertexColours(bool mergeSubMeshes);
48
49        void getMeshTexCoords(bool mergeSubMeshes);
50
51        void getMeshFacesVerticesID(bool mergeSubMeshes);
52
53        void setSubEntitiesDistinctVertexColours();
54
55    unsigned int getEntityHandle();
56
57    void setEntityHandle(unsigned int value);
58
59        void sincronizeNumSubEntities();
60
61        unsigned int getNumSubEntities();
62
63        void mergeSubEntities();
64
65};
66
67}
68#endif
Note: See TracBrowser for help on using the repository browser.