00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _CIvfRuler_h_
00026 #define _CIvfRuler_h_
00027
00028 #include <ivf/IvfShape.h>
00029
00030 IvfSmartPointer(CIvfRuler);
00031
00038 class IVF_API CIvfRuler : public CIvfShape {
00039 private:
00040 CIvfVec3d m_startPoint;
00041 CIvfVec3d m_endPoint;
00042 CIvfVec3d m_direction;
00043 double m_tickStep;
00044 double m_length;
00045
00046 void initRuler();
00047 public:
00049 CIvfRuler();
00050
00052 virtual ~CIvfRuler();
00053
00055 void setTickStep(double tickStep);
00056
00058 void setEndPoint(double x, double y, double z);
00059
00061 void setStartPoint(double x, double y, double z);
00062
00064 void setEndPoint(CIvfVec3d& endPoint);
00065
00067 void setStartPoint(CIvfVec3d& startPoint);
00068
00069 IvfClassInfo("CIvfRuler",CIvfShape);
00070 protected:
00071 virtual void createGeometry();
00072 };
00073
00074 #endif