VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
makVrv::DtOsg3DVolumetricLineModel Class Reference

DtOsg3DVolumetricLineModel is the model implementation of 3D volumetric lines. Use this class to create a representation of a volumetric line that has an extruded width and extruded height. Since this class is more closely related to a closed polygonal area than a line with either width or height, this class is used rather than the DtOsgExtrudedLine model to calculate an extruded shape (width) around a the line itself as a closed figure. This can then be passed to the DtOsgExtrudedPolygonModel for rendering.

Inheritance diagram for makVrv::DtOsg3DVolumetricLineModel:
Inheritance graph
[legend]

Public Member Functions

 DtOsg3DVolumetricLineModel (DtDe &de, DtUniqueID id)
 
virtual ~DtOsg3DVolumetricLineModel ()
 
virtual void setColor (float r, float g, float b, float a)
 
virtual void setInsideColor (float r, float g, float b, float a)
 
virtual void getInsideColor (float &r, float &g, float &b, float &a)
 
virtual void setOutsideColor (float r, float g, float b, float a)
 
virtual void getOutsideColor (float &r, float &g, float &b, float &a)
 
virtual void setPhysicalLineHeight (double height)
 
virtual void setPhysicalLineWidth (double height)
 
virtual void setDimensions (double w, double h)
 
virtual void setPickable (bool)
 
virtual void setSolid (bool)
 
virtual void setScribed (bool)
 
virtual void setScribeColor (float r, float g, float b, float a)
 
virtual void setScribeWidth (float)
 
virtual void addPoint (const DtVector &position, int index=-1)
 
virtual void removePoint (int index)
 
virtual void removePosition (int index)
 
virtual void setPoint (int index, const DtVector &position)
 
virtual void setPosition (int index, const DtVector &position)
 
void setOrigin (const DtVector &origin)
 
virtual void setVisible (bool isVisible)
 
virtual void setFill (bool f)
 
virtual void setOrientation (int vtx, const DtTaitBryan &orientation)
 
virtual void setScribeAllPolygons (bool)
 
virtual void setIsSupportModel (bool isSupport)
 
virtual void setUseDynamicOrigin (bool)
 
virtual void setModelDefinition (const std::string &str)
 
- Public Member Functions inherited from makVrv::Dt3DVolumetricLineModel
 Dt3DVolumetricLineModel (DtDe &de, DtUniqueID id)
 
virtual ~Dt3DVolumetricLineModel ()
 
- Public Member Functions inherited from makVrv::DtModel
 DtModel (DtDe &de, DtUniqueID id)
 
virtual ~DtModel ()
 
DtModelInstancecreateModelInstance (const std::string &modelDefName, bool realize=true)
 
virtual const std::string & modelDefinitionName ()
 
virtual void saveModelToFile (const std::string &filename)
 
virtual const std::string & className () const
 
unsigned int transformSize () const
 
virtual const DtVectorposition (int vtx=0) const
 
virtual void setPositionOffset (const DtVector &positionOffset)
 
virtual const DtVectorpositionOffset () const
 
virtual void setPositionAndOrientation (int vtx, const DtVector &positionOffset, const DtTaitBryan &orientation)
 
virtual const DtTaitBryan & orientation (int vtx=0) const
 
virtual void setOrientationOffset (const DtTaitBryan &orientationOffset)
 
virtual const DtTaitBryan & orientationOffset () const
 
virtual void enableColorBlending (bool b)
 
virtual void setBlendColor (float r, float g, float b, float a)
 
virtual void getBlendColor (float &r, float &g, float &b, float &a)
 
virtual bool colorBlendingEnabled () const
 
virtual void enableLighting (bool l)
 
virtual int modelSet () const
 
const DtVectorboundingBoxExtents () const
 
void getBoundingBoxExtents (double &x, double &y, double &z) const
 
const DtVectorboundingBoxCenter () const
 
virtual void getBoundingBoxCenter (double &x, double &y, double &z) const
 
virtual void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 
void setContributesToBound (bool trueOrFalse)
 
bool contributesToBound () const
 
DtDede ()
 
virtual void setModelInstance (DtModelInstance *modelInstance)
 
virtual void promoteBackgroundModelInstance (DtModelDefinition &defintion)
 
virtual bool visible () const
 
DtUniqueID parentSceneObjectID () const
 
virtual void addedToSceneObjectAsProp (const DtUniqueID &sceneObj)
 
virtual void addedToSceneObject (const DtUniqueID &sceneObj, int modelSet, int visualizerType)
 
virtual void setElementId (DtUniqueID id)
 
virtual void removedFromSceneObject ()
 
virtual bool isProp ()
 
virtual void updateMinLastFrameDistance (float distance)
 
virtual void resetLastFrameDistance ()
 
virtual float minLastFrameDistance () const
 
virtual DtModelInstancemodelInstance ()
 
