#ifndef _BBCBILLBOARDCLOUDUVMAPPER_H #define _BBCBILLBOARDCLOUDUVMAPPER_H #include "IMGBsp.h" #include "IMGClusterList.h" #include "BBCBillboardCloud.h" namespace BBC { class BillboardCloudUVMapper { protected: std::vector mBspList; std::vector mClusterLists; unsigned short int mTextureWidth; unsigned short int mTextureHeight; unsigned short int mTextureAtlasWidth; unsigned short int mTextureAtlasHeight; BillboardCloud * mBillboardCloud; public: void initialize(); void setTextureAtlasWidth(unsigned short int width); unsigned short int getTextureAtlasWidth(); void setTextureAtlasHeight(unsigned short int height); unsigned short int getTextureAtlasHeight(); void setTextureWidth(unsigned short int width); unsigned short int getTextureWidth(); void setTextureHeight(unsigned short int height); unsigned short int getTextureHeight(); void generateTextureAtlasTextureCoords(bool mergeBillboards, bool groupedBillboards = false, unsigned int numberGroups = 1); void addTextureAtlasTextureCoords(bool mergeBillboards, bool groupedBillboards, unsigned int numGeneratedBillboardClouds, unsigned int iBillboardGroup); void setBillboardCloud(BillboardCloud *billboardCloud); BillboardCloud* getBillboardCloud(); void addTextureInBsp(unsigned int iBillboardGroup, unsigned int iBillboard); void addBsp(IMG::Bsp *bsp); IMG::Bsp* getBsp(unsigned int iBsp); void removeBsp(unsigned int iBsp); void addClusterList(IMG::ClusterList *clusterList); IMG::ClusterList* getClusterList(unsigned int iClusterList); void removeClusterList(unsigned int iClusterList); void clear(); unsigned int getNumClusterLists(); unsigned int getNumBsp(); BillboardCloudUVMapper(); ~BillboardCloudUVMapper(); }; } #endif