[700] | 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: |
---|
[709] | 12 | std::vector<IMG::Bsp*> mBspList; |
---|
[700] | 13 | |
---|
[709] | 14 | std::vector<IMG::ClusterList*> mClusterLists; |
---|
[700] | 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 | |
---|
[709] | 46 | void generateTextureAtlasTextureCoords(bool mergeBillboards, bool groupedBillboards = false, unsigned int numberGroups = 1); |
---|
[700] | 47 | |
---|
[709] | 48 | void addTextureAtlasTextureCoords(bool mergeBillboards, bool groupedBillboards, unsigned int numGeneratedBillboardClouds, unsigned int iBillboardGroup); |
---|
| 49 | |
---|
[700] | 50 | void setBillboardCloud(BillboardCloud *billboardCloud); |
---|
[709] | 51 | |
---|
| 52 | BillboardCloud* getBillboardCloud(); |
---|
[700] | 53 | |
---|
[709] | 54 | void addTextureInBsp(unsigned int iBillboardGroup, unsigned int iBillboard); |
---|
[700] | 55 | |
---|
[709] | 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 | |
---|
[721] | 68 | void shutdown(); |
---|
[709] | 69 | |
---|
| 70 | unsigned int getNumClusterLists(); |
---|
| 71 | |
---|
| 72 | unsigned int getNumBsp(); |
---|
| 73 | |
---|
[700] | 74 | BillboardCloudUVMapper(); |
---|
| 75 | |
---|
[721] | 76 | virtual ~BillboardCloudUVMapper(); |
---|
[700] | 77 | |
---|
| 78 | }; |
---|
| 79 | |
---|
| 80 | } |
---|
| 81 | #endif |
---|