#ifndef _LBBCMANAGER_H #define _LBBCMANAGER_H #include #include #include #include #include #include #include #include #include #include #include #include namespace LBBC { class _BBCExport LBBCManager : public BBC::BBCManager { public: LBBCManager(); ~LBBCManager(); void loadSampleConfigFile(Ogre::String sampleConfigFile); SampleConfigFile* getSampleConfigFile(); void initialize(); void setSampleConfigFile(SampleConfigFile *sampleConfigFile); void generateEntityDistribution(); void loadEntityDistribution(); void saveEntityDistributionSplitted(); void createEntityDistribution(); void saveEntityDistributionXML(); void generateEntityClusters(); void createEntityClusters(); void saveEntityClusters(); void saveSingleEntity(); void generateBillboardCloud(); void saveBillboardCloudGroupedIndirectTexturing(); void saveBillboardCloudGroupedDiffuseColor(); void saveBillboardCloudSplitted(); void saveBillboardCloudGroupedDiffuseColorXML(); void saveBillboardCloudGroupedIndirectTexturingXML(); void saveBillboardCloudSplittedXML(); Leaves* getLeaves(); void loadBillboardCloudSplittedXML(); void loadBillboardCloudGroupedDiffuseColorXML(); void loadBillboardCloudGroupedIndirectTexturingXML(); void saveBillboardCloudDiffuseColorPointCluster(); void generateBillboardCloudDiffuseColorPointCluster(); protected: LBBC::Leaves* mLeaves; LBBC::LeafDistributionSerializer* mLeafDistributionSerializer; LBBC::LeafDistributionGenerator* mLeafDistributionGenerator; BBC::BillboardCloudGenerator* mBillboardCloudGenerator; BBC::BillboardCloudSerializer* mBillboardCloudSerializer; BBC::BillboardCloudUVMapper* mBillboardCloudUVMapper; BBC::ColladaMeshSerializer* mColladaMeshSerializer; BBC::OgreMeshSerializer* mOgreMeshSerializer; SampleConfigFile* mSampleConfigFile; Ogre::ConfigFile* mConfigFile; DiffuseColorPointClusterGenerator* mDiffuseColorPointClusterGenerator; }; } #endif