VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Types | Protected Attributes
makVrv::DtFilledPolygon Class Reference

A variable vertex convex filled 2D polygon.

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

Public Types

enum  FillType { Fill_Solid = 0, Fill_Stipple, FillType_End }
 

Public Member Functions

 DtFilledPolygon (DtOverlayRenderer &renderer, DtWidgetPicker &picker)
 
 DtFilledPolygon (DtTriangleRenderer &renderer, DtWidgetPicker &picker)
 
virtual ~DtFilledPolygon ()
 
virtual void setFillType (FillType type)
 
virtual FillType fillType () const
 
virtual void setFillParameter (unsigned int param, unsigned int fullStipplePattern[32]=0)
 
virtual void clearFillPattern ()
 
virtual void getFillParameter (unsigned int &paramOut, unsigned int fullStipplePatternOut[32]) const
 
virtual void setEventsEnabled (bool enabled, unsigned long long=0)
 
bool eventsEnabled () const
 
virtual void setVertexCount (unsigned int vertexCount)
 
virtual unsigned int vertexCount () const
 
virtual void set2DPositions (const std::vector< float > &vertices)
 
virtual void set2DPosition (unsigned int vertexIndex, float x, float y)
 
virtual void set2DCentroidPosition (float x, float y)
 
virtual void get2DPosition (unsigned int vertexIndex, float &x, float &y) const
 
virtual void set3DPosition (unsigned int vertexIndex, float x, float y, float z, float w)
 
virtual void set3DCentroidPosition (float x, float y, float z, float w)
 
virtual void get3DPosition (unsigned int index, float &x, float &y, float &z, float &w) const
 
void set3DDirectionAndLength (unsigned int index, float x, float y, float z, float l)
 
virtual void setStipple (unsigned int stipplePattern)
 
virtual void setVertexColor (unsigned int index, float r, float g, float b, float a)
 
virtual void getVertexColor (unsigned int index, float &r, float &g, float &b, float &a)
 
virtual void setCentroidColor (float r, float g, float b, float a)
 
virtual void setColor (float r, float g, float b, float a)
 
virtual void getColor (float &r, float &g, float &b, float &a) const
 
virtual int group () const
 
virtual void setGroup (int)
 
virtual void triangulate ()
 
virtual void set2DPositionsTriangles (const std::vector< float > &vertices)
 
virtual void setVertexCountTriangles (unsigned int vertexCount)
 
- Public Member Functions inherited from makVrv::DtPolygon
virtual ~DtPolygon ()
 

Protected Types

typedef std::vector< float > VertexList
 
typedef std::vector
< DtTriangleProxy * > 
TriangleProxyList
 
typedef std::vector
< DtPickableTriangle * > 
PickableTriangleList
 

Protected Attributes

DtTriangleRenderermyRenderer
 
DtWidgetPickermyPicker
 
bool myEventsEnabled
 
unsigned long long myUserData
 
VertexList myVertices
 
VertexList my3DVertices
 
float myCenterPoint [2]
 
double my3DCenterPoint [3]
 
TriangleProxyList myTriangles
 
PickableTriangleList myPickableTriangles
 
unsigned int myFillParam
 
unsigned int myFullStipplePattern [32]
 
FillType myFillType
 
int myGroup
 

Member Typedef Documentation

typedef std::vector<float> makVrv::DtFilledPolygon::VertexList
protected

Member Enumeration Documentation

Enumerator
Fill_Solid 
Fill_Stipple 
FillType_End 

Constructor & Destructor Documentation

makVrv::DtFilledPolygon::DtFilledPolygon ( DtOverlayRenderer renderer,
DtWidgetPicker picker 
)

CTOR, takes render the overlay will be on.

makVrv::DtFilledPolygon::DtFilledPolygon ( DtTriangleRenderer renderer,
DtWidgetPicker picker 
)

CTOR, takes render the triangle render that will draw the polygon.

virtual makVrv::DtFilledPolygon::~DtFilledPolygon ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtFilledPolygon::setFillType ( FillType  type)
virtual

Set the quad fill type. Calling fill type resets the fill parameter, thus the fill parameter must be reset after calling setFillType.

virtual FillType makVrv::DtFilledPolygon::fillType ( ) const
virtual

Get the fill type.

virtual void makVrv::DtFilledPolygon::setFillParameter ( unsigned int  param,
unsigned int  fullStipplePattern[32] = 0 
)
virtual

Set the quad fill parameter. In Texture mode the parameter is the texture index. If the full stippledPattern (aka a full 32x32 bit array) the initial param is ignored.

virtual void makVrv::DtFilledPolygon::clearFillPattern ( )
virtual

Clears the fill pattern of the quad.

virtual void makVrv::DtFilledPolygon::getFillParameter ( unsigned int paramOut,
unsigned int  fullStipplePatternOut[32] 
) const
virtual

Get the quad fill parameters.

virtual void makVrv::DtFilledPolygon::setEventsEnabled ( bool  enabled,
unsigned long  long = 0 
)
virtual

Set whether the sprite has widget events. Disabling events disconnects all of the DtFilledPolygon signals The user data is set when enabling the events, to change only the user data make multiple calls with enabled=true.

Implements makVrv::DtPolygon.

bool makVrv::DtFilledPolygon::eventsEnabled ( ) const

Get whether events are already enabled.

virtual void makVrv::DtFilledPolygon::setVertexCount ( unsigned int  vertexCount)
virtual

