15 #include <osg/MatrixTransform>
19 class Dt3DLineModelInstanceSegmentInterface;
20 class Dt3DLineModelInstanceSegment;
21 class DtOsgSegmentPickable;
37 virtual void setPosition(
int vtx,
const DtVector& position );
41 virtual DtVector removePosition(
int vtx );
44 virtual void setWidth(
float width);
47 virtual void setColor(
float r,
float g,
float b,
float a);
50 virtual void setStipplePattern(
unsigned int pattern,
int repeatFactor );
54 virtual void setStyleSegments(
const std::vector<double>& segmentPercentages);
57 virtual void setSegmentColor(
unsigned int segmentIndex,
58 float r,
float g,
float b,
float a);
61 virtual void setSegmentLightningStyle(
unsigned int segmentIndex,
62 bool enableLightningStyle);
65 virtual void setSegmentStartArrow(
unsigned int segmentIndex,
69 virtual void setSegmentEndArrow(
unsigned int segmentIndex,
74 virtual void setSegmentStipplePattern(
unsigned int segmentIndex,
75 unsigned int stipplePattern,
int repeatFactor);
78 virtual void setSegmentWidth(
unsigned int segmentWidth,
double width);
82 virtual void setSegmentStartColor(
unsigned int segmentIndex,
float r,
83 float g,
float b,
float a );
87 virtual void setSegmentEndColor(
unsigned int segmentIndex,
float r,
88 float g,
float b,
float a );
91 virtual void setTerrainIntersect(
bool enabled);
94 virtual void setModelSet(
int modelSet );
107 virtual void setDepthTestEnabled(
bool enabled);
110 virtual void setVisible(
bool isVisible);
113 virtual void setPickable(
bool pickable );
116 bool pickable()
const;
119 virtual void update();
122 virtual const std::vector<DtVector>& points()
const;
147 virtual void updatePickableSegments();
151 virtual void adjustSegmentVisibility(
int vtx,
bool visible );
154 virtual void resizeSegments(
int size);
157 virtual void resizeSegmentAttributes(
int size);
160 virtual void updateGeometry();
163 virtual void updateAllSegmentAttributes();
174 std::vector<Dt3DLineModelInstanceSegmentInterface*>
mySegments;