![]() |
VR-Forces Developer's Guide
|
This class updates vertices for each ellipse added via addellipse. They are stored in a vector of EllipseStructs which contain the verts and stipple pattern. You can update the ellipses after they have been added without deleting them using updateellipse. This means that they do not flash on screen. Please call setEllipseCount before adding ellipses. updateEllipse will adjust the number of DtFilledPolygons this class has to match myEllipseCount. If the ellipse is outlined a DtFilledPolygon is not used, a vertor of DtSegementedLines is instead.

Classes | |
| struct | Ellipse |
| struct | EllipseStruct |
Public Member Functions | |
| DtOsgWindowEllipseGroupInstance (DtDe &de) | |
| virtual | ~DtOsgWindowEllipseGroupInstance () |
| virtual void | setEllipseCount (unsigned int count) |
| virtual void | addEllipse (unsigned int stipplePattern, bool fill, float lineWidth, float centerX, float centerY, float radius, float innerRadius, float startAngle, float endAngle) |
| virtual void | updateEllipse (unsigned int index, unsigned int stipplePattern, bool fill, float lineWidth, float centerX, float centerY, float radius, float innerRadius, float startAngle, float endAngle) |
| virtual void | setVisible (bool isVisible) |
| virtual void | setChannelOverlay (const std::string &displayName, const std::string &windowName, const std::string &channelName) override |
Public Member Functions inherited from makVrv::DtOsgWindowEllipseInstance | |
| DtOsgWindowEllipseInstance (DtDe &de) | |
| virtual | ~DtOsgWindowEllipseInstance () |
| 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 | 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 Member Functions | |
| virtual void | updateVertices () |
| virtual void | updateFilledPolygon (DtFilledPolygon *poly, Ellipse ellipseInfo) |
| virtual void | updateLineSegments (std::vector< DtSegmentedLine * > &vec, Ellipse ellipseInfo) |
| virtual void | deleteAllEllipses () |
| DtFilledPolygon * | createFilledPolygon () |
| virtual void | createLinesVector (unsigned int lineCount, std::vector< DtSegmentedLine * > &vec) |
| virtual void | createEllipseStruct (Ellipse ellipse) |
Protected Member Functions inherited from makVrv::DtOsgWindowEllipseInstance | |
| 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 | |
| std::vector< EllipseStruct > | myEllipses |
| unsigned int | myEllipseCount |
Protected Attributes inherited from makVrv::DtOsgWindowEllipseInstance | |
| 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 |
Additional Inherited Members | |
Protected Types inherited from makVrv::DtOsgWindowEllipseInstance | |
| typedef std::vector< osg::Vec2 > | VertexList |
| makVrv::DtOsgWindowEllipseGroupInstance::DtOsgWindowEllipseGroupInstance | ( | DtDe & | de | ) |
CTOR.
|
virtual |
DTOR.
Set the number of ellipses that this group will have Should be set before addEllipse is called.
|
virtual |
Add an ellipse to the specified in params Angles are in radians. Calls createEllipseStruct.
|
virtual |
Update the ellipse at in param index with in parma specs. The reason index is passed in is because we need to know which ellipse to update. You cannot just delete all the pointers and recreate once all the updateEllipse calls arrive ( indexNumber = myEllipseCount ), because the ellipses will flash on screen!!
|
virtual |
Set all of the ellipses to visible or invisible.
Reimplemented from makVrv::DtOsgWindowEllipseInstance.
|
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.
Reimplemented from makVrv::DtOsgWindowEllipseInstance.
|
protectedvirtual |
Generate the vertices of the graphic polygon that approximates the ellipse Loops through myEllipses updating vertices on either the filled polygons or lines. Called by DtOsgWindowEllipseInstance::update()
Reimplemented from makVrv::DtOsgWindowEllipseInstance.
|
protectedvirtual |
Update the in param polygon to the in param ellipseInfo.
|
protectedvirtual |
Update the in param vector of lines to the in param ellipseInfo.
|
protectedvirtual |
Delete all the pointers and structs in myEllipses.
|
protected |
Create a DtFilledPolygon.
|
protectedvirtual |
Create a vector of DtSegmentedLines.
|
protectedvirtual |
Create an ellipse struct from the passed in ellipse Creates a DtFilledPolygon or a vector of segmented lines depending on the fill. Pushes the struct into myEllipses.
|
protected |