virtual const DtModelInstancemodelInstance () const
 
int visualizerType () const
 
virtual bool supportsMultithreadedLoad ()
 
virtual void backgroundLoad ()
 
virtual void foregroundLoad ()
 
virtual bool isActivelyBackgroundLoading ()
 
virtual DtLoaderHandlegetLoadQueueHandle ()
 

Protected Member Functions

virtual void update ()
 
virtual void needsUpdate ()
 
virtual void slot_coordinateSystemChanged ()
 
virtual void addToScene (const DtUniqueID &sceneObjectId, int modelSet, int visualizerType)
 
virtual void removeFromScene ()
 
- Protected Member Functions inherited from makVrv::DtModel
virtual void addToSceneAsProp (const DtUniqueID &sceneObjectId)
 
virtual void initializeModelInstance ()
 
void slot_modelInstanceChanged (DtModelInstance *instance)
 
virtual void waitAndClearLoadHandle ()
 
virtual void removedFromLoadQueue ()
 
virtual void setDoneBackgroundLoading ()
 
virtual void setActivelyBackgroundLoading ()
 

Protected Attributes

DtOsgSceneConnectormySceneConnector
 
DtUniqueID myParentId
 
DtVector myOrigin
 
bool myNeedsUpdate
 
bool myGeometryChanged
 
float myPhysicalLineWidth
 
float myPhysicalLineHeight
 
bool myUseDynamicOrigin
 
geos::geom::CoordinateSequence * myCoordinateSequence
 
DtCoordTransform myGeocentricToTopographicTransform
 
DtCoordTransform myTopographicToGeocentricTransform
 
DtSignalConnectionManager myConnections
 
DtCoordinateSystemmyCoordinateSystem = nullptr
 
- Protected Attributes inherited from makVrv::DtModel
DtLoaderHandlemyInLoadQueueHandle
 
DtDemyDe
 
const DtUniqueID myUniqueId
 
bool myColorBlendingEnabled
 
DtModelInstancemyBackgroundModelInstance
 
float myMinLastFrameDistance
 
TransformList myTransforms
 
DtModelInstancemyModelInstance
 
int myModelSet
 
int myVisualizerType
 
bool myContributesToBound
 
DtUniqueID myParentSceneObjectID
 
bool myIsPropFlag
 
float myBlendColor [4]
 
bool myVisibleFlag
 
DtVector myPositionOffset
 
DtTaitBryan myOrientationOffset
 
std::string myModelDefinitionName
 

Additional Inherited Members

- Public Attributes inherited from makVrv::DtModel
boost::signalslib::signal
< void(DtModel *)> 
signal_modelToBeDestroyed
 
boost::signalslib::signal
< void(DtModel *)> 
signal_modelChanged
 
boost::signalslib::signal
< bool(DtModel *, bool),
SlotReturnOR
signal_visibilityChangeRequested
 
boost::signalslib::signal
< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceCreated
 
boost::signalslib::signal
< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceToBeDestroyed
 
- Protected Types inherited from makVrv::DtModel
typedef std::vector
< ObjectTransform
TransformList
 
- Static Protected Attributes inherited from makVrv::DtModel
static bool theInittedState
 

Constructor & Destructor Documentation

makVrv::DtOsg3DVolumetricLineModel::DtOsg3DVolumetricLineModel ( DtDe de,
DtUniqueID  id 
)

CTOR.

virtual makVrv::DtOsg3DVolumetricLineModel::~DtOsg3DVolumetricLineModel ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtOsg3DVolumetricLineModel::setColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set the inside and outside color of the line.

Implements makVrv::Dt3DVolumetricLineModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::setInsideColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set the color at the center of the volumetric line.

Implements makVrv::Dt3DVolumetricLineModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::getInsideColor ( float &  r,
float &  g,
float &  b,
float &  a 
)
virtual

Retrieves the inside color.

virtual void makVrv::DtOsg3DVolumetricLineModel::setOutsideColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set the color on the outside of the volumetric line.

Implements makVrv::Dt3DVolumetricLineModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::getOutsideColor ( float &  r,
float &  g,
float &  b,
float &  a 
)
virtual

Retrieves the inside color.

virtual void makVrv::DtOsg3DVolumetricLineModel::setPhysicalLineHeight ( double  height)
virtual

Set the height (in meters) of the line.

Implements makVrv::Dt3DVolumetricLineModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::setPhysicalLineWidth ( double  height)
virtual

Set the width (in meters) of the line.

Implements makVrv::Dt3DVolumetricLineModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::setDimensions ( double  w,
double  h 
)
virtual

Sets the width and height of the line.

Implements makVrv::Dt3DVolumetricLineModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::setPickable ( bool  )
virtual

Sets whether or not the line is selectable.

Implements makVrv::Dt3DVolumetricLineModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::setSolid ( bool  )
virtual