Set the number of vertices, any newly created vertices will be black and add 0,0,0 so setColor/setPosition may be necessary.

Implements makVrv::DtPolygon.

virtual unsigned int makVrv::DtFilledPolygon::vertexCount ( ) const
virtual

Get the vertex count.

Implements makVrv::DtPolygon.

virtual void makVrv::DtFilledPolygon::set2DPositions ( const std::vector< float > &  vertices)
virtual

Set the number of vertices and their positions.

Implements makVrv::DtPolygon.

virtual void makVrv::DtFilledPolygon::set2DPosition ( unsigned int  vertexIndex,
float  x,
float  y 
)
virtual

Set one vertex position. NOTE it is much more efficient to update all vertices using setPositions if several change.

Implements makVrv::DtPolygon.

virtual void makVrv::DtFilledPolygon::set2DCentroidPosition ( float  x,
float  y 
)
virtual

Sets the position of the polygon's centroid.

virtual void makVrv::DtFilledPolygon::get2DPosition ( unsigned int  vertexIndex,
float &  x,
float &  y 
) const
virtual

Get the vertex position.

Implements makVrv::DtPolygon.

virtual void makVrv::DtFilledPolygon::set3DPosition ( unsigned int  vertexIndex,
float  x,
float  y,
float  z,
float  w 
)
virtual

Set one vertex position.

Implements makVrv::DtPolygon.

virtual void makVrv::DtFilledPolygon::set3DCentroidPosition ( float  x,
float  y,
float  z,
float  w 
)
virtual

Sets the position of the polygon's centroid.

virtual void makVrv::DtFilledPolygon::get3DPosition ( unsigned int  index,
float &  x,
float &  y,
float &  z,
float &  w 
) const
virtual

Get the vertex position.

Implements makVrv::DtPolygon.

void makVrv::DtFilledPolygon::set3DDirectionAndLength ( unsigned int  index,
float  x,
float  y,
float  z,
float  l 
)
virtual

Sets an optional 3D direction with a 2D length value for a vertex.

Parameters
indexthe index of the vertex to get the position of
xx component of the position
yy component of the position
zz component of the position
ll length of the vector offset in 2D.

Implements makVrv::DtPolygon.

virtual void makVrv::DtFilledPolygon::setStipple ( unsigned int  stipplePattern)
virtual

Set the stipple pattern.

Implements makVrv::DtPolygon.

virtual void makVrv::DtFilledPolygon::setVertexColor ( unsigned int  index,
float  r,
float  g,
float  b,
float  a 
)
virtual

Set the color of a specific vertex.

Implements makVrv::DtPolygon.

virtual void makVrv::DtFilledPolygon::getVertexColor ( unsigned int  index,
float &  r,
float &  g,
float &  b,
float &  a 
)
virtual

TODO document.

Implements makVrv::DtPolygon.

virtual void makVrv::DtFilledPolygon::setCentroidColor ( float  r,
float  g,
float  b,
float  a 
)
virtual

Set the color of the polygon's centroid.

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

Set the color.

Implements makVrv::DtPolygon.

virtual void makVrv::DtFilledPolygon::getColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const
virtual

Get the color.

Implements makVrv::DtPolygon.

virtual int makVrv::DtFilledPolygon::group ( ) const
virtual

Returns the group that the polygon is on (for Z-Ordering). Default is zero.

Implements makVrv::DtPolygon.

virtual void makVrv::DtFilledPolygon::setGroup ( int  )
virtual

Sets the group for Z-Ordering.

Implements makVrv::DtPolygon.

virtual void makVrv::DtFilledPolygon::triangulate ( )
virtual

As long as there are a divisible by three of triangle proxies, reworks them to be a triangle of three related points, using the center as an anchor point.

virtual void makVrv::DtFilledPolygon::set2DPositionsTriangles ( const std::vector< float > &  vertices)
virtual

Set the number of vertices and their positions. This method is to be used instead of set2DPositions. This method does not calculate/use the center of the polygon as the third vertex for each two passed in like set2DPositions. It expects the triangles to already be calculated, the loop in here skips 6 floats per iteration.

virtual void makVrv::DtFilledPolygon::setVertexCountTriangles ( unsigned int  vertexCount)
virtual

Set the number of vertices, any newly created vertices will be black and add 0,0,0 so setColor/setPosition may be necessary.This method is used instead of setVertexCount when you are calling set2DPositionsTriangles.

Member Data Documentation

DtTriangleRenderer& makVrv::DtFilledPolygon::myRenderer
protected
DtWidgetPicker& makVrv::DtFilledPolygon::myPicker
protected
bool makVrv::DtFilledPolygon::myEventsEnabled
protected
unsigned long long makVrv::DtFilledPolygon::myUserData
protected
VertexList makVrv::DtFilledPolygon::myVertices
protected
VertexList makVrv::DtFilledPolygon::my3DVertices
protected
float makVrv::DtFilledPolygon::myCenterPoint[2]
protected
double makVrv::DtFilledPolygon::my3DCenterPoint[3]
protected
TriangleProxyList makVrv::DtFilledPolygon::myTriangles
protected
PickableTriangleList makVrv::DtFilledPolygon::myPickableTriangles
protected
unsigned int makVrv::DtFilledPolygon::myFillParam
protected
unsigned int makVrv::DtFilledPolygon::myFullStipplePattern[32]
protected
FillType makVrv::DtFilledPolygon::myFillType
protected
int makVrv::DtFilledPolygon::myGroup
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)