OgreDynamicLines.hh
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 #ifndef OGREDYNAMICLINES_HH
00028 #define OGREDYNAMICLINES_HH
00029
00030 #include "Vector3.hh"
00031 #include "OgreDynamicRenderable.hh"
00032
00033 #include <vector>
00034
00035 namespace gazebo
00036 {
00037
00040
00042 class OgreDynamicLines : public OgreDynamicRenderable
00043 {
00045 public: OgreDynamicLines(Ogre::RenderOperation::OperationType opType=Ogre::RenderOperation::OT_LINE_STRIP);
00046
00048 public: virtual ~OgreDynamicLines();
00049
00052 public: void AddPoint(const Vector3 &pt);
00053
00057 public: void SetPoint(unsigned int index, const Vector3 &value);
00058
00062 public: const Vector3& GetPoint(unsigned int index) const;
00063
00066 public: unsigned int GetNumPoints() const;
00067
00069 public: void Clear();
00070
00072 public: void Update();
00073
00083 public: void SetOperationType(Ogre::RenderOperation::OperationType opType);
00084
00087 public: Ogre::RenderOperation::OperationType GetOperationType() const;
00088
00090 protected: virtual void CreateVertexDeclaration();
00091
00093 protected: virtual void FillHardwareBuffers();
00094
00095 private: std::vector<Vector3> points;
00096 private: bool dirty;
00097 };
00098
00100 }
00101 #endif