VR-Forces 4.8 Class Documentation
 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::DtOsgEllipsoidArcModel Class Reference

OSG implementation of distributed cuboid model. More...

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

Public Member Functions

 DtOsgEllipsoidArcModel (DtDe &de, DtUniqueID &id)
 Instantiates a new DtOsgEllipsoidArcModel. More...
 
virtual ~DtOsgEllipsoidArcModel ()
 Removes the model instance from the scene and deletes the scene connector. More...
 
virtual const std::string & className () const
 Returns the model's class name (DtOsgEllipsoidArcModel) More...
 
virtual void setRelativePosition (double x, double y, double z)
 Set the local translation of the ellipsoid Sets the position of the model relative to the scene connector. More...
 
virtual void setRelativeOrientation (const DtTaitBryan &ori)
 Set the local orientation of the ellipsoid Sets the orientation of the model's scene connector. More...
 
virtual void setDimensions (double x, double y, double z)
 Set the dimensions of the ellipsoid Sets the lengths of the ellipsoid's axes. More...
 
virtual void setColor (float r, float g, float b, float a)
 Set the color of the ellipsoid Sets the color of the ellipsoid. More...
 
virtual void setInsideColor (float r, float g, float b, float a)
 Set the color at the center of the sphere Sets the color of the inside of the ellipsoid (the centroid) More...
 
virtual void setOutsideColor (float r, float g, float b, float a)
 Set the color on the surface of the sphere Sets the color of the outside (surface) of the ellipsoid. More...
 
virtual void setVisible (bool visible)
 Set whether the ellipsoid is visible Changes the visibility of the ellipsoid arc model. More...
 
virtual void setPosition (int vtx, const DtVector &position)
 Set the position of the ellipsoid; only vtx == 0 has an effect Sets the position of the model on the scene connector. More...
 
virtual void setOrientation (int vtx, const DtTaitBryan &orientation)
 Set the orientation of the ellipsoid; only vtx == 0 has an effect Sets the orientation of the model on the scene connector. More...
 
virtual void setAzimuthRange (float center, float sweep)
 Set the azimuth range of the arc Sets the azimuth range of the ellipsoid arc. More...
 
virtual void setElevationRange (float center, float sweep)
 Set the inclination range of the arc Sets the elevation range of the ellipsoid arc. More...
 
virtual void setMaxAngleSegment (float angleSegmentMax)
 Set the max angle segment used when building the geometry Sets the max angle segment between samples on the ellipsoid's surface. More...
 
virtual void setShowLines (bool showLines)
 Set whether the wireframe outlines are visible on the geometry Whether to show the wireframe lines for the model. More...
 
virtual void setLinesHaveAlpha (bool lineAlpha)
 Set whether the wireframe outlines should be rendered with alpha Sets whether the alpha component of the ellipsoid's colors should apply to the wireframe outlines as well as the faces, or just to the faces. More...
 
virtual void addToScene (const DtUniqueID &sceneObjectId, int modelSet, int visualizerType)
 Attaches the model to the scene If this model has a modelinstance, it is attached to the scene. More...
 
virtual void removeFromScene ()
 Detaches the model from the scene If this model has a modelinstance, it is detached from the scene. More...
 
virtual void setModelDefinition (const std::string &str)
 Sets the model definition on the model instance Overridden to prevent lookup and instantiation of model instance using the DtModelInstanceFactory. More...
 
virtual void setIsSupportModel (bool isSupport)
 Set whether the model is part of the support group Set whether or not other scene objects can ground clamp to this model. More...
 
