VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
makVrv::DtMultiLineModel Class Reference

Implementation of class that will manage a collection of line models. More...

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

Classes

struct  Segment

Public Member Functions

 DtMultiLineModel (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtMultiLineModel ()
 DTOR.
virtual void setSegmentColor (unsigned int segmentIndex, float r, float g, float b, float a)
 Set the color of a particular segment.
virtual void setSegmentStipplePattern (unsigned int segmentIndex, unsigned int stipplePattern)
 Set the line stipple pattern for a segment, according to the OpenGL line stippling specification.
virtual void setSegmentWidth (unsigned int segmentIndex, double width)
 Set the width of a line segment.
virtual void setPutOnOverlay (bool enabled)
 Turn on or off occlusion of the line by other objects; default is true.
bool putOnOverlay () const
virtual void setVisible (bool)
 Sets all lines visibile/not visibile.
virtual void setSegmentColor (int line, unsigned int segmentIndex, float r, float g, float b, float a)
 Per line items. If line is -1, applies to all lines.
virtual void setSegmentStipplePattern (int line, unsigned int segmentIndex, unsigned int stipplePattern)
 Set the line stipple pattern for a segment, according to the OpenGL line stippling specification.
virtual void setSegmentWidth (int line, unsigned int segmentIndex, double width)
 Set the width of a line segment.
virtual void addLineModel ()
 Adds a new line model and adds all segments.
virtual void removeLineModel (int)
 Removes the specified line model.
virtual void removeAllLineModels ()
 Removes all the line models.
virtual void setLineModels (int numberOfLines)
 Sets the number of line models to support.
virtual void setVisible (int line, bool)
 Sets the supplied line visible.
virtual void setPosition (int line, int vtx, const DtVector &)
 Sets the vertex position on the given line.
- Public Member Functions inherited from makVrv::DtModel
 DtModel (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtModel ()
 DTOR.
virtual void setModelDefinition (const std::string &str)
 Set the model definition.
virtual void saveModelToFile (const std::string &filename)
virtual std::string className () const
 Get the class name of the model instance owner.
unsigned int transformSize () const
 Get the number of position/orientations this model has.
virtual void setPosition (int vtx, const DtVector &position)
 Set the position of a control vertex in the model.
virtual void removePosition (int vtx)
 Remove a transform at the given position.
const DtVectorposition (int vtx=0) const
 Get the Position of a given point.
const DtTaitBryan & orientation (int vtx=0) const
 Get the Orientation of a given point.
virtual void setOrientation (int vtx, const DtTaitBryan &orientation)
 Set the orientation of a vertex in the model.
virtual void enableColorBlending (bool b)
 Enable / disable color blending for this model.
virtual void setBlendColor (float r, float g, float b, float a)
 Set color to use if color blending is enabled.
virtual void getBlendColor (float &r, float &g, float &b, float &a)
 Returns the blend color.
virtual bool colorBlendingEnabled () const
 Returns whether or not blending is enabled.
virtual void setColor (float r, float g, float b, float a)
 set the model's color
virtual void enableLighting (bool l)
 set whether the model is lit; this may not be an option on all models
virtual int modelSet () const
 Get the model set this model is part of.
const DtVectorboundingBoxExtents () const
 Get the bounding box extents of the model instance.
void getBoundingBoxExtents (double &x, double &y, double &z) const
 Get the bounding box extents of the model instance.
const DtVectorboundingBoxCenter () const
 Get the bounding box center of the model instance.
virtual void getBoundingBoxCenter (double &x, double &y, double &z) const
 Get the bounding box center of the model instance.
virtual void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 Get the minimum and maximum X,Y,Z components of the bounding box.
void setContributesToBound (bool trueOrFalse)
 Set whether this model instance contributes to an object's overall bounding volume.
bool contributesToBound () const
 Get whether this model instance contributes to an object's overall bounding volume.
DtDede ()
 Get the DtDe object.
virtual void setModelInstance (DtModelInstance *modelInstance)
 Internally set the model instance pointer.
virtual bool visible () const
 Get the visible state of the model.
DtUniqueID parentSceneObjectID () const
 Parent of the model.
virtual void addedToSceneObjectAsProp (const DtUniqueID &sceneObj)
 Called when a scene object added the model as a prop.
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.
virtual void setElementId (DtUniqueID id)
 Called when the element ID of the model's parent object is set.
virtual void removedFromSceneObject ()
 Called when the model was removed from a scene object.
virtual void setSolid (bool isSolid)
 Set whether or not other this model is drawn filled in.
virtual bool isProp ()
 Return whether or not this model was added as a prop.
virtual DtModelInstancemodelInstance ()
 Get the model instance.
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.

Protected Types

typedef std::vector
< DtSegmentedLineModel * > 
LineModels
typedef boost::unordered_map
< int, Segment
Segments
- Protected Types inherited from makVrv::DtModel
typedef std::vector
< ObjectTransform
TransformList

Protected Member Functions

virtual void addToScene (const DtUniqueID &sceneObjectId, int modelSet, int visualizerType)
 Adds model to scene.
virtual void removeFromScene ()
 Removes the model from the scene.
virtual void setIsSupportModel (bool isSupport)
 Set whether the model is part of the support group (whether or not other scene objects can ground clamp to this model)
virtual DtSegmentedLineModelcreateOverlayLineModel ()=0
 Implemented by subclasses to return specific model types.
virtual DtSegmentedLineModelcreateGeometryLineModel ()=0
- Protected Member Functions inherited from makVrv::DtModel
virtual void addToSceneAsProp (const DtUniqueID &sceneObjectId)
 Add this model to the scene as a prop.
virtual void initializeModelInstance ()
 Push any state maintained by the model to the model instance.
void slot_modelInstanceChanged (DtModelInstance *instance)
 Called when the model instance changed.

Protected Attributes

LineModels myLineModels
Segments mySegments
bool myPutOnOverlay
- Protected Attributes inherited from makVrv::DtModel
DtDemyDe
const DtUniqueID myUniqueId
bool myColorBlendingEnabled

Additional Inherited Members

- Public Attributes inherited from makVrv::DtModel
boost::signal< void(DtModel *)> signal_modelToBeDestroyed
 Signal emitted when the model is to be destroyed.
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.
boost::signal< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceCreated
 Signal emitted when the model instance is created.
boost::signal< void(DtModelInstance
*, DtModel *)> 
signal_modelInstanceToBeDestroyed
 Signal emitted when the model instance is to be destroyed.

Detailed Description

Implementation of class that will manage a collection of line models.

Member Typedef Documentation

typedef boost::unordered_map<int, Segment> makVrv::DtMultiLineModel::Segments
protected

Constructor & Destructor Documentation

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

CTOR.

virtual makVrv::DtMultiLineModel::~DtMultiLineModel ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtMultiLineModel::setSegmentColor ( unsigned int  segmentIndex,
float  r,
float  g,
float  b,
float  a 
)
virtual

Set the color of a particular segment.

virtual void makVrv::DtMultiLineModel::setSegmentStipplePattern ( unsigned int  segmentIndex,
unsigned int  stipplePattern 
)
virtual

Set the line stipple pattern for a segment, according to the OpenGL line stippling specification.

virtual void makVrv::DtMultiLineModel::setSegmentWidth ( unsigned int  segmentIndex,
double  width 
)
virtual

Set the width of a line segment.

virtual void makVrv::DtMultiLineModel::setPutOnOverlay ( bool  enabled)
virtual

Turn on or off occlusion of the line by other objects; default is true.

bool makVrv::DtMultiLineModel::putOnOverlay ( ) const
inline
virtual void makVrv::DtMultiLineModel::setVisible ( bool  )
virtual

Sets all lines visibile/not visibile.

Reimplemented from makVrv::DtModel.

virtual void makVrv::DtMultiLineModel::setSegmentColor ( int  line,
unsigned int  segmentIndex,
float  r,
float  g,
float  b,
float  a 
)
virtual

Per line items. If line is -1, applies to all lines.

Set the color of a particular segment

virtual void makVrv::DtMultiLineModel::setSegmentStipplePattern ( int  line,
unsigned int  segmentIndex,
unsigned int  stipplePattern 
)
virtual

Set the line stipple pattern for a segment, according to the OpenGL line stippling specification.

virtual void makVrv::DtMultiLineModel::setSegmentWidth ( int  line,
unsigned int  segmentIndex,
double  width 
)
virtual

Set the width of a line segment.

virtual void makVrv::DtMultiLineModel::addLineModel ( )
virtual

Adds a new line model and adds all segments.

Reimplemented in makVrf::DtSensorContactLinesModel.

virtual void makVrv::DtMultiLineModel::removeLineModel ( int  )
virtual

Removes the specified line model.

Reimplemented in makVrf::DtSensorContactLinesModel.

virtual void makVrv::DtMultiLineModel::removeAllLineModels ( )
virtual

Removes all the line models.

virtual void makVrv::DtMultiLineModel::setLineModels ( int  numberOfLines)
virtual

Sets the number of line models to support.

Will add points for each current segment defined

virtual void makVrv::DtMultiLineModel::setVisible ( int  line,
bool   
)
virtual

Sets the supplied line visible.

Reimplemented in makVrf::DtSensorContactLinesModel.

virtual void makVrv::DtMultiLineModel::setPosition ( int  line,
int  vtx,
const DtVector  
)
virtual

Sets the vertex position on the given line.

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

Adds model to scene.

Since this model, itself, is not added, simply stores members

Implements makVrv::DtModel.

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

Removes the model from the scene.

Implements makVrv::DtModel.

virtual void makVrv::DtMultiLineModel::setIsSupportModel ( bool  isSupport)
protectedvirtual

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 DtSegmentedLineModel* makVrv::DtMultiLineModel::createOverlayLineModel ( )
protectedpure virtual

Implemented by subclasses to return specific model types.

Implemented in makVrv::DtOsgMultiLineModel.

virtual DtSegmentedLineModel* makVrv::DtMultiLineModel::createGeometryLineModel ( )
protectedpure virtual

Implemented in makVrv::DtOsgMultiLineModel.

Member Data Documentation

LineModels makVrv::DtMultiLineModel::myLineModels
protected
Segments makVrv::DtMultiLineModel::mySegments
protected
bool makVrv::DtMultiLineModel::myPutOnOverlay
protected

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

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)