![]() |
VR-Forces 5.0.2 Developer's Guide
|
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.

Public Member Functions | |
| DtOsgWindowEllipseInstance (DtDe &de) | |
| virtual | ~DtOsgWindowEllipseInstance () |
| virtual void | setVisible (bool isVisible) |
| virtual void | setFillPattern (unsigned int fillPattern) |
| virtual void | setFill (bool fill) |
| virtual void | setCenter (double x, double y) |
| virtual void | setNumVertices (unsigned int numVertices) |
| virtual void | setDimensions (double xLength, double yLength) |
| virtual void | setColor (float r, float g, float b, float a) |
| virtual bool | visible () |
| virtual void | setTransform (DtMatrix3< double > transform) |
| virtual void | update () |
| virtual void | setGroup (int groupId) |
| virtual void | setChannelOverlay (const std::string &displayName, const std::string &windowName, const std::string &channelName) override |
| virtual void | setInnerDimensions (double xLength, double yLength) |
| virtual void | setStartEndAngles (double startAngle, double endAngle) |
| virtual void | setLineWidth (float lineWidth) |
| virtual void | createPolygon () |
| virtual void | createLines (unsigned int lineCount) |
| virtual void | setClipBox (DtVector2< double > bottomLeftLocation, DtVector2< double > topRightLocation) |
Public Member Functions inherited from makVrv::DtWindowEllipseInstance | |
| virtual | ~DtWindowEllipseInstance () |
Public Member Functions inherited from makVrv::DtSetVisibilityInterface | |
| virtual | ~DtSetVisibilityInterface () |
Protected Types | |
| typedef std::vector< osg::Vec2 > | VertexList |
Protected Member Functions | |
| virtual void | updateVertices () |
| virtual void | updateFilledPolygon () |
| virtual void | updateOutlinedSegments () |
| virtual DtSegmentedLine * | createLine () |
| virtual osg::Vec2 | transformVectorByTransform (osg::Vec2 vector, osg::Matrix transform) |
| virtual VertexList | buildVertices (double &startAngle, int numVertices, double arcPerVertex, osg::Vec2 dimensions, osg::Matrix transform) |
| virtual void | slot_channelToBeDestroyed (DtChannelManager *, DtChannel *) |
Protected Attributes | |
| DtDe & | myDe |
| DtFilledPolygon * | myPolygon |
| 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 |
| DtSignalConnectionManager | myConnections |
|
protected |
| makVrv::DtOsgWindowEllipseInstance::DtOsgWindowEllipseInstance | ( | DtDe & | de | ) |
CTOR.
|
virtual |
DTOR.
|
virtual |
Set the ellipse to visible or invisible.
Implements makVrv::DtSetVisibilityInterface.
Reimplemented in makVrv::DtOsgWindowEllipseGroupInstance.
Set the ellipse's fill pattern.
Implements makVrv::DtWindowEllipseInstance.
|
virtual |
Set the ellipse filled or outlined.
Implements makVrv::DtWindowEllipseInstance.
Set the center of the ellipse in normalized screen coordinates.
Implements makVrv::DtWindowEllipseInstance.
Set the number of vertices in the ellipse.
Implements makVrv::DtWindowEllipseInstance.
|
virtual |
Set the lengths of the ellipse's axes in normalized screen coordinates.
Implements makVrv::DtWindowEllipseInstance.
|
virtual |
Set the ellipse's color.
Implements makVrv::DtWindowEllipseInstance.
|
virtual |
Return visibility status.
|
virtual |
Sets the ellipse's transform matrix, used to update the position, clockwise rotation, and scale of the vertices.
Implements makVrv::DtWindowEllipseInstance.
|
virtual |
Called on signal_postUpdate; time to update render data.
Implements makVrv::DtWindowEllipseInstance.
|
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.
|
overridevirtual |
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 |
Set the inner dimensions of this ellipse, if this is set the ellipse shall be rendered hollow.
Implements makVrv::DtWindowEllipseInstance.
|
virtual |
Allows for drawing of subsections of an ellipse.
Implements makVrv::DtWindowEllipseInstance.
|
virtual |
Set line width if this ellipse is outlined.
Implements makVrv::DtWindowEllipseInstance.
|
virtual |
Create myPolygon according to current state Called from the constructor, so this can't be virtual.
Create a number of lines to use when this ellipse is not filled. Deletes all the previous lines.
|
virtual |
Set this objects clip box bounds.
Implements makVrv::DtWindowEllipseInstance.
|
protectedvirtual |
Generate the vertices of the graphic polygon that approximates the ellipse Calls updateFilledPolygon() or updateOutlinedSegments() if not filled.
Reimplemented in makVrv::DtOsgWindowEllipseGroupInstance.
|
protectedvirtual |
Updates myPolygon.
|
protectedvirtual |
Updates myClippedOutlineEllipse.
|
protectedvirtual |
Create a DtSegmentLine.
|
protectedvirtual |
Transform the in param vec2 by the in param transform.
|
protectedvirtual |
Populates a vector of osg::Vec2s according to the passed in params.
|
protectedvirtual |
Destroy the ellipse when the channel its being rendered on is going to be destroyed.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |