VR-Forces 4.10 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::DtSpiderWebModelInstance Class Referenceabstract

vrvGraphics implementation of the Spider Web Model More...

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

Public Member Functions

 DtSpiderWebModelInstance (DtDe &de)
 CTOR. More...
 
virtual ~DtSpiderWebModelInstance ()
 DTOR. More...
 
virtual void setOverlay (unsigned int overlayId)
 Set the overlay the model will be rendered on. More...
 
virtual bool realize (DtModelDefinition &definition)
 Apply model definition defaults. More...
 
virtual void update ()
 
virtual void recreateSpiderWeb ()
 Force the recreation of the spider web Akin to calling deleteSpiderWeb() and createSpiderWebIfNecessary() More...
 
virtual void setPosition (const DtVector &position)
 Set/Get the global position of the spider web. More...
 
virtual DtVector position () const
 
virtual void setOrientation (const DtTaitBryan &orientation)
 Set the global orientation of the spider web. More...
 
virtual DtTaitBryan orientation () const
 
virtual void setMaxAngleSegment (double angleSegmentMax)
 Set/Get the max angle segment used when building the spider web Default value is PI / 18. More...
 
virtual double maxAngleSegment () const
 
virtual void setRadius (double x)
 Set/Get the radius (in meters) of the spider web Default value is 0. More...
 
virtual double radius () const
 
virtual void setScale (float scale)
 Set/Get the spider web's scale factor Default value is 1. More...
 
virtual float scale () const
 
virtual void setVisible (bool isVisible)
 Set/Get whether the spider web is visible Default value is true (visible) More...
 
virtual bool isVisible () const
 
virtual void setNumberOfSpokes (unsigned int numSpokes)
 Set/Get the number of spokes the spider web has Default value is 0. More...
 
virtual unsigned int numberOfSpokes () const
 
virtual void setNumberOfRings (unsigned int numRings)
 Set/Get the number of rings the spider web has Default value is 0. More...
 
virtual unsigned int numberOfRings () const
 
virtual void setIsInnerRingFilled (bool filled)
 Set/Get whether the inner most ring of the spider web is filled Default is true. More...
 
virtual bool isInnerRingFilled () const
 
virtual void setRingIntervalDistance (double interval)
 Set/Get the ring interval distance for the spider web (in meters) Default value is 0. More...
 
virtual double ringIntervalDistance () const
 
virtual void setLineStipplePattern (unsigned int stipplePattern)
 Set/Get the line stipple pattern of the spider web Default value is 0xFFFF. More...
 
virtual unsigned int lineStipplePattern () const
 
virtual void setLineWidth (float width)
 Set/Get the line width of the spider web Default value is 1. More...
 
virtual float lineWidth () const
 
virtual void setColor (float r, float g, float b, float a)
 Set/Get the color of the spider web Valid range for argument values are 0.0 - 1.0. More...
 
virtual bool getColor (float &r, float &g, float &b, float &a) const
 
virtual void setOpacity (float opacity)
 Set/Get the opacity of the spider web Valid range for argument values are 0.0 - 1.0. More...
 
virtual float opacity () const
 
virtual void setEventsEnabled (bool enabled, unsigned long long userData)
 Set/Get to handle or not handle mouse events Default value is false (events not enabled) More...
 
virtual bool eventsEnabled () const
 
virtual void setGroup (int groupNum)
 Set/Get the group this overlay will be drawn in. More...
 
virtual int group () const
 
virtual void setIsDecorated (bool isDecorated)
 Set/Get whether or not this spider web is decorated. More...
 
virtual bool isDecorated () const
 
virtual void setFontFile (std::string fontFile)
 Set/Get the font file to use for the spider web. More...
 
virtual std::string fontFile () const
 
virtual void setFontPointSize (float pointSize)
 Set/Get the font point size for the spider web. More...
 
virtual float fontPointSize () const
 
virtual void setFontColor (float r, float g, float b, float a)
 Set/Get the font color for the spider web. More...
 
virtual bool getFontColor (float &r, float &g, float &b, float &a) const
 
virtual void setDistanceUnit (DtSharedDisplayUnitsSettings::DistanceUnits unit)
 Set/Get the distance unit to use for the spider web. More...
 
