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::DtWindowPolygon Class Reference

A model-like object that draws a 2D polygon on screen. More...

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

Public Member Functions

 DtWindowPolygon (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtWindowPolygon ()
 DTOR. More...
 
virtual void setVertex (int i, double x, double y)
 Set the ith vertex of the polygon. More...
 
virtual void setNumVertices (int numVertices)
 Set the number of vertices in the polygon. More...
 
virtual void setVisible (bool isVisible)
 Set the polygon visible or invisible. More...
 
virtual void setStipplePattern (unsigned int stipplePattern)
 Set the stipple pattern. More...
 
virtual void setColor (float r, float g, float b, float a)
 Set the polygon's color. More...
 
virtual void setFill (bool fill)
 Set the polygon to filled or outlined. 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...
 
- Public Member Functions inherited from makVrv::DtWindowObject
 DtWindowObject (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtWindowObject ()
 DTOR. More...
 
virtual bool visible ()
 
virtual DtUniqueID uniqueId ()
 Returns the unique ID of this object. More...
 
DtWindowObjectgetParent ()
 Get the parent windowObject. More...
 
virtual ChildList childList ()
 Returns the child list. More...
 
virtual void addChild (DtUniqueID id)
 Add a child to this objects child list. More...
 
virtual void removeChild (DtUniqueID id)
 Remove a child from this objects child list. More...
 
virtual void getColor (float &r, float &g, float &b, float &a)
 
virtual void slot_postTick ()
 Slot for DtDe::signal_postTick, using when this object is flashing/blinking. More...
 
virtual Transform windowTransform ()
 Get the window transform that is the total transform of this object and all it's parents. More...
 
virtual DtClipBox clipBox ()
 Get this object's clip box specifications. More...
 
virtual void setParentId (DtUniqueID parentId)
 Get / Set Parent IDs. More...
 
virtual DtUniqueID getParentId ()
 
virtual void setPosition (double x, double y)
 Set / Get the window position of this object. More...
 
virtual void getPosition (double &x, double &y)
 
virtual void setScale (double scale)
 Set / Get the scale of the x y components. More...
 
virtual void setScale (double x, double y)
 
virtual void getScale (double &x, double &y)
 
virtual void setRotation (double rotation)
 Set / Get the rotation of the window object around it's set position, (0.0,0.0) if none is set. More...
 
virtual void getRotation (double &rotation)
 
virtual void setInheritColor (bool inheritColor)
 Set / Get whether this object inherits it's color from it's parent. More...
 
virtual bool inheritColor ()
 
virtual int group ()
 
virtual void setFlashing (bool flashing, double interval)
 Set / Get this object to flash on and off at the given interval. More...
 
virtual void getFlashing (bool &flashing, double &interval)
 
virtual void getChannelOverlay (std::string &displayName, std::string &windowName, std::string &channelName)
 

Protected Member Functions

virtual void update ()
 Called on signal_postUpdate; time to update render data. More...
 
virtual void needsUpdate ()
 Called by all mutators to set up a postUpdate signal if not already connected. More...
 

Protected Attributes

DtWindowPolygonInstancemyInstance
 
bool myConnectedToPostUpdate
 
- Protected Attributes inherited from makVrv::DtWindowObject
DtDemyDe
 
DtUniqueID myUniqueId
 
DtUniqueID myParentId
 
ChildList myChildIdList
 
DtVector2d myPosition
 
DtVector2d myScale
 
DtVector2d myWindowScale
 
double myRotation
 
double myFlashInterval
 
double myLastFlashTime
 
double myLastSimTime
 
bool myVisible
 
bool myLastVisibilityFlash
 
bool myInheritColor
 
bool myFlashing
 
float myColorR
 
float myColorG
 
float myColorB
 
float myColorA
 
Transform myWindowTransform
 
DtClipBox myClipBox
 
int myGroup
 
std::string myDisplayName
 
std::string myWindowName
 
std::string myChannelName
 

Additional Inherited Members

- Public Types inherited from makVrv::DtWindowObject
typedef std::list< DtUniqueIDChildList
 typedef list for holding the IDs of the children of this class More...
 
typedef DtVector2< doubleDtVector2d
 typedef 2D Vector More...
 
typedef DtMatrix3< doubleTransform
 typedef 3x3 Matrix for holding this object's transform More...
 

Detailed Description

A model-like object that draws a 2D polygon on screen.

This polygon class inherits from DtWindowObject() which means it can be included in a parent/child relationship with other window objects, including surfaces, lines, text, and ellipses. Vertices for this polygon are relative to a fixed position, this is the position set in the base class. Rotations are also relative to this position. If a position is not set, the default position is (0.0,0.0). If this object is a child of a surface, and that surface has a clip box set, this objects vertices will automatically be clipped in it's update method. If this object is a child of another object, the position set is relative to the parent. createInstance() must be called first for the other methods in this class to work. Note that this polygon does not support concave shapes where a vertex is further into the center of the polygon that the center calculated from all the vertices. The triangles in this polygon each share a vertex with the center of the polygon. A DtTriangleFan fully supports concave shapes.

Constructor & Destructor Documentation

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

CTOR.

virtual makVrv::DtWindowPolygon::~DtWindowPolygon ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtWindowPolygon::setVertex ( int  i,
double  x,
double  y 
)
virtual

Set the ith vertex of the polygon.

virtual void makVrv::DtWindowPolygon::setNumVertices ( int  numVertices)
virtual

Set the number of vertices in the polygon.

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

Set the polygon visible or invisible.

Reimplemented from makVrv::DtWindowObject.

virtual void makVrv::DtWindowPolygon::setStipplePattern ( unsigned int  stipplePattern)
virtual

Set the stipple pattern.

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

Set the polygon's color.

Reimplemented from makVrv::DtWindowObject.

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

Set the polygon to filled or outlined.

virtual void makVrv::DtWindowPolygon::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

Reimplemented from makVrv::DtWindowObject.

virtual void makVrv::DtWindowPolygon::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.

Reimplemented from makVrv::DtWindowObject.

virtual void makVrv::DtWindowPolygon::update ( )
protectedvirtual

Called on signal_postUpdate; time to update render data.

virtual void makVrv::DtWindowPolygon::needsUpdate ( )
protectedvirtual

Called by all mutators to set up a postUpdate signal if not already connected.

Reimplemented from makVrv::DtWindowObject.

Member Data Documentation

DtWindowPolygonInstance* makVrv::DtWindowPolygon::myInstance
protected
bool makVrv::DtWindowPolygon::myConnectedToPostUpdate
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)