MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLCSO/CSOBase/CSOModuleBase/CSOGeneratorBase.h
Go to the documentation of this file.
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