- Public Member Functions inherited from makVrv::DtEllipsoidArcModel
 DtEllipsoidArcModel (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtEllipsoidArcModel ()
 DTOR. More...
 
- Public Member Functions inherited from makVrv::DtModel
 DtModel (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtModel ()
 DTOR. More...
 
DtModelInstancecreateModelInstance (const std::string &modelDefName, bool realize=true)
 Set the model definition and creates an instance of the model. More...
 
virtual const std::string & modelDefinitionName ()
 returns the model definition name. More...
 
virtual void saveModelToFile (const std::string &filename)
 
unsigned int transformSize () const
 Get the number of position/orientations this model has. More...
 
virtual const DtVectorposition (int vtx=0) const
 Get the Position of a given point. More...
 
virtual void removePosition (int vtx)
 Remove a transform at the given position. More...
 
virtual void setPositionOffset (const DtVector &positionOffset)
 Set the position offset of the model. More...
 
virtual const DtVectorpositionOffset () const
 Get the Position Offset of the model. More...
 
virtual void setPositionAndOrientation (int vtx, const DtVector &positionOffset, const DtTaitBryan &orientation)
 Set the position and orientation of a vertex in the model at the same time. More...
 
virtual const DtTaitBryan & orientation (int vtx=0) const
 Get the Orientation of a given point. More...
 
virtual void setOrientationOffset (const DtTaitBryan &orientationOffset)
 Set the Orientation Offset of the model. More...
 
virtual const DtTaitBryan & orientationOffset () const
 Get the Orientation Offset of the model. More...
 
virtual void enableColorBlending (bool b)
 Enable / disable color blending for this model. More...
 
virtual void setBlendColor (float r, float g, float b, float a)
 Set color to use if color blending is enabled. More...
 
virtual void getBlendColor (float &r, float &g, float &b, float &a)
 Returns the blend color. More...
 
virtual bool colorBlendingEnabled () const
 Returns whether or not blending is enabled. More...
 
virtual void enableLighting (bool l)
 set whether the model is lit; this may not be an option on all models More...
 
virtual int modelSet () const
 Get the model set this model is part of. More...
 
const DtVectorboundingBoxExtents () const
 Get the bounding box extents of the model instance. More...
 
void getBoundingBoxExtents (double &x, double &y, double &z) const
 Get the bounding box extents of the model instance. More...
 
const DtVectorboundingBoxCenter () const
 Get the bounding box center of the model instance. More...
 
virtual void getBoundingBoxCenter (double &x, double &y, double &z) const
 Get the bounding box center of the model instance. More...
 
virtual void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 Get the minimum and maximum X,Y,Z components of the bounding box. More...
 
void setContributesToBound (bool trueOrFalse)
 Set whether this model instance contributes to an object's overall bounding volume. More...
 
bool contributesToBound () const
 Get whether this model instance contributes to an object's overall bounding volume. More...
 
DtDede ()
 Get the DtDe object. More...
 
virtual void setModelInstance (DtModelInstance *modelInstance)
 Internally set the model instance pointer. More...
 
virtual void promoteBackgroundModelInstance (DtModelDefinition &defintion)
 Internally set the model instance pointer to the background one, also realizes and sends signal. More...
 
virtual bool visible () const
 Get the visible state of the model. More...
 
DtUniqueID parentSceneObjectID () const
 Parent of the model. More...
 
virtual void addedToSceneObjectAsProp (const DtUniqueID &sceneObj)
 Called when a scene object added the model as a prop. More...
 
virtual void addedToSceneObject (const DtUniqueID &sceneObj, int modelSet, int visualizerType)
 Called when a scene object added the model with the given model set and visualizer type. More...
 
virtual void setElementId (DtUniqueID id)
 Called when the element ID of the model's parent object is set. More...
 
virtual void removedFromSceneObject ()
 Called when the model was removed from a scene object. More...
 
virtual void setSolid (bool isSolid)
 Set whether or not other this model is drawn filled in. More...
 
virtual bool isProp ()
 Return whether or not this model was added as a prop. More...
 
virtual void updateMinLastFrameDistance (float distance)
 updates the closest distance to an observer over the last frame More...
 
virtual void resetLastFrameDistance ()
 resets the closest distance to an observer More...
 
virtual float minLastFrameDistance () const
 gets the closest distance to an observer last frame More...
 
virtual DtModelInstancemodelInstance ()
 Get the model instance. More...
 
virtual const DtModelInstancemodelInstance () const
 
int visualizerType () const
 The visualizer type determines which channel-specific group node this model will be parented to, and consequently, which observer setting will cause it to be rendered in which channel. More...
 
virtual bool supportsMultithreadedLoad ()
 can be quickly overridden to disable background loading More...
 
virtual void backgroundLoad ()
 the chunk of loading that can safely happen in the background More...
 
virtual void foregroundLoad ()
 the chunk of loading that must happen happen in the foreground, adding to scene graph etc. More...
 
virtual bool isActivelyBackgroundLoading ()
 is this being actively loaded (it has a myInLoadQueueHandle object and it's loading) More...
 
virtual DtLoaderHandlegetLoadQueueHandle ()
 returns the load queue object More...
 

Protected Member Functions

virtual void update ()
 Called on tick when updated, calls updateGeometry() of model instance. More...
 
virtual void needsUpdate ()
 Sets needs update flag such that on next update pass the object is updated. More...
 
- Protected Member Functions inherited from makVrv::DtModel
virtual void addToSceneAsProp (const DtUniqueID &sceneObjectId)
 Add this model to the scene as a prop. More...
 
virtual void initializeModelInstance ()
 Push any state maintained by the model to the model instance. More...
 
void slot_modelInstanceChanged (DtModelInstance *instance)
 Called when the model instance changed. More...
 
virtual void waitAndClearLoadHandle ()
 avoids race condition, on destruction subclasses need to wait for the model to cleanly finish loading this can happen if an object times in and out very quickly More...
 
virtual void removedFromLoadQueue ()
 deletes the myInLoadQueueHandle handle More...
 
virtual void setDoneBackgroundLoading ()
 called by async task, updates myCurrentlyLoading atomic More...
 
virtual void setActivelyBackgroundLoading ()
 called right before tbb task creation More...
 

Protected Attributes

DtOsgSceneConnectormySceneConnector
 
bool myNeedsUpdate
 
- Protected Attributes inherited from makVrv::DtModel
DtLoaderHandlemyInLoadQueueHandle
 
DtDemyDe
 
const DtUniqueID myUniqueId
 The unique id is constant after initialization. More...
 
bool myColorBlendingEnabled
 The color blending enabled is needed to be set by the derived class so it doesn't get down to the model instances when instancing is enabled. More...
 
DtModelInstancemyBackgroundModelInstance
 holds the model created in the background for a bit More...
 
float myMinLastFrameDistance
 last frames mimimal distance to the camera, calculated by the instancing system More...
 
TransformList myTransforms
 We keep our own copy in case we get updates before we get a model instance. More...
 
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::signal< void(DtModel *)> signal_modelToBeDestroyed
 Signal emitted when the model is to be destroyed. More...
 
boost::signal< void(DtModel *)> signal_modelChanged
 
boost::signal< bool(DtModel
*, bool), SlotReturnOR
signal_visibilityChangeRequested
 Signal when the visibility has been requested, if any slot returns false, it will not change. More...
 
boost::signal< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceCreated
 Signal emitted when the model instance is created. More...
 
boost::signal< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceToBeDestroyed
 Signal emitted when the model instance is to be destroyed. More...
 
- Protected Types inherited from makVrv::DtModel
typedef std::vector
< ObjectTransform
TransformList
 
- Static Protected Attributes inherited from makVrv::DtModel
static bool theInittedState
 

Detailed Description

OSG implementation of distributed cuboid model.

Constructor & Destructor Documentation

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

Instantiates a new DtOsgEllipsoidArcModel.

See Also
makVrv::DtEllipsoidArcModel::DtEllipsoidArcModel( DtDe&, DtUniqueID& )
virtual makVrv::DtOsgEllipsoidArcModel::~DtOsgEllipsoidArcModel ( )
virtual

Removes the model instance from the scene and deletes the scene connector.

Member Function Documentation

virtual const std::string& makVrv::DtOsgEllipsoidArcModel::className ( ) const
virtual

Returns the model's class name (DtOsgEllipsoidArcModel)

Returns
the model's class name

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgEllipsoidArcModel::setRelativePosition ( double  x,
double  y,
double  z 
)
virtual

Set the local translation of the ellipsoid Sets the position of the model relative to the scene connector.

Parameters
xthe relative x position
ythe relative y position
zthe relative z position

Implements makVrv::DtEllipsoidArcModel.

virtual void makVrv::DtOsgEllipsoidArcModel::setRelativeOrientation ( const DtTaitBryan &  ori)
virtual

Set the local orientation of the ellipsoid Sets the orientation of the model's scene connector.

Parameters
orithe relative orientation in Tait-Bryan form

Implements makVrv::DtEllipsoidArcModel.

virtual void makVrv::DtOsgEllipsoidArcModel::setDimensions ( double  x,
double  y,
double  z 
)
virtual

Set the dimensions of the ellipsoid Sets the lengths of the ellipsoid's axes.

Parameters
xthe length of the ellipsoid's x axis
ythe length of the ellipsoid's y axis
zthe length of the ellipsoid's z axis

Implements makVrv::DtEllipsoidArcModel.

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

Set the color of the ellipsoid Sets the color of the ellipsoid.

Parameters
rthe red component of the color
gthe green component of the color
bthe blue component of the color
athe alpha component of the color

Implements makVrv::DtEllipsoidArcModel.

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

Set the color at the center of the sphere Sets the color of the inside of the ellipsoid (the centroid)

Parameters
rthe red component of the color
gthe green component of the color
bthe blue component of the color
athe alpha component of the color

Implements makVrv::DtEllipsoidArcModel.

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

Set the color on the surface of the sphere Sets the color of the outside (surface) of the ellipsoid.

Parameters
rthe red component of the color
gthe green component of the color
bthe blue component of the color
athe alpha component of the color

Implements makVrv::DtEllipsoidArcModel.

virtual void makVrv::DtOsgEllipsoidArcModel::setVisible ( bool  visible)
virtual

Set whether the ellipsoid is visible Changes the visibility of the ellipsoid arc model.

Parameters
isVisiblewhether the model should be visible or not

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgEllipsoidArcModel::setPosition ( int  vtx,
const DtVector position 
)
virtual

Set the position of the ellipsoid; only vtx == 0 has an effect Sets the position of the model on the scene connector.

Parameters
vtxthe vertex to set the position of (only 0 is supported)
positionthe position to set

Implements makVrv::DtEllipsoidArcModel.

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

Set the orientation of the ellipsoid; only vtx == 0 has an effect Sets the orientation of the model on the scene connector.

Parameters
vtxthe vertex to set the position of (only 0 is supported)
orithe orientation to set

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtOsgEllipsoidArcModel::setAzimuthRange ( float  center,
float  sweep 
)
virtual

Set the azimuth range of the arc Sets the azimuth range of the ellipsoid arc.

Parameters
centerthe center of the azimuth range
sweepthe angle between the center and the azimuth max/min

Implements makVrv::DtEllipsoidArcModel.

virtual void makVrv::DtOsgEllipsoidArcModel::setElevationRange ( float  center,
float  sweep 
)
virtual

Set the inclination range of the arc Sets the elevation range of the ellipsoid arc.

Parameters
centerthe center of the elevation range
sweepthe angle between the center and the elevation max/min

Implements makVrv::DtEllipsoidArcModel.

virtual void makVrv::DtOsgEllipsoidArcModel::setMaxAngleSegment ( float  angleSegmentMax)
virtual

Set the max angle segment used when building the geometry Sets the max angle segment between samples on the ellipsoid's surface.

Parameters
angleSegmentMaxthe max angle segment between samples

Implements makVrv::DtEllipsoidArcModel.

virtual void makVrv::DtOsgEllipsoidArcModel::setShowLines ( bool  showLines)
virtual

Set whether the wireframe outlines are visible on the geometry Whether to show the wireframe lines for the model.

Parameters
showLineswhether to show the lines or hide them

Implements makVrv::DtEllipsoidArcModel.

virtual void makVrv::DtOsgEllipsoidArcModel::setLinesHaveAlpha ( bool  lineAlpha)
virtual

Set whether the wireframe outlines should be rendered with alpha Sets whether the alpha component of the ellipsoid's colors should apply to the wireframe outlines as well as the faces, or just to the faces.

Parameters
whetherthe lines should be affected by the color's alpha values.

Implements makVrv::DtEllipsoidArcModel.

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

Attaches the model to the scene If this model has a modelinstance, it is attached to the scene.

See Also
makVrv::DtModel::addToScene( const DtUniqueID&, int, int )

Implements makVrv::DtModel.

virtual void makVrv::DtOsgEllipsoidArcModel::removeFromScene ( )
virtual

Detaches the model from the scene If this model has a modelinstance, it is detached from the scene.

See Also
makVrv::DtModel::removeFromScene()

Implements makVrv::DtModel.

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

Sets the model definition on the model instance Overridden to prevent lookup and instantiation of model instance using the DtModelInstanceFactory.

Parameters
strthe model definition to set
See Also
makVrv::DtModel::setModelDefinition( const std::string& )

Reimplemented from makVrv::DtModel.

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

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

Parameters
isSupportwhether the model should be in the support group or not

Implements makVrv::DtModel.

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

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

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

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

Member Data Documentation

DtOsgSceneConnector* makVrv::DtOsgEllipsoidArcModel::mySceneConnector
protected
bool makVrv::DtOsgEllipsoidArcModel::myNeedsUpdate
protected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)