$search
00001 #ifndef __LINE3D_H__ 00002 #define __LINE3D_H__ 00003 00004 #include "Ogre.h" 00005 #include <vector> 00006 00007 using namespace Ogre; 00008 00009 #define POSITION_BINDING 0 00010 #define TEXCOORD_BINDING 1 00011 00012 class Line3D:public SimpleRenderable 00013 { 00014 public: 00015 Line3D(void); 00016 ~Line3D(void); 00017 00018 void addPoint(const Vector3 &p); 00019 const Vector3 &getPoint(unsigned short index) const; 00020 unsigned short getNumPoints(void) const; 00021 void updatePoint(unsigned short index, const Vector3 &value); 00022 void drawLine(Vector3 &start, Vector3 &end); 00023 void drawLines(void); 00024 00025 Real getSquaredViewDepth(const Camera *cam) const; 00026 Real getBoundingRadius(void) const; 00027 protected: 00028 //void getWorldTransforms(Matrix4 *xform) const; 00029 const Quaternion &getWorldOrientation(void) const; 00030 const Vector3 &getWorldPosition(void) const; 00031 00032 std::vector<Vector3> mPoints; 00033 bool mDrawn; 00034 }; 00035 00036 #endif /* __LINE3D_H__ */ 00037