17 #include <matrix/vlVector.h>
19 #include <osg/PrimitiveSet>
20 #include <osg/Geometry>
33 class DtOsgSegmentPickable;
34 class DtCoordinateSystem;
73 virtual const PointVector& points()
const;
76 virtual void addPoint(
const DtVector&,
int index = -1);
79 virtual void removePoint(
int index);
82 virtual void setPoints(
const std::vector<DtVector>&);
85 virtual void setPosition(
int index,
const DtVector&);
88 virtual void setPositions(
const std::vector<DtVector>&);
91 virtual void clearPoints();
100 virtual void setStipplePattern(
unsigned int);
103 virtual void setColor(
float r,
float g,
float b,
float a);
106 virtual void getColor(
float& r,
float& g,
float& b,
float& a)
const;
109 virtual void setTextureHeight(
double height);
112 virtual void setTextureWidth(
double width);
115 virtual void setTexture(osg::Texture* texture);
125 virtual void setUpExtent(
float height);
128 virtual void setDownExtent(
float height);
131 virtual void setLeftExtent(
float height);
134 virtual void setRightExtent(
float heigh);
138 virtual void setWidth(
float);
142 virtual void setHeight(
float);
145 virtual void setDimensions(
float width,
float height);
149 virtual void setLineWidth(
float width);
154 virtual void setScribeWidth(
float width);
159 virtual void setScribeAllPolygons(
bool);
162 virtual void setScribed(
bool b);
166 virtual void setScribeColor(
float r,
float g,
float b,
float a);
172 int pointCount()
const;
181 virtual void setPickable(
bool);
184 bool pickable()
const;
189 virtual void updatePoints();
192 virtual void setSolid(
bool);
195 osg::Node* rootNode();
199 virtual osg::Vec3 rotatePoint(
const osg::Vec3& org,
double range,
const DtTaitBryan&
angle)
const;
202 virtual void updateMode();
205 virtual void updateGeometry();
208 virtual void updateTextureCoordinates();
211 virtual void addPointsForExtentExtrusion(
const DtVector& point);
214 virtual void addFaceForRotation(
const osg::Quat& rotation,
const DtVector& point);
217 virtual void addPointsForFullExtrusion(
const DtVector& from,
222 virtual void setupScribeTransparency(
bool b);
225 virtual void setupGeodeTransparency(
bool b);
228 virtual void updateStippling();
231 virtual void updateScribeLine();
234 virtual void updateColors();
237 virtual bool frontAndBackFaceRendered()
const;
240 virtual void updatePointsForLineStrip();
243 virtual void updatePointsForTriangleStrip();
246 virtual void updatePointsForExtrusion();
249 virtual void createFaces();
252 virtual void updateScribeForTriangleStrip();
255 virtual void updateScribeForExtrusion(osg::Vec3Array*);
258 virtual void updateScribeForOutline();
261 virtual void updateScribeForFull();
267 virtual void slot_coordinateSystemChanged();
osg::ref_ptr< osg::Texture > myTexture
Definition: DtExtrudedModelInstance.h:283
float myLeftExtent
Definition: DtExtrudedModelInstance.h:306
float myDownExtent
Definition: DtExtrudedModelInstance.h:305
Create a series of cylinders that can be used as pickable on lines that only have osg width...
Definition: DtOsgSegmentPickable.h:23
float myUpExtent
Definition: DtExtrudedModelInstance.h:304
Definition: DtExtrudedModelInstance.h:47
DtOsgSegmentPickable * myPickable
If drawing as line use this pointer to create the pickable segments of that line, else geometry will ...
Definition: DtExtrudedModelInstance.h:325
virtual void setVisible(bool isVisible)
no-op
Definition: DtExtrudedModelInstance.h:169
osg::ref_ptr< osg::Group > myFrontTransparentGroup
Definition: DtExtrudedModelInstance.h:289
A prism controlled by control points.
Definition: DtExtrudedModelInstance.h:38
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
voidpf uLong int origin
Definition: ioapi.h:42
float myRightExtent
Definition: DtExtrudedModelInstance.h:307
osg::ref_ptr< osg::Group > myMainTransform
Definition: DtExtrudedModelInstance.h:292
bool myScribed
Definition: DtExtrudedModelInstance.h:315
osg::ref_ptr< osg::Vec3Array > myScribePointsFull
Definition: DtExtrudedModelInstance.h:281
osg::ref_ptr< osg::Vec3Array > myShapePoints
Definition: DtExtrudedModelInstance.h:273
std::vector< DtVector > PointVector
Definition: DtExtrudedModelInstance.h:41
bool myScribeAllPolygons
Definition: DtExtrudedModelInstance.h:316
osg::ref_ptr< osg::LineWidth > myLineWidth
Definition: DtExtrudedModelInstance.h:286
osg::ref_ptr< osg::Vec3Array > myFaces
If the line has width and height, the list of faces that make up the junction points of the boxes...
Definition: DtExtrudedModelInstance.h:297
double myTextureWidth
Definition: DtExtrudedModelInstance.h:301
bool mySolid
Definition: DtExtrudedModelInstance.h:317
osg::Vec4 myScribeColor
Definition: DtExtrudedModelInstance.h:328
Contains makVrv::DtOsgModelInstance class.
DtOsgSceneConnector is used by models to create an OSG position/orientation transform so that it can ...
Definition: DtOsgSceneConnector.h:77
bool myShapePointsDirty
Definition: DtExtrudedModelInstance.h:313
bool myIsPickable
Definition: DtExtrudedModelInstance.h:326
osg::ref_ptr< osg::Geometry > myScribeGeometryTop
Definition: DtExtrudedModelInstance.h:277
LineExtrusionMode myMode
Definition: DtExtrudedModelInstance.h:321
osg::ref_ptr< osg::Geode > myShapeGeode
Definition: DtExtrudedModelInstance.h:271
The base class for simple OSG based model instances. This call can't be instantiated itself...
Definition: DtOsgModelInstance.h:77
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
bool myScribeWidthSet
Definition: DtExtrudedModelInstance.h:318
osg::ref_ptr< osg::Vec2Array > myTextureCoordinates
Definition: DtExtrudedModelInstance.h:284
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
int myStipplePattern
Definition: DtExtrudedModelInstance.h:320
double myTextureHeight
Definition: DtExtrudedModelInstance.h:302
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
osg::ref_ptr< osg::Geode > myScribeGeode
Definition: DtExtrudedModelInstance.h:275
Definition: DtExtrudedModelInstance.h:45
PointVector myLinePoints
Definition: DtExtrudedModelInstance.h:309
osg::ref_ptr< osg::Geometry > myScribeGeometryBottom
Definition: DtExtrudedModelInstance.h:278
Base class to provide boost signal/slot management.
Definition: DtExtrudedModelInstance.h:46
osg::ref_ptr< osg::Geometry > myScribeGeometryFull
Definition: DtExtrudedModelInstance.h:276
bool myScribeColorSet
Definition: DtExtrudedModelInstance.h:329
osg::ref_ptr< osg::Group > myOpaqueGroup
Definition: DtExtrudedModelInstance.h:291
osg::ref_ptr< osg::Vec3Array > myScribePointsTop
Definition: DtExtrudedModelInstance.h:279
DtVector myOrigin
Definition: DtExtrudedModelInstance.h:311
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
osg::ref_ptr< osg::Group > myBackTransparentGroup
Definition: DtExtrudedModelInstance.h:290
osg::ref_ptr< osg::Geometry > myShapeGeometry
Definition: DtExtrudedModelInstance.h:272
osg::ref_ptr< osg::LineWidth > myScribeWidth
Definition: DtExtrudedModelInstance.h:287
DtSignalConnectionManager myConnections
Definition: DtExtrudedModelInstance.h:331
osg::ref_ptr< osg::Vec3Array > myScribePointsBottom
Definition: DtExtrudedModelInstance.h:280
LineExtrusionMode
Definition: DtExtrudedModelInstance.h:43
osg::Vec4 myColor
Definition: DtExtrudedModelInstance.h:299