virtual
DtSharedDisplayUnitsSettings::DistanceUnits 
distanceUnit () const
 
virtual void setDistanceDecimals (unsigned int decimals)
 Set/Get the number of decimals to use for distance for the spider web. More...
 
virtual unsigned int distanceDecimals () const
 
virtual void setOrientationUnit (DtSharedDisplayUnitsSettings::OrientationUnits unit)
 Set/Get the orientation unit to use for the spider web. More...
 
virtual
DtSharedDisplayUnitsSettings::OrientationUnits 
orientationUnit () const
 
virtual void setOrientationDecimals (unsigned int decimals)
 Set/Get the number of decimals to use for orientation values. More...
 
virtual unsigned int orientationDecimals () const
 
- Public Member Functions inherited from makVrv::DtModelInstance
 DtModelInstance (DtDe &de)
 CTOR. More...
 
virtual ~DtModelInstance ()
 DTOR. More...
 
virtual bool cloneInstance (DtModelDefinition &definition)
 Attempt to clone the basic geometry. More...
 
const std::string & realizedDefinitionName () const
 Get the name of the definition that this model instance was realized with. More...
 
virtual bool saveModelToFile (const std::string &filename) const
 Attempt to save the model to a file. 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...
 
void getBoundingBoxCenter (double &x, double &y, double &z) const
 Get the bounding box center of the model instance. More...
 
void getBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 Get the bounding box min/max of the model instance. More...
 
const DtVectorallGeometryboundingBoxExtents () const
 functions for getting the allGeometry versions of the extents (they are calculated by traversing as if all switch paths are active) More...
 
void getAllGeometryBoundingBoxExtents (double &x, double &y, double &z) const
 Get the all geometry version of bounding box extents of the model instance. More...
 
const DtVectorallGeometryboundingBoxCenter () const
 Get the all geometry version of bounding box center of the model instance. More...
 
void getAllGeometryBoundingBoxCenter (double &x, double &y, double &z) const
 Get the all geometry version of bounding box center of the model instance. More...
 
void getAllGeometryBoundingBoxComponents (DtVector &minimum, DtVector &maximum)
 Get the all geometry version of bounding box min/max of the model instance. More...
 
virtual 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...
 
virtual void setBlendColor (float r, float g, float b, float a)
 set the model's color More...
 
virtual void enableColorBlending (bool b)
 Enable / disable coloring on all models in the scene object Note about enableColorBlending: If this particular model has instancing enabled then this flag is set to false and color blending is handled by the instance manager. More...
 

Protected Member Functions

virtual void createSpiderWebIfNecessary ()
 Create my spider web according to current state. More...
 
virtual void deleteSpiderWeb ()
 Delete spider web. More...
 
virtual void updateColors ()
 Update the vertex colors. More...
 
virtual void setSpokeVertexPosition (unsigned int spokeIndex, unsigned int vertexIndex, double x, double y, double z)=0
 Set a vertex position of a spider web spoke. More...
 
virtual void setRingVertexPosition (unsigned int ringIndex, unsigned int vertexIndex, double x, double y, double z)=0
 Set a vertex position of a spider web ring. More...
 
virtual void setLabelPosition (unsigned int labelIndex, double x, double y, double z)=0
 Set the position of a spider web label. More...
 

Protected Attributes

unsigned int myOverlay
 
bool myEventsEnabled
 
unsigned long long myUserData
 
DtVector myPosition
 
DtDcm myOrientationDcm
 
DtTaitBryan myOrientationTaitBryan
 
double myRadius
 
unsigned int myNumberOfSpokes
 
unsigned int myNumberOfRings
 
double myRingIntervalDistance
 
bool myIsRingIntervalSet
 
bool myIsInnerRingFilled
 
bool myIsDecorated
 
bool myVisible
 
float myScale
 
float myColor [4]
 
float myLineWidth
 
unsigned int myLineStipplePattern
 
std::string myFontFile
 
float myFontPointSize
 
float myFontColor [4]
 
double myMaxAngleSegment
 
DtSharedDisplayUnitsSettings::OrientationUnits myOrientationUnitToUse
 
unsigned int myOrientationDecimalsToUse
 
