MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLBase/mlSphereList.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //--------------------------------------------------------------------------------------
00004 
00007 //--------------------------------------------------------------------------------------
00008 
00009 #ifndef __mlSphereList_H
00010 #define __mlSphereList_H
00011 
00012 //ML-includes
00013 #ifndef __mlBaseInit_H
00014 #include "mlBaseInit.h"
00015 #endif
00016 #ifndef __mlModuleIncludes_H
00017 #include <mlModuleIncludes.h>
00018 #endif
00019 #ifndef __mlSphere_H
00020 #include <mlSphere.h>
00021 #endif
00022 
00023 ML_START_NAMESPACE
00024 
00025 // ------------------------------------------------------------------
00027 // ------------------------------------------------------------------
00028 class MLBASEEXPORT SphereList : public Base {
00029 
00030 public:
00031   SphereList() {};
00032   virtual ~SphereList() {};
00033 
00035   MLssize_t getNum() const;
00036 
00038   void getValue(MLssize_t index, Sphere& obj) const;
00039 
00041   Sphere getValue(MLssize_t index) const;
00042   
00044   Sphere* getPtr(MLssize_t index = -1);
00045 
00047   void addValue(const Sphere& obj);
00048   
00050   void setValue(MLssize_t index, const Sphere& obj);
00051 
00053   void removeValue(MLssize_t index = -1);
00054 
00056   void clear();
00057 
00059   virtual char* getPersistentState() const;
00060   virtual void setPersistentState(const char* state);
00061   virtual void clearPersistentState(char* state) const;
00063   
00065   void print(const char* txt);
00066   
00067 private:
00068 
00070   ML_CLASS_HEADER(SphereList); 
00071 
00073   std::vector<Sphere> objects;
00074 };
00075 
00076 ML_END_NAMESPACE
00077 
00078 #endif // __mlSphereList