source: GTP/trunk/App/Demos/Illum/StochasticIteration/ObjectVector.h @ 1808

Revision 1808, 2.3 KB checked in by szirmay, 18 years ago (diff)
Line 
1/**
2@author Barsi Attila
3@copyright BMGE Department of Control Engineering and Informatics
4@brief Simple maya object vector renderer & storage.
5*/
6
7#ifndef OBJECTVECTOR_H
8#define OBJECTVECTOR_H
9
10using namespace std;
11
12class ObjectVector{
13public:
14        /**
15                Constructor.
16        */
17        ObjectVector();
18        /**
19                Destructor.
20        */
21        ~ObjectVector();
22        /**
23                Returns the nth. model.
24                @param modelNum The model to return.
25                @return The nth model. NULL if modelNum is greater than the current model count.
26        */
27        ObjectModel* getObjectModel(UINT modelNum);
28        /**
29                @return A vector of all object models.
30        */
31        vector<ObjectModel*> getAllObjectModels();
32        /**
33                Adds an object model to the list.
34                @param objectModel The object model to add.
35        */
36        void addObjectModel(ObjectModel& objectModel);
37       
38        /**
39                Creates D3D vertices for all stored models.
40        */
41       
42        bool createAllD3DVertices();
43        /**
44                Renders all models with a specific effect file.
45        */
46        HRESULT RenderAllWithFX(LPD3DXEFFECT m_pEffect,bool renderToAtlas,D3DXMATRIX modelview,D3DXMATRIX modelviewproj);
47        /**
48                Removes the nth object model.
49                @param modelNum The model number to remove.
50        */
51        void removeObjectModel(UINT modelNum);
52        /**
53                Removes all object models.
54        */
55        void removeAllObjectModels();
56        /**
57                Initializes all objects.
58                @param The current Direct3D device.
59        */
60        void initAllObjects(LPDIRECT3DDEVICE9 device);
61        /**
62                Resets all objects.
63                @param The current Direct3D device.
64        */
65        void resetAllObjects(LPDIRECT3DDEVICE9 device);
66        /**
67                Returns a triangle with all parameters from the array of all triangles based on an index.
68                @param shooterIndex The index of the triangle to return.
69                @param tri The triangle return parameter.
70                @param vertex1 The 1st 3D vertex of the triangle.
71                @param vertex2 The 2nd 3D vertex of the triangle.
72                @param vertex3 The 3rd 3D vertex of the triangle.
73                @param texcoord1 The 1st 2D texture coordinate of the triangle.
74                @param texcoord2 The 1st 2D texture coordinate of the triangle.
75                @param texcoord3 The 1st 2D texture coordinate of the triangle.
76        */
77        void getTriangleByIndex(UINT shooterIndex,Triangle& tri,Vector& vertex1,Vector& vertex2,Vector& vertex3,Vector& texcoord1,Vector& texcoord2,Vector& texcoord3);
78
79private:
80        /**
81                The std vector of models.
82        */
83        vector<ObjectModel*> models;
84        /**
85                The sum of all faces.
86        */
87        int offsetSum;
88};
89
90#endif
Note: See TracBrowser for help on using the repository browser.