10 #ifndef DtAttachableLineModelInstanceSegment_H_
11 #define DtAttachableLineModelInstanceSegment_H_
16 #include <osg/Billboard>
17 #include <osg/MatrixTransform>
35 virtual void setStartPoint(
const osg::Vec3d& startPoint);
38 virtual void setEndPoint(
const osg::Vec3d& endPoint);
42 return myState.startPoint;
47 return myState.endPoint;
51 virtual void setColor(
const osg::Vec4& color);
54 virtual void setVertexColor(
unsigned int vertexIndex,
const osg::Vec4& color );
57 virtual void setStartArrow(
bool arrowEnabled);
60 virtual void setEndArrow(
bool arrowEnabled);
63 virtual void setLightningStyle(
bool lightningStyle);
66 virtual void setWidth(
double width);
69 virtual double width()
const;
72 virtual void setStipplePattern(
unsigned int stipplePattern,
int repeatFactor);
75 virtual osg::Node* rootNode();
77 const std::vector<osg::Vec3>& pickableVertices()
const;
80 virtual void update();
83 virtual void updateGeometry();
93 virtual void calculateArrowVertices(
94 const osg::Vec3d& segmentStart,
const osg::Vec3d& segmentEnd,
95 osg::Vec3d& arrowStartOut, osg::Vec3d& arrowEndOut);
98 virtual void buildVertices();
101 virtual void buildLinePrimitive();
104 virtual void buildPickableVertices();
107 virtual void buildColorArray();
112 virtual unsigned int startArrowVertexIndex();
117 virtual unsigned int endArrowVertexIndex();
122 virtual unsigned int lightningVertexIndex();
osg::Vec3d endPoint
Definition: Dt3DLineModelInstanceSegment.h:130
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
osg::ref_ptr< osg::Billboard > myGeode
Definition: Dt3DLineModelInstanceSegment.h:144
bool startArrow
Definition: Dt3DLineModelInstanceSegment.h:132
bool lightning
Definition: Dt3DLineModelInstanceSegment.h:134
bool endArrow
Definition: Dt3DLineModelInstanceSegment.h:133
osg::ref_ptr< osg::Geometry > myGeometry
Definition: Dt3DLineModelInstanceSegment.h:145
const osg::Vec3d & startPoint() const
Definition: Dt3DLineModelInstanceSegment.h:40
LineSegmentState myState
Definition: Dt3DLineModelInstanceSegment.h:139
Structure to contain the line segment's state.
Definition: Dt3DLineModelInstanceSegment.h:127
osg::ref_ptr< osg::Vec4Array > myColorArray
Definition: Dt3DLineModelInstanceSegment.h:148
const osg::Vec3d & endPoint() const
Definition: Dt3DLineModelInstanceSegment.h:45
unsigned int stipplePattern
Definition: Dt3DLineModelInstanceSegment.h:136
osg::Vec3d startPoint
Definition: Dt3DLineModelInstanceSegment.h:129
double width
Definition: Dt3DLineModelInstanceSegment.h:135
Helper class to draw a styleable line segment; generates a geode containing the line segment geometry...
Definition: Dt3DLineModelInstanceSegment.h:24
Contains DLL export macros.
bool myGeometryDirty
Definition: Dt3DLineModelInstanceSegment.h:141
osg::ref_ptr< osg::Vec3Array > myVertexArray
Definition: Dt3DLineModelInstanceSegment.h:147
osg::ref_ptr< osg::Vec3Array > myPickableVertices
Definition: Dt3DLineModelInstanceSegment.h:146
bool myIndexBufferDirty
Definition: Dt3DLineModelInstanceSegment.h:142
Contains makVrv::Dt3DLineModelInstanceSegmentInterface class.
osg::ref_ptr< osg::DrawElementsUInt > myLinePrimitive
Definition: Dt3DLineModelInstanceSegment.h:149
Dt3DLineModelInstanceSegmentInterface is an abstract class providing a common interface for line mode...
Definition: Dt3DLineModelInstanceSegmentInterface.h:30