DtSharedDisplayUnitsSettings::DistanceUnits myDistanceUnitToUse
 
unsigned int myDistanceDecimalsToUse
 
int myGroup
 
std::vector< DtSegmentedLine * > mySpokes
 
std::vector< DtSegmentedLine * > myRings
 
std::vector< DtTextProxy * > myLabels
 
- Protected Attributes inherited from makVrv::DtModelInstance
DtDemyDe
 
std::string myRealizedModelDefinitionName
 
DtVector myBoundingBoxCenter
 
DtVector myBoundingBoxExtents
 
DtVector myBoundingBoxMinimum
 
DtVector myBoundingBoxMaximum
 
DtVector myAllGeometryBoundingBoxCenter
 
DtVector myAllGeometryBoundingBoxExtents
 
DtVector myAllGeometryBoundingBoxMinimum
 
DtVector myAllGeometryBoundingBoxMaximum
 
bool myContributesToBound
 
bool myColorBlendingEnabled
 
float myBlendRed
 
float myBlendBlue
 
float myBlendGreen
 
float myBlendAlpha
 

Additional Inherited Members

- Static Public Member Functions inherited from makVrv::DtModelInstance
static float readFloat (const std::string &paramName, const DtModelDefinition &definition)
 
static DtVector readVector (const std::string &paramName, const DtModelDefinition &definition)
 
- Public Attributes inherited from makVrv::DtModelInstance
boost::signalslib::signal
< void(DtModelInstance *)> 
signal_modelInstanceChanged
 

Detailed Description

vrvGraphics implementation of the Spider Web Model

A spider web is defined by: 1) An origin vertex, 2) a radius, 3) the number of spokes, and 4) the number of rings OR ring interval distance

A spider web has the following geometric parameters:

A spider web has the following style properties:

Special Considerations:

Constructor & Destructor Documentation

makVrv::DtSpiderWebModelInstance::DtSpiderWebModelInstance ( DtDe de)

CTOR.

virtual makVrv::DtSpiderWebModelInstance::~DtSpiderWebModelInstance ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtSpiderWebModelInstance::setPosition ( const DtVector position)
virtual

Set/Get the global position of the spider web.

virtual DtVector makVrv::DtSpiderWebModelInstance::position ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setOrientation ( const DtTaitBryan &  orientation)
virtual

Set the global orientation of the spider web.

virtual DtTaitBryan makVrv::DtSpiderWebModelInstance::orientation ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setMaxAngleSegment ( double  angleSegmentMax)
virtual

Set/Get the max angle segment used when building the spider web Default value is PI / 18.

virtual double makVrv::DtSpiderWebModelInstance::maxAngleSegment ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setRadius ( double  x)
virtual

Set/Get the radius (in meters) of the spider web Default value is 0.

virtual double makVrv::DtSpiderWebModelInstance::radius ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setScale ( float  scale)
virtual

Set/Get the spider web's scale factor Default value is 1.

virtual float makVrv::DtSpiderWebModelInstance::scale ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setVisible ( bool  isVisible)
virtual

Set/Get whether the spider web is visible Default value is true (visible)

Implements makVrv::DtModelInstance.

virtual bool makVrv::DtSpiderWebModelInstance::isVisible ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setNumberOfSpokes ( unsigned int  numSpokes)
virtual

Set/Get the number of spokes the spider web has Default value is 0.

virtual unsigned int makVrv::DtSpiderWebModelInstance::numberOfSpokes ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setNumberOfRings ( unsigned int  numRings)
virtual

Set/Get the number of rings the spider web has Default value is 0.

Any prior call to setRingIntervalDistance(...) is ignored, the ring interval distance will be (radius / number_of_rings).

virtual unsigned int makVrv::DtSpiderWebModelInstance::numberOfRings ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setIsInnerRingFilled ( bool  filled)
virtual

Set/Get whether the inner most ring of the spider web is filled Default is true.

virtual bool makVrv::DtSpiderWebModelInstance::isInnerRingFilled ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setRingIntervalDistance ( double  interval)
virtual

Set/Get the ring interval distance for the spider web (in meters) Default value is 0.

