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 Types | Protected Member Functions | Protected Attributes
makVrv::DtOsgWindowEllipseInstance Class Reference

OSG Implementation of DtWindowEllipseInstance. More...

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

Public Member Functions

 DtOsgWindowEllipseInstance (DtDe &de)
 CTOR. More...
 
virtual ~DtOsgWindowEllipseInstance ()
 DTOR. More...
 
virtual void setVisible (bool isVisible)
 Set the ellipse to visible or invisible. More...
 
virtual void setFillPattern (unsigned int fillPattern)
 Set the ellipse's fill pattern. More...
 
virtual void setFill (bool fill)
 Set the ellipse filled or outlined. More...
 
virtual void setCenter (double x, double y)
 Set the center of the ellipse in normalized screen coordinates. More...
 
virtual void setNumVertices (unsigned int numVertices)
 Set the number of vertices in the ellipse. More...
 
virtual void setDimensions (double xLength, double yLength)
 Set the lengths of the ellipse's axes in normalized screen coordinates. More...
 
virtual void setColor (float r, float g, float b, float a)
 Set the ellipse's color. More...
 
virtual bool visible ()
 Return visibility status. More...
 
virtual void setTransform (DtMatrix3< double > transform)
 Sets the ellipse's transform matrix, used to update the position, clockwise rotation, and scale of the vertices. More...
 
virtual void update ()
 Called on signal_postUpdate; time to update render data. More...
 
virtual void setGroup (int groupId)
 Set this object's group ID for z order. More...
 
virtual void setChannelOverlay (std::string displayName, std::string windowName, std::string channelName)
 By default window objects are placed on the RemoteDisplayWorldOverlay, which is rendered on all channels that have the "showRemoteGraphics" channel keyword. More...
 
virtual void setInnerDimensions (double xLength, double yLength)
 Set the inner dimensions of this ellipse, if this is set the ellipse shall be rendered hollow. More...
 
virtual void setStartEndAngles (double startAngle, double endAngle)
 Allows for drawing of subsections of an ellipse. More...
 
virtual void setLineWidth (float lineWidth)
 Set line width if this ellipse is outlined. More...
 
virtual void createPolygon ()
 Create myPolygon according to current state Called from the constructor, so this can't be virtual. More...
 
virtual void createLines (unsigned int lineCount)
 Create a number of lines to use when this ellipse is not filled. More...
 
virtual void setClipBox (DtVector2< double > bottomLeftLocation, DtVector2< double > topRightLocation)
 Set this objects clip box bounds. More...
 
- Public Member Functions inherited from makVrv::DtWindowEllipseInstance
virtual ~DtWindowEllipseInstance ()
 DTOR. More...
 
- Public Member Functions inherited from makVrv::DtSetVisibilityInterface
virtual ~DtSetVisibilityInterface ()
 

Protected Types

typedef std::vector< osg::Vec2 > VertexList
 

Protected Member Functions

virtual void updateVertices ()
 Generate the vertices of the graphic polygon that approximates the ellipse Calls updateFilledPolygon() or updateOutlinedSegments() if not filled. More...
 
virtual void updateFilledPolygon ()
 Updates myPolygon. More...
 
virtual void updateOutlinedSegments ()
 Updates myClippedOutlineEllipse. More...
 
virtual DtSegmentedLinecreateLine ()
 Create a DtSegmentLine. More...
 
virtual osg::Vec2 transformVectorByTransform (osg::Vec2 vector, osg::Matrix transform)
 Transform the in param vec2 by the in param transform. More...
 
virtual VertexList buildVertices (double &startAngle, int numVertices, double arcPerVertex, osg::Vec2 dimensions, osg::Matrix transform)
 Populates a vector of osg::Vec2s according to the passed in params. More...
 
virtual void slot_channelToBeDestroyed (DtChannelManager *, DtChannel *)
 Destroy the ellipse when the channel its being rendered on is going to be destroyed. More...
 

Protected Attributes

DtDemyDe
 
DtFilledPolygonmyPolygon
 
std::vector< DtSegmentedLine * > myClippedOutlineEllipse
 
osg::Matrix myTransform
 
osg::Vec2 myDimensions
 
osg::Vec2 myInnerDimensions
 
osg::Vec2 myCenter
 
osg::Vec2 myClipBoxBottomLeft
 
osg::Vec2 myClipBoxTopRight
 
unsigned int myFillPattern
 
unsigned int myGroup
 
unsigned int myNumVertices
 
bool myGeometryDirty
 
bool myFill
 
bool myUseChannelOverlay
 
bool myVisible
 
std::string myDisplayName
 
std::string myWindowName
 
std::string myChannelName
 
float myColorR
 
float myColorG
 
float myColorB
 
float myColorA
 
float myLineWdith
 
double myStartAngle
 
double myEndAngle
 

Detailed Description

OSG Implementation of DtWindowEllipseInstance.

Uses vrvGraphics to implement a 2D ellipse. Creates either a DtFilledPolygon or a vector of DtSegmentedLines. The vector of lines is so that the outlined ellipse can be clipped. A filled Ellipse using a DtFilledPolygon can be drawn using a start and end angle in rads, inner and outer dimensions. An outlined ellipse can be drawn with a start and end angle in rads, and a line width.

Member Typedef Documentation

typedef std::vector<osg::Vec2> makVrv::DtOsgWindowEllipseInstance::VertexList
protected

Constructor & Destructor Documentation

makVrv::DtOsgWindowEllipseInstance::DtOsgWindowEllipseInstance ( DtDe de)

CTOR.

virtual makVrv::DtOsgWindowEllipseInstance::~DtOsgWindowEllipseInstance ( )
virtual

DTOR.

Member Function Documentation

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

Set the ellipse to visible or invisible.

Implements makVrv::DtSetVisibilityInterface.

Reimplemented in makVrv::DtOsgWindowEllipseGroupInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::setFillPattern ( unsigned int  fillPattern)
virtual

Set the ellipse's fill pattern.

Implements makVrv::DtWindowEllipseInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::setFill ( bool  fill)
virtual

Set the ellipse filled or outlined.

Implements makVrv::DtWindowEllipseInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::setCenter ( double  x,
double  y 
)
virtual

Set the center of the ellipse in normalized screen coordinates.

Implements makVrv::DtWindowEllipseInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::setNumVertices ( unsigned int  numVertices)
virtual

Set the number of vertices in the ellipse.

Implements makVrv::DtWindowEllipseInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::setDimensions ( double  xLength,
double  yLength 
)
virtual

Set the lengths of the ellipse's axes in normalized screen coordinates.

Implements makVrv::DtWindowEllipseInstance.

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

Set the ellipse's color.

Implements makVrv::DtWindowEllipseInstance.

virtual bool makVrv::DtOsgWindowEllipseInstance::visible ( )
virtual

Return visibility status.

virtual void makVrv::DtOsgWindowEllipseInstance::setTransform ( DtMatrix3< double transform)
virtual

Sets the ellipse's transform matrix, used to update the position, clockwise rotation, and scale of the vertices.

Implements makVrv::DtWindowEllipseInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::update ( )
virtual

Called on signal_postUpdate; time to update render data.

Implements makVrv::DtWindowEllipseInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::setGroup ( int  groupId)
virtual

Set this object's group ID for z order.

The higher the Z order the "closer" the element will be drawn to the eye point

Implements makVrv::DtWindowEllipseInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::setChannelOverlay ( std::string  displayName,
std::string  windowName,
std::string  channelName 
)
virtual

By default window objects are placed on the RemoteDisplayWorldOverlay, which is rendered on all channels that have the "showRemoteGraphics" channel keyword.

If a user wishes to draw a specific window object on a specific channel, use this method. This does not work for remote displays.

Implements makVrv::DtWindowEllipseInstance.

Reimplemented in makVrv::DtOsgWindowEllipseGroupInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::setInnerDimensions ( double  xLength,
double  yLength 
)
virtual

Set the inner dimensions of this ellipse, if this is set the ellipse shall be rendered hollow.

Implements makVrv::DtWindowEllipseInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::setStartEndAngles ( double  startAngle,
double  endAngle 
)
virtual

Allows for drawing of subsections of an ellipse.

Implements makVrv::DtWindowEllipseInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::setLineWidth ( float  lineWidth)
virtual

Set line width if this ellipse is outlined.

Implements makVrv::DtWindowEllipseInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::createPolygon ( )
virtual

Create myPolygon according to current state Called from the constructor, so this can't be virtual.

