MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLBase/mlMarkerList.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //--------------------------------------------------------------------------------------
00004 
00009 //--------------------------------------------------------------------------------------
00010 
00011 #ifndef __mlMarkerList_H
00012 #define __mlMarkerList_H
00013 
00014 //ML-includes
00015 #ifndef __mlBaseInit_H
00016 #include "mlBaseInit.h"
00017 #endif
00018 #ifndef __mlModuleIncludes_H
00019 #include "mlModuleIncludes.h"
00020 #endif
00021 #ifndef __mlLinearAlgebra_H
00022 #include "mlLinearAlgebra.h"
00023 #endif
00024 
00025 ML_START_NAMESPACE
00026 
00027 
00028 //--------------------------------------------------------------------------------------
00030 //--------------------------------------------------------------------------------------
00031 class MLBASEEXPORT MarkerList : public Base {
00032 
00033 public:
00034   MarkerList() {};
00035   virtual ~MarkerList() {};
00036 
00038   MLssize_t getNum() const;
00039 
00041   void getValue(MLssize_t index, int& type, Vector3& vec) const;
00042 
00044   void getValue(MLssize_t index, int &type, float &x, float &y, float &z) const;
00045 
00047   void addValue(int type, const Vector3& vec);
00048 
00050   void setValue(MLssize_t index, int type, const Vector3& vec);
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(MarkerList);
00071 
00073   std::vector<Vector4> points;
00074 };
00075 
00076 
00077 ML_END_NAMESPACE
00078 
00079 
00080 #endif