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;
DtOsgSegmentPickable * myPickable
Definition: Dt3DSegmentedLineModelInstance.h:179
std::vector< SegmentAttributes > mySegmentAttributes
Definition: Dt3DSegmentedLineModelInstance.h:200
std::vector< DtVector > myVertices
Definition: Dt3DSegmentedLineModelInstance.h:167
Create a series of cylinders that can be used as pickable on lines that only have osg width...
Definition: DtOsgSegmentPickable.h:23
int myModelSet
Definition: Dt3DSegmentedLineModelInstance.h:170
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
bool mySegmentAttributesDirty
Definition: Dt3DSegmentedLineModelInstance.h:198
std::vector< Dt3DLineModelInstanceSegmentInterface * > mySegments
Definition: Dt3DSegmentedLineModelInstance.h:174
bool startArrow
Definition: Dt3DSegmentedLineModelInstance.h:190
voidpf void uLong size
Definition: ioapi.h:39
double width
Definition: Dt3DSegmentedLineModelInstance.h:193
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:33
bool lightning
Definition: Dt3DSegmentedLineModelInstance.h:192
int stippleRepeat
Definition: Dt3DSegmentedLineModelInstance.h:195
Contains makVrv::DtOsgModelInstance class.
DtOsgSceneConnector is used by models to create an OSG position/orientation transform so that it can ...
Definition: DtOsgSceneConnector.h:76
unsigned int stipplePattern
Definition: Dt3DSegmentedLineModelInstance.h:194
unsigned int myStipplePattern
Definition: Dt3DSegmentedLineModelInstance.h:184
std::vector< double > mySegmentPercentages
Definition: Dt3DSegmentedLineModelInstance.h:173
int myStippleRepeat
Definition: Dt3DSegmentedLineModelInstance.h:185
bool endArrow
Definition: Dt3DSegmentedLineModelInstance.h:191
The base class for simple OSG based model instances.
Definition: DtOsgModelInstance.h:72
Model instance to draw a 3D line with styleable segments.
Definition: Dt3DSegmentedLineModelInstance.h:25
osg::ref_ptr< osg::Group > myGroup
Definition: Dt3DSegmentedLineModelInstance.h:176
double myWidth
Structure to contain the line segments' attributes.
Definition: Dt3DSegmentedLineModelInstance.h:182
osg::Vec4 myColor
Definition: Dt3DSegmentedLineModelInstance.h:183
Helper class to draw a styleable line segment; generates a geode containing the line segment geometry...
Definition: Dt3DLineModelInstanceSegment.h:24
bool myVisible
Definition: Dt3DSegmentedLineModelInstance.h:171
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
bool myTerrainIntersectMode
Definition: Dt3DSegmentedLineModelInstance.h:169
Definition: Dt3DSegmentedLineModelInstance.h:187
bool myGeometryDirty
Definition: Dt3DSegmentedLineModelInstance.h:199
Dt3DLineModelInstanceSegmentInterface is an abstract class providing a common interface for line mode...
Definition: Dt3DLineModelInstanceSegmentInterface.h:30