Sets whether or not this volumetric line is filled or just outlined.

Implements makVrv::Dt3DVolumetricLineModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::setScribed ( bool  )
virtual

Sets whether or not the line is scribed.

Implements makVrv::Dt3DVolumetricLineModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::setScribeColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set the scribe line color.

Implements makVrv::Dt3DVolumetricLineModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::setScribeWidth ( float  )
virtual

Sets the width of the scribe line.

Implements makVrv::Dt3DVolumetricLineModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::addPoint ( const DtVector position,
int  index = -1 
)
virtual

Add a new point on the volumetric line at specified index, or at the end if index is -1.

virtual void makVrv::DtOsg3DVolumetricLineModel::removePoint ( int  index)
virtual

Removes the point at the specified index.

virtual void makVrv::DtOsg3DVolumetricLineModel::removePosition ( int  index)
virtual

Calls removePoint.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::setPoint ( int  index,
const DtVector position 
)
virtual

Sets the position of the point at the specified index.

virtual void makVrv::DtOsg3DVolumetricLineModel::setPosition ( int  index,
const DtVector position 
)
virtual

If index is 0, sets origin.

Reimplemented from makVrv::DtModel.

void makVrv::DtOsg3DVolumetricLineModel::setOrigin ( const DtVector origin)

Sets origin of this line.

virtual void makVrv::DtOsg3DVolumetricLineModel::setVisible ( bool  isVisible)
virtual

Sets whether or not line is visible.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::setFill ( bool  f)
virtual

Sets whether or not the object is filled (top and bottom)

virtual void makVrv::DtOsg3DVolumetricLineModel::setOrientation ( int  vtx,
const DtTaitBryan &  orientation 
)
virtual

Sets line orientation. Only vtx 0 is used.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::setScribeAllPolygons ( bool  )
virtual

Sets whether or not to only scribe the outline (and not the line edges). Only valid if scribed is true. If set to true will scribe all point connections along the polygon. If false will only scribe the top and bottom of the polygon.

virtual void makVrv::DtOsg3DVolumetricLineModel::setIsSupportModel ( bool  isSupport)
virtual

Set whether the model is part of the support group (whether or not other scene objects can ground clamp to this model)

Implements makVrv::DtModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::setUseDynamicOrigin ( bool  )
virtual

If true, when the origin changes all the points move with the origin. Default is false. This means that when the origin changes only point 0 moves.

Implements makVrv::Dt3DVolumetricLineModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::setModelDefinition ( const std::string &  str)
virtual

Sets the model definition on the model instance.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::update ( )
protectedvirtual

Called on tick when updated, calls updateGeometry() of model instance.

virtual void makVrv::DtOsg3DVolumetricLineModel::needsUpdate ( )
protectedvirtual

Sets needs update flag such that on next update pass the object is updated.

virtual void makVrv::DtOsg3DVolumetricLineModel::addToScene ( const DtUniqueID sceneObjectId,
int  modelSet,
int  visualizerType 
)
protectedvirtual

Attaches the model to the scene.

Implements makVrv::DtModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::removeFromScene ( )
protectedvirtual

Detaches the model from the scene.

Implements makVrv::DtModel.

virtual void makVrv::DtOsg3DVolumetricLineModel::slot_coordinateSystemChanged ( )
protectedvirtual

slot for when the coordinate system changes

Member Data Documentation

DtOsgSceneConnector* makVrv::DtOsg3DVolumetricLineModel::mySceneConnector
protected
DtUniqueID makVrv::DtOsg3DVolumetricLineModel::myParentId
protected
DtVector makVrv::DtOsg3DVolumetricLineModel::myOrigin
protected
bool makVrv::DtOsg3DVolumetricLineModel::myNeedsUpdate
protected
bool makVrv::DtOsg3DVolumetricLineModel::myGeometryChanged
protected
float makVrv::DtOsg3DVolumetricLineModel::myPhysicalLineWidth
protected
float makVrv::DtOsg3DVolumetricLineModel::myPhysicalLineHeight
protected
bool makVrv::DtOsg3DVolumetricLineModel::myUseDynamicOrigin
protected
geos::geom::CoordinateSequence* makVrv::DtOsg3DVolumetricLineModel::myCoordinateSequence
protected
DtCoordTransform makVrv::DtOsg3DVolumetricLineModel::myGeocentricToTopographicTransform
protected
DtCoordTransform makVrv::DtOsg3DVolumetricLineModel::myTopographicToGeocentricTransform
protected
DtSignalConnectionManager makVrv::DtOsg3DVolumetricLineModel::myConnections
protected
DtCoordinateSystem* makVrv::DtOsg3DVolumetricLineModel::myCoordinateSystem = nullptr
protected

local clone of the system wide coordinate system. for thread safety.


The documentation for this class was generated from the following file:

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)