MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLCSO/CSOBase/CSOVoxelSet/CSOVoxelSetGroup.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //----------------------------------------------------------------------------------
00004 
00009 //----------------------------------------------------------------------------------
00010 
00011 #ifndef __CSOVoxelSetGroup_H
00012 #define __CSOVoxelSetGroup_H
00013 
00014 #include "MLCSOIncludes.h"
00015 
00016 
00017 ML_START_NAMESPACE
00018 
00019 
00020 // Forward declaration.
00021 class CSOVoxelSet;
00022 class CSOVoxelSetList;
00023 
00024 
00026 
00027 class MLCSO_EXPORT CSOVoxelSetGroup
00028 { 
00029 
00030 public:
00031 
00033   CSOVoxelSetGroup();
00035   virtual ~CSOVoxelSetGroup();
00036 
00037   /* METHODS */
00038 
00040   void setVoxelSetList(CSOVoxelSetList* list) { _csoVoxelSetList = list; }
00042   void addCSOVoxelSetId(int id) { _csoVoxelSetIds.push_back(id); }
00044   int voxelSetIdAt(size_t index) { return _csoVoxelSetIds[index]; }
00046   int numCSOVoxelSet() { return static_cast<int>(_csoVoxelSetIds.size()); }
00048   int csoVoxelSetAt(unsigned int index) { return _csoVoxelSetIds[index]; }
00049   
00051   void setLabel(const std::string& label) { _label = label; }
00053   const std::string& label() const { return _label; }
00054 
00056   void setDescription(const std::string& description) { _description = description; }
00058   const std::string& description() const { return _description; }
00059 
00061   void setCSOVoxelSetList(CSOVoxelSetList* csoVoxelSetList) { _csoVoxelSetList = csoVoxelSetList; }
00063   CSOVoxelSetList* csoVoxelSetList() const { return _csoVoxelSetList; }
00064   
00066   void setUniqueId(int id) { _uniqueId = id; }
00068   int uniqueId() const { return _uniqueId; }  
00069   
00070 
00071 protected:
00072 
00073 private:
00074 
00075   /* MEMBER VARIABLES */
00076   
00077   std::vector<int> _csoVoxelSetIds;  
00078   CSOVoxelSetList* _csoVoxelSetList;
00079   int _uniqueId;
00080   std::string _label;
00081   std::string _description;
00082 
00083 };
00084 
00086 
00087 
00088 ML_END_NAMESPACE
00089 
00090 
00091 #endif // __CSOVoxelSetGroup_H
00092