virtual void makVrv::DtOsgWindowEllipseInstance::createLines ( unsigned int  lineCount)
virtual

Create a number of lines to use when this ellipse is not filled.

Deletes all the previous lines.

virtual void makVrv::DtOsgWindowEllipseInstance::setClipBox ( DtVector2< double bottomLeftLocation,
DtVector2< double topRightLocation 
)
virtual

Set this objects clip box bounds.

Implements makVrv::DtWindowEllipseInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::updateVertices ( )
protectedvirtual

Generate the vertices of the graphic polygon that approximates the ellipse Calls updateFilledPolygon() or updateOutlinedSegments() if not filled.

Reimplemented in makVrv::DtOsgWindowEllipseGroupInstance.

virtual void makVrv::DtOsgWindowEllipseInstance::updateFilledPolygon ( )
protectedvirtual

Updates myPolygon.

virtual void makVrv::DtOsgWindowEllipseInstance::updateOutlinedSegments ( )
protectedvirtual

Updates myClippedOutlineEllipse.

virtual DtSegmentedLine* makVrv::DtOsgWindowEllipseInstance::createLine ( )
protectedvirtual

Create a DtSegmentLine.

virtual osg::Vec2 makVrv::DtOsgWindowEllipseInstance::transformVectorByTransform ( osg::Vec2  vector,
osg::Matrix  transform 
)
protectedvirtual

Transform the in param vec2 by the in param transform.

virtual VertexList makVrv::DtOsgWindowEllipseInstance::buildVertices ( double startAngle,
int  numVertices,
double  arcPerVertex,
osg::Vec2  dimensions,
osg::Matrix  transform 
)
protectedvirtual

Populates a vector of osg::Vec2s according to the passed in params.

virtual void makVrv::DtOsgWindowEllipseInstance::slot_channelToBeDestroyed ( DtChannelManager ,
DtChannel  
)
protectedvirtual

Destroy the ellipse when the channel its being rendered on is going to be destroyed.

Member Data Documentation

DtDe& makVrv::DtOsgWindowEllipseInstance::myDe
protected
DtFilledPolygon* makVrv::DtOsgWindowEllipseInstance::myPolygon
protected
std::vector<DtSegmentedLine*> makVrv::DtOsgWindowEllipseInstance::myClippedOutlineEllipse
protected
osg::Matrix makVrv::DtOsgWindowEllipseInstance::myTransform
protected
osg::Vec2 makVrv::DtOsgWindowEllipseInstance::myDimensions
protected
osg::Vec2 makVrv::DtOsgWindowEllipseInstance::myInnerDimensions
protected
osg::Vec2 makVrv::DtOsgWindowEllipseInstance::myCenter
protected
osg::Vec2 makVrv::DtOsgWindowEllipseInstance::myClipBoxBottomLeft
protected
osg::Vec2 makVrv::DtOsgWindowEllipseInstance::myClipBoxTopRight
protected
unsigned int makVrv::DtOsgWindowEllipseInstance::myFillPattern
protected
unsigned int makVrv::DtOsgWindowEllipseInstance::myGroup
protected
unsigned int makVrv::DtOsgWindowEllipseInstance::myNumVertices
protected
bool makVrv::DtOsgWindowEllipseInstance::myGeometryDirty
protected
bool makVrv::DtOsgWindowEllipseInstance::myFill
protected
bool makVrv::DtOsgWindowEllipseInstance::myUseChannelOverlay
protected
bool makVrv::DtOsgWindowEllipseInstance::myVisible
protected
std::string makVrv::DtOsgWindowEllipseInstance::myDisplayName
protected
std::string makVrv::DtOsgWindowEllipseInstance::myWindowName
protected
std::string makVrv::DtOsgWindowEllipseInstance::myChannelName
protected
float makVrv::DtOsgWindowEllipseInstance::myColorR
protected
float makVrv::DtOsgWindowEllipseInstance::myColorG
protected
float makVrv::DtOsgWindowEllipseInstance::myColorB
protected
float makVrv::DtOsgWindowEllipseInstance::myColorA
protected
float makVrv::DtOsgWindowEllipseInstance::myLineWdith
protected
double makVrv::DtOsgWindowEllipseInstance::myStartAngle
protected
double makVrv::DtOsgWindowEllipseInstance::myEndAngle
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)