Any prior call to setNumberOfRings(...) is ignored, the number of rings drawn will be (radius / ring_interval_distance).

virtual double makVrv::DtSpiderWebModelInstance::ringIntervalDistance ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setLineStipplePattern ( unsigned int  stipplePattern)
virtual

Set/Get the line stipple pattern of the spider web Default value is 0xFFFF.

virtual unsigned int makVrv::DtSpiderWebModelInstance::lineStipplePattern ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setLineWidth ( float  width)
virtual

Set/Get the line width of the spider web Default value is 1.

virtual float makVrv::DtSpiderWebModelInstance::lineWidth ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set/Get the color of the spider web Valid range for argument values are 0.0 - 1.0.

Default value is (1, 1, 1, 1)

virtual bool makVrv::DtSpiderWebModelInstance::getColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setOpacity ( float  opacity)
virtual

Set/Get the opacity of the spider web Valid range for argument values are 0.0 - 1.0.

Default value is 1

virtual float makVrv::DtSpiderWebModelInstance::opacity ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setEventsEnabled ( bool  enabled,
unsigned long long  userData 
)
virtual

Set/Get to handle or not handle mouse events Default value is false (events not enabled)

virtual bool makVrv::DtSpiderWebModelInstance::eventsEnabled ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setGroup ( int  groupNum)
virtual

Set/Get the group this overlay will be drawn in.

The higher the group number, the "closer" to the eyepoint this overlay will be drawn. Use this function to stack overlay objects in the particular order you want them displayed. Default value is 1.

virtual int makVrv::DtSpiderWebModelInstance::group ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setIsDecorated ( bool  isDecorated)
virtual

Set/Get whether or not this spider web is decorated.

When a spider web is decorated, informative labels appear at each ring and spoke indicating the distance of the ring from the center and the angle of each spoke from North (True/Magnetic are supported). Default value is false.

virtual bool makVrv::DtSpiderWebModelInstance::isDecorated ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setFontFile ( std::string  fontFile)
virtual

Set/Get the font file to use for the spider web.

Default value is "FreeSans.otf".

virtual std::string makVrv::DtSpiderWebModelInstance::fontFile ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setFontPointSize ( float  pointSize)
virtual

Set/Get the font point size for the spider web.

Default value is 20.

virtual float makVrv::DtSpiderWebModelInstance::fontPointSize ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setFontColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set/Get the font color for the spider web.

Default value is (1., 1., 1., 0.7).

virtual bool makVrv::DtSpiderWebModelInstance::getFontColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setDistanceUnit ( DtSharedDisplayUnitsSettings::DistanceUnits  unit)
virtual

Set/Get the distance unit to use for the spider web.

Default value is Nautical Miles.

virtual DtSharedDisplayUnitsSettings::DistanceUnits makVrv::DtSpiderWebModelInstance::distanceUnit ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setDistanceDecimals ( unsigned int  decimals)
virtual

Set/Get the number of decimals to use for distance for the spider web.

Default value is 0.

virtual unsigned int makVrv::DtSpiderWebModelInstance::distanceDecimals ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setOrientationUnit ( DtSharedDisplayUnitsSettings::OrientationUnits  unit)
virtual

Set/Get the orientation unit to use for the spider web.

Default value is Degrees.

virtual DtSharedDisplayUnitsSettings::OrientationUnits makVrv::DtSpiderWebModelInstance::orientationUnit ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setOrientationDecimals ( unsigned int  decimals)
virtual

Set/Get the number of decimals to use for orientation values.

Default value is 0.

virtual unsigned int makVrv::DtSpiderWebModelInstance::orientationDecimals ( ) const
virtual
virtual void makVrv::DtSpiderWebModelInstance::setOverlay ( unsigned int  overlayId)
virtual

Set the overlay the model will be rendered on.

virtual bool makVrv::DtSpiderWebModelInstance::realize ( DtModelDefinition definition)
virtual

Apply model definition defaults.

Reimplemented from makVrv::DtModelInstance.

virtual void makVrv::DtSpiderWebModelInstance::update ( )
virtual
virtual void makVrv::DtSpiderWebModelInstance::recreateSpiderWeb ( )
virtual

Force the recreation of the spider web Akin to calling deleteSpiderWeb() and createSpiderWebIfNecessary()

virtual void makVrv::DtSpiderWebModelInstance::createSpiderWebIfNecessary ( )
protectedvirtual

Create my spider web according to current state.

virtual void makVrv::DtSpiderWebModelInstance::deleteSpiderWeb ( )
protectedvirtual

Delete spider web.

virtual void makVrv::DtSpiderWebModelInstance::updateColors ( )
protectedvirtual

Update the vertex colors.

virtual void makVrv::DtSpiderWebModelInstance::setSpokeVertexPosition ( unsigned int  spokeIndex,
unsigned int  vertexIndex,
double  x,
double  y,
double  z 
)
protectedpure virtual

Set a vertex position of a spider web spoke.

Implemented in makVrv::DtOverlaySpiderWebModelInstance.

virtual void makVrv::DtSpiderWebModelInstance::setRingVertexPosition ( unsigned int  ringIndex,
unsigned int  vertexIndex,
double  x,
double  y,
double  z 
)
protectedpure virtual

Set a vertex position of a spider web ring.

Implemented in makVrv::DtOverlaySpiderWebModelInstance.

virtual void makVrv::DtSpiderWebModelInstance::setLabelPosition ( unsigned int  labelIndex,
double  x,
double  y,
double  z 
)
protectedpure virtual

Set the position of a spider web label.

Implemented in makVrv::DtOverlaySpiderWebModelInstance.

Member Data Documentation

unsigned int makVrv::DtSpiderWebModelInstance::myOverlay
protected
bool makVrv::DtSpiderWebModelInstance::myEventsEnabled
protected
unsigned long long makVrv::DtSpiderWebModelInstance::myUserData
protected
DtVector makVrv::DtSpiderWebModelInstance::myPosition
protected
DtDcm makVrv::DtSpiderWebModelInstance::myOrientationDcm
protected
DtTaitBryan makVrv::DtSpiderWebModelInstance::myOrientationTaitBryan
protected
double makVrv::DtSpiderWebModelInstance::myRadius
protected
unsigned int makVrv::DtSpiderWebModelInstance::myNumberOfSpokes
protected
unsigned int makVrv::DtSpiderWebModelInstance::myNumberOfRings
protected
double makVrv::DtSpiderWebModelInstance::myRingIntervalDistance
protected
bool makVrv::DtSpiderWebModelInstance::myIsRingIntervalSet
protected
bool makVrv::DtSpiderWebModelInstance::myIsInnerRingFilled
protected
bool makVrv::DtSpiderWebModelInstance::myIsDecorated
protected
bool makVrv::DtSpiderWebModelInstance::myVisible
protected
float makVrv::DtSpiderWebModelInstance::myScale
protected
float makVrv::DtSpiderWebModelInstance::myColor[4]
protected
float makVrv::DtSpiderWebModelInstance::myLineWidth
protected
unsigned int makVrv::DtSpiderWebModelInstance::myLineStipplePattern
protected
std::string makVrv::DtSpiderWebModelInstance::myFontFile
protected
float makVrv::DtSpiderWebModelInstance::myFontPointSize
protected
float makVrv::DtSpiderWebModelInstance::myFontColor[4]
protected
double makVrv::DtSpiderWebModelInstance::myMaxAngleSegment
protected
DtSharedDisplayUnitsSettings::OrientationUnits makVrv::DtSpiderWebModelInstance::myOrientationUnitToUse
protected
unsigned int makVrv::DtSpiderWebModelInstance::myOrientationDecimalsToUse
protected
DtSharedDisplayUnitsSettings::DistanceUnits makVrv::DtSpiderWebModelInstance::myDistanceUnitToUse
protected
unsigned int makVrv::DtSpiderWebModelInstance::myDistanceDecimalsToUse
protected
int makVrv::DtSpiderWebModelInstance::myGroup
protected
std::vector<DtSegmentedLine*> makVrv::DtSpiderWebModelInstance::mySpokes
protected
std::vector<DtSegmentedLine*> makVrv::DtSpiderWebModelInstance::myRings
protected
std::vector<DtTextProxy*> makVrv::DtSpiderWebModelInstance::myLabels
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)