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
00026
00027
00028 #ifndef opengl_CSimpleLine_H
00029 #define opengl_CSimpleLine_H
00030
00031 #include <mrpt/opengl/CRenderizable.h>
00032
00033 namespace mrpt
00034 {
00035 namespace opengl
00036 {
00037 class MRPTDLLIMPEXP CSimpleLine;
00038
00039
00040 DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE( CSimpleLine, CRenderizable )
00041
00042
00045 class MRPTDLLIMPEXP CSimpleLine : public CRenderizable
00046 {
00047 DEFINE_SERIALIZABLE( CSimpleLine )
00048
00049 protected:
00050 float m_x0,m_y0,m_z0;
00051 float m_x1,m_y1,m_z1;
00052 float m_lineWidth;
00053 public:
00054 void setLineWidth(float w) { m_lineWidth=w; }
00055 float getLineWidth() const { return m_lineWidth;}
00056
00057 void setLineCoords(float x0,float y0,float z0, float x1, float y1, float z1)
00058 {
00059 m_x0=x0; m_y0=y0; m_z0=z0;
00060 m_x1=x1; m_y1=y1; m_z1=z1;
00061 }
00062
00064 static CSimpleLinePtr Create()
00065 {
00066 return CSimpleLinePtr( new CSimpleLine() );
00067 }
00068
00071 void render() const;
00072
00073 private:
00076 CSimpleLine(
00077 float x0=0,float y0=0, float z0=0,
00078 float x1=0,float y1=0, float z1=0, float lineWidth = 1.0 ) :
00079 m_x0(x0),m_y0(y0),m_z0(z0),
00080 m_x1(x1),m_y1(y1),m_z1(z1),
00081 m_lineWidth(lineWidth)
00082 {
00083 }
00084
00086 virtual ~CSimpleLine() { }
00087 };
00088
00089 }
00090
00091 }
00092
00093
00094 #endif