MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00005 00010 //---------------------------------------------------------------------------------- 00011 00012 #ifndef __CSOGeneratorBase_H 00013 #define __CSOGeneratorBase_H 00014 00015 #include <MLCSOIncludes.h> 00016 00017 ML_START_NAMESPACE 00018 00019 class CSO; 00020 class CSOGroup; 00021 class CSOList; 00022 00023 00025 enum CSOAddToGroupModes { 00026 GROUP_NONE = 0, 00027 GROUP_BY_LABEL = 1, 00028 GROUP_BY_ID = 2 00029 }; 00030 00031 00032 class MLCSO_EXPORT CSOGeneratorBase 00033 { 00034 public: 00035 00037 CSOGeneratorBase(); 00038 00047 CSO* generatorAddCSO(CSOList* csoList, std::string groupLabel="", bool useUndoRedo=true); 00049 CSOGroup* generatorGetParentGroup(CSOList* csoList, bool useUndoRedo=false, bool generate=false); 00051 void generatorEmptyGroupOnDemand(CSOList* csoList); 00052 00053 00054 // Abstract interface, needs to be implemented by deriving classes. 00055 00057 virtual int getModuleCreatorId() const = 0; 00059 virtual std::string getModuleType() const = 0; 00060 00063 virtual bool getShouldEmptyBeforeGeneration() const = 0; 00065 virtual int getAddCSOToGroupMode() const = 0; 00067 virtual std::string getAddCSOToGroupLabel() const = 0; 00069 virtual int getAddCSOToGroupId() const = 0; 00070 00072 virtual int getDefaultPathPointStyle() const = 0; 00074 virtual float getDefaultPathPointWidth() const = 0; 00076 virtual Vector3 getDefaultPathPointColor() const = 0; 00078 virtual float getDefaultPathPointAlpha() const = 0; 00079 00081 virtual int getDefaultSeedPointStyle() const = 0; 00083 virtual float getDefaultSeedPointSize() const = 0; 00085 virtual Vector3 getDefaultSeedPointColor() const = 0; 00087 virtual float getDefaultSeedPointAlpha() const = 0; 00088 00090 virtual int getDefaultVoxelWriteMode() const = 0; 00092 virtual float getDefaultVoxelWriteValue() const = 0; 00093 }; 00094 00095 ML_END_NAMESPACE 00096 00097 #endif // __CSOGeneratorBase_H