1 | #ifndef _BBCBILLBOARDCLOUDUVMAPPER_H |
---|
2 | #define _BBCBILLBOARDCLOUDUVMAPPER_H |
---|
3 | |
---|
4 | #include "IMGBsp.h" |
---|
5 | #include "IMGClusterList.h" |
---|
6 | #include "BBCBillboardCloud.h" |
---|
7 | |
---|
8 | namespace BBC { |
---|
9 | |
---|
10 | class BillboardCloudUVMapper { |
---|
11 | protected: |
---|
12 | std::vector<IMG::Bsp*> mBspList; |
---|
13 | |
---|
14 | std::vector<IMG::ClusterList*> mClusterLists; |
---|
15 | |
---|
16 | unsigned short int mTextureWidth; |
---|
17 | |
---|
18 | unsigned short int mTextureHeight; |
---|
19 | |
---|
20 | unsigned short int mTextureAtlasWidth; |
---|
21 | |
---|
22 | unsigned short int mTextureAtlasHeight; |
---|
23 | |
---|
24 | BillboardCloud * mBillboardCloud; |
---|
25 | |
---|
26 | |
---|
27 | public: |
---|
28 | void initialize(); |
---|
29 | |
---|
30 | void setTextureAtlasWidth(unsigned short int width); |
---|
31 | |
---|
32 | unsigned short int getTextureAtlasWidth(); |
---|
33 | |
---|
34 | void setTextureAtlasHeight(unsigned short int height); |
---|
35 | |
---|
36 | unsigned short int getTextureAtlasHeight(); |
---|
37 | |
---|
38 | void setTextureWidth(unsigned short int width); |
---|
39 | |
---|
40 | unsigned short int getTextureWidth(); |
---|
41 | |
---|
42 | void setTextureHeight(unsigned short int height); |
---|
43 | |
---|
44 | unsigned short int getTextureHeight(); |
---|
45 | |
---|
46 | void generateTextureAtlasTextureCoords(bool mergeBillboards, bool groupedBillboards = false, unsigned int numberGroups = 1); |
---|
47 | |
---|
48 | void addTextureAtlasTextureCoords(bool mergeBillboards, bool groupedBillboards, unsigned int numGeneratedBillboardClouds, unsigned int iBillboardGroup, unsigned int iBillboard, unsigned int iBillboardInGroup); |
---|
49 | |
---|
50 | void setBillboardCloud(BillboardCloud *billboardCloud); |
---|
51 | |
---|
52 | BillboardCloud* getBillboardCloud(); |
---|
53 | |
---|
54 | void addTextureInBsp(unsigned int iBillboardGroup, unsigned int iBillboard); |
---|
55 | |
---|
56 | void addBsp(IMG::Bsp *bsp); |
---|
57 | |
---|
58 | IMG::Bsp* getBsp(unsigned int iBsp); |
---|
59 | |
---|
60 | void removeBsp(unsigned int iBsp); |
---|
61 | |
---|
62 | void addClusterList(IMG::ClusterList *clusterList); |
---|
63 | |
---|
64 | IMG::ClusterList* getClusterList(unsigned int iClusterList); |
---|
65 | |
---|
66 | void removeClusterList(unsigned int iClusterList); |
---|
67 | |
---|
68 | void shutdown(); |
---|
69 | |
---|
70 | unsigned int getNumClusterLists(); |
---|
71 | |
---|
72 | unsigned int getNumBsp(); |
---|
73 | |
---|
74 | BillboardCloudUVMapper(); |
---|
75 | |
---|
76 | virtual ~BillboardCloudUVMapper(); |
---|
77 | |
---|
78 | }; |
---|
79 | |
---|
80 | } |
---|
81 | #endif |
---|