GL Studio API
|
The Polygon class. Implements Polygons. More...
#include <glpolygon.h>
Public Member Functions | |
GLPolygon (unsigned int nPoints, Vertex *vertices) | |
GLPolygon (unsigned int nPoints, Vertex *vertices, Vertex &location) | |
GLPolygon (void) | |
GLPolygon (const GLPolygon &polygon, const bool generateNames) | |
virtual | ~GLPolygon (void) |
void | ConfigureMetaData (void) |
virtual DisplayObject * | CloneObject (bool generateNames=false) |
virtual void | Draw (void) |
virtual void | CalculateTextureCoordinates (void) |
virtual void | CalcNormals (int windingOrder=1) |
virtual void | DeleteVertex (unsigned int index) |
virtual DisplayObject * | Pick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &parentDrawn) |
Public Member Functions inherited from DisplayObject | |
DisplayObject (float x, float y, float z) | |
DisplayObject (const DisplayObject &object, const bool generateNames) | |
virtual | ~DisplayObject (void) |
void | Destroy () |
virtual void | SetAvailableAttributes (unsigned int value) |
virtual void | AlphaMode (int mode) |
virtual int | AlphaMode (void) |
virtual bool | AntiAlias (void) |
virtual void | AntiAlias (bool alias) |
void | ApplyTextureSettings (int textureIndex=-1) |
DistiAttribDict & | Attributes () |
virtual void | SetBlendColor (const glsColor &color) |
void | GetBlendColor (unsigned char color[]) |
void | GetBlendColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a) |
virtual glsColor | GetBlendColor () |
void | SetBlendColor (unsigned char color[]) |
void | SetBlendColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a) |
bool | BlinkedOff (void) |
virtual bool | Blinking (void) |
virtual void | Blinking (const bool blink) |
virtual float | BlinkRate (void) |
virtual void | BlinkRate (const float rate) |
const Vector & | BoundingVolumeCenter () const |
void | BoundingVolumeCenter (const Vector ¢er) |
bool | BoundingVolumeHit (const Vector &start, const Vector &direction) |
float | BoundingVolumeRadius () const |
void | BoundingVolumeRadius (float radius) |
virtual void | Calculate (double time) |
void | CalculateCollisionPoint (const Vector &pickLoc, const Vector &directionVector, Vector *collisionPoint) |
virtual void | CalculateParentBoundingBox (void) |
bool | GetTexturePointTransformationMatrix (GlsMatrixType &world2tex) |
CallbackMethodCallerBase * | CallbackCaller () const |
void | CallbackCaller (CallbackMethodCallerBase *cb) |
virtual void | GetCenter (Vector ¢er) |
virtual glsColor | GetColor () |
void | GetColor (unsigned char c4[]) |
void | GetColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a) |
virtual void | SetColor (const glsColor &color) |
void | SetColor (unsigned char c4[]) |
void | SetColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a) |
virtual void | CopyGeometry (DisplayObject *src) |
virtual void | CopyHierarchyProperties (DisplayObject *src, bool copyName) |
virtual void | CopyProperties (DisplayObject *src) |
virtual InterfaceListType * | GetCppInterfaceDescription (InterfaceListType *addToThisList=NULL) |
virtual void | GetCppInterfaceDescriptionFree (InterfaceListType *array) |
virtual void | CullBackFace (const bool val) |
virtual bool | CullBackFace (void) |
bool | Culled () const |
bool | CullTest (const GlsMatrixType *matrix, const Culler &culler) |
GlsMatrixType & | DcsMatrix () |
void | DcsMatrix (const GlsMatrixType &matrix) |
virtual int | DepthTest (void) |
virtual void | DepthTest (unsigned char zbuf) |
const GlsMatrixType * | DrawMatrix () |
bool | NeedCalcDrawMatrix () |
void | DynamicRotate (float angle, int axis) |
void | DynamicRotate (const Vector &v) |
void | DynamicRotate (float angle[]) |
virtual void | DynamicRotate (float x, float y, float z) |
virtual void | DynamicRotateRelative (float angle, int axis) |
virtual float | DynamicRotation (int axis) |
virtual Vector | DynamicScale () |
virtual void | DynamicScale (float x, float y, float z) |
void | DynamicScale (const Vector &scale) |
virtual void | DynamicTranslate (float x, float y, float z, bool relative=false) |
void | DynamicTranslate (const Vertex &amount, bool relative) |
void | DynamicTranslate (const Vector &amount) |
virtual void | DynamicTranslate (float amount, int axis, bool relative=false) |
virtual float | DynamicTranslation (int axis) |
virtual Vector | DynamicTranslation () |
DisplayObjectEditor * | Editor () |
const DisplayObjectEditor * | Editor () const |
void | Editor (DisplayObjectEditor *editor) |
virtual void | GetExtents (float &x, float &y, float &z, float &x1, float &y1, float &z1) |
void | GetExtentsDCS (Vector &min, Vector &max) |
void | GetFillColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a) |
void | GetFillColor (unsigned char c4[]) |
virtual glsColor | GetFillColor (void) |
void | SetFillColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a) |
void | SetFillColor (unsigned char c4[]) |
virtual void | SetFillColor (const glsColor &color) |
virtual DisplayObject * | handle (DisplayEvent *ev) |
virtual bool | Hit (float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint) |
virtual bool | HitUtil (float x, float y, float z, float scale, Vertex *vertices, unsigned int vertex_cnt, const Vector &directionVector, Vector *collisionPoint) |
virtual void | InsertVertex (unsigned int index) |
char * | InstanceName (void) |
void | InstanceName (const char *name) |
virtual bool | LightingEnabled () |
virtual void | LightingEnabled (bool lighting) |
virtual int | LineStippleMultiplier (void) |
virtual void | LineStippleMultiplier (int mult) |
virtual int | LineStipplePattern (void) |
virtual void | LineStipplePattern (int pattern) |
virtual float | LineWidth (void) |
virtual void | LineWidth (float width) |
virtual const Vertex & | Location (void) const |
virtual void | Location (const Vertex &v) |
virtual void | Location (float x, float y, float z) |
virtual void | GetLocation (Vertex &v) |
virtual void | GetLocation (float &x, float &y, float &z) |
float | X (void) const |
float | Y (void) const |
float | Z (void) const |
void | X (const float x) |
void | Y (const float y) |
void | Z (const float z) |
virtual int | MaterialIndex () |
virtual void | MaterialIndex (int index) |
virtual DynamicArray< int > & | MaterialIndices () |
virtual void | MaterialIndices (DynamicArray< int > indices) |
GlsMatrixType * | ModelMatrix () |
bool | NeedCalculate () |
Vector * | Normals () |
virtual void | SetNormals (unsigned int nPoints, Vector *vertices) |
void | VaSetNormals (unsigned int nPoints,...) |
unsigned int | NumberOfVertices () const |
virtual float | ObjectDepth (void) |
virtual float | ObjectHeight (void) |
virtual float | ObjectWidth (void) |
virtual void | SetOrigin (const Vertex &vert) |
virtual void | Parent (DisplayFrame *par) |
DisplayFrame * | Parent (void) const |
virtual void | ParentGroup (Group *group) |
Group * | ParentGroup (void) const |
unsigned char | Pickable () |
virtual void | Pickable (unsigned char pick) |
virtual int | PolygonEnd (void) |
virtual void | PolygonEnd (const int end) |
virtual int | PolygonMode (void) |
virtual void | PolygonMode (int mode) |
virtual void | PreDraw (const OpenGLMatrices ¤t, Culler &culler) |
GlsMatrixType * | ProjMatrix () |
virtual void | ReallocateVertices (unsigned int numVertices, bool initializeNew, bool copyOld) |
virtual float | RelativeAngle (const float x, const float y) |
virtual DistiAttributeBase & | Resource (const char *name) |
virtual void | GetResources (std::ostream &outstr, GlsResourceFilter *filter=NULL) |
void | RestoreAlpha (void) |
void | RestoreAntiAlias (void) |
void | RestoreLighting (void) |
void | RestoreLineStyle (void) |
const Vertex & | RotationPoint () |
virtual void | RotationPoint (const Vertex &v) |
virtual void | RotationPoint (float x, float y, float z) |
virtual void | GetRotationPoint (Vertex &v) |
virtual void | Rotate (float angle, int axis=Z_AXIS) |
virtual void | Rotate (const Vector &origin, float angle, int axis=Z_AXIS) |
virtual void | Rotate (const Vector &orig, float angle, const Vector &axis) |
void | SaveMatrices () |
void | Scale (int handleBar, float px, float py, Vertex *anchor=NULL) |
virtual void | Scale (float px, float py, float pz, Vertex *anchor, int handleBar=0) |
void | Set (int spec,...) |
bool | SetupAlpha (void) |
bool | SetupAntiAlias (void) |
void | SetupDepthTest (void) |
void | SetupLighting (void) |
bool | SetupLineStyle (void) |
void | SetupPolyDrawStyle (void) |
void | SetupShading (void) |
bool | SetupTexture (void) |
virtual int | Shading (void) |
virtual void | Shading (const int shading) |
virtual void | GetTransformedExtents (Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax=true) |
virtual void | SetTexCoords (unsigned int nPoints, Vector *new_tex_coord, bool isVectorArray=true) |
void | SetTexCoords (unsigned int nPoints, Vertex *new_tex_coord) |
void | VaSetTexCoords (unsigned int nPoints,...) |
Vector * | TextureCoordinates (void) |
Vector * | GetTextureCoordinates (void) |
virtual int | TextureIndex (void) |
virtual void | TextureIndex (int textureIndex) |
virtual Vector * | GetTexturePoints (void) |
virtual bool | TextureRepeat (void) |
virtual void | TextureRepeat (const int rep) |
virtual int | TextureMappingTechnique (void) |
virtual void | TextureMappingTechnique (const int map) |
virtual int | TextureMagnificationFilter (void) |
virtual void | TextureMagnificationFilter (const int filter) |
virtual int | TextureMinificationFilter (void) |
virtual void | TextureMinificationFilter (const int filter) |
virtual void | Translate (float tr[]) |
virtual void | Translate (float x, float y, float z) |
virtual void | TranslateVertices (float x, float y, float z) |
virtual void | UpdateBoundingVolume (void) |
void * | UserData (void) const |
void | UserData (void *data) |
virtual void | SetVertexColor (unsigned int vertex, unsigned char CurrentFillColor[]) |
virtual Vertex * | Vertices () |
virtual void | SetVertices (unsigned int nPoints, Vertex *vertices) |
void | VaSetVertices (unsigned int nPoints,...) |
int * | ViewMatrix () |
bool | Visible (void) const |
bool | Visibility (void) const |
virtual void | Visibility (const bool vis) |
virtual Vector | WorldRotationPoint (void) |
virtual void | WorldRotationPoint (const Vector &vert) |
virtual Vertex | WorldVertex (unsigned int i) |
virtual void | WorldVertex (unsigned int i, const Vertex &vert) |
bool | LogicalToWindow (const Vector &logical, Vector &winLoc, const OpenGLMatrices &alternateMatrices=OpenGLMatrices()) |
bool | WindowToLogical (const Vector &winLoc, Vector &logical, Vector *directionVector=NULL, const OpenGLMatrices &alternateMatrices=OpenGLMatrices()) |
void | LogicalToDCS (Vector logicalPoint, Vector &objectLocal, const Vector *directionVector, const Vector &planeNormal=Vector(0, 0, 1), const Vector &planePoint=Vector(), const GlsMatrixType *dcsMatrix=NULL) |
void | DCSToLogical (Vector dcsPoint, Vector &logicalPoint, const GlsMatrixType *dcsMatrix=NULL) |
virtual bool | GetPlaneVectorPoints (Vertex &p1, Vertex &p2, Vertex &p3, Vertex &planeVector) |
void | NotifyAttributeChanged (const AttributeName &name) |
Public Member Functions inherited from AttributeChangedNotifier | |
virtual | ~AttributeChangedNotifier () |
Public Member Functions inherited from WeakReferenceableMixin | |
void | AddWeakReference (WeakReference *weakRef) |
void | NotifyWeakReferenceDestroyed (WeakReference *ref) |
Additional Inherited Members | |
Public Types inherited from DisplayObject | |
enum | AvailableAttributesEnum |
Static Public Member Functions inherited from DisplayObject | |
static void | UseManualBlinkElapsedTime (bool useManualTime) |
static void | SetManualBlinkElapsedTime (double elapsedTime) |
Protected Member Functions inherited from DisplayObject | |
virtual void | VaListSetVertices (unsigned int nPoints, va_list args) |
virtual void | VaListSetNormals (unsigned int nPoints, va_list args) |
virtual void | VaListSetTexCoords (unsigned int nPoints, va_list args) |
void | AllocateModelMatrix () |
bool | ApplyDynamicRotation (void) |
virtual void | CalcDrawMatrix () |
void | CalcDrawMatrixIfExists () |
virtual void | CalculateMatrices (const OpenGLMatrices &newMatrices) |
bool | InsideVertexExtents (float x, float y, unsigned int nVerts, Vertex *verts, float tolerance) |
void | NeedCalculate (bool val) |
void | PickSetup (float x, float y, float z, Vertex *vertices, unsigned int vertex_cnt, const Vector &directionVector) |
void | PickCleanup (Vertex *vertices, unsigned int vertex_cnt) |
virtual void | SetValue (int spec, va_list &args) |
int | GetApplicableTextureIndex () |
int | GetApplicableTextureRepeat () |
Protected Member Functions inherited from WeakReferenceableMixin | |
WeakReferenceableMixin (void) | |
virtual | ~WeakReferenceableMixin () |
Protected Attributes inherited from DisplayObject | |
int | _alphaMode |
bool | _antiAlias |
bool | _attributesAdded |
bool | _blinking |
float | _blinkRate |
glsColor | _color |
bool | _cullBackFace |
GlsMatrixType | _dcsMatrix |
unsigned char | _depthTest |
GlsMatrixType * | _drawMatrix |
unsigned char | _lineStippleMultiplier |
unsigned short | _lineStipplePattern |
float | _lineWidth |
Vertex | _location |
GlsMatrixType * | _modelMatrix |
Vector * | _normals |
unsigned int | _nTex_vertices |
unsigned int | _nVertices |
unsigned char | _polygonEnd |
unsigned char | _polygonMode |
int | _polygonOffset |
GlsMatrixType * | _projMatrix |
unsigned char | _shading |
Vector * | _texCoord |
glsColor | _textureBlendColor |
int | _textureIndex |
unsigned char | _textureMagFilter |
unsigned char | _textureMinFilter |
unsigned char | _textureMap |
Vector | _texturePoints [4] |
unsigned char | _textureRepeat |
void * | _userData |
Vertex * | _vertices |
int * | _viewMatrix |
bool | _visible |
Protected Attributes inherited from WeakReferenceableMixin | |
DynamicArray< WeakReference * > * | _weakRefs |
The Polygon class. Implements Polygons.
Creates a polygon with the vertices specified
nPoints | The number of vertices in the new polygon |
vertices | The array of vertices for the polygon |
Creates a polygon with the vertices specified
nPoints | The number of vertices in the new polygon |
vertices | The array of vertices for the polygon |
location | The location point of the object |
GLPolygon | ( | void | ) |
Allocate a (blank) polygon object
Copy construct a new GLPolygon object
polygon | The polygon to be cloned |
generateNames | Whether or not to generate a new instance name |
|
virtual |
Destroy a polygon object
|
virtual |
Calculates normals based on the vertices and the specified winding order
|
virtual |
Recalculates the texture coordinates for the object based on the TexturePoints.
Reimplemented from DisplayObject.
Reimplemented in GlsSchematicTeeInterconnect, GlsSchematicPolyLineInterconnect, and GlsEllipse.
|
virtual |
Copy+Create operation in one method. In derived classes, this method will create a new instance of the derived class and then copy the object into the new instance. The cut,copy,paste and undo operations use this method.
generateNames | Whether or not to generate new names for cloned objects |
Implements DisplayObject.
Reimplemented in GlsTextGrid, GlsCTLTextBox, GlsLinearScale, GlsAngularScale, GlsSchematicTeeInterconnect, GlsTextBox, GLTriMesh, GlsNinePatch, GlsSchematicPolyLineInterconnect, GlsPolyLine, GlsMovieTexture, GlsVideoToTexture, and GlsEllipse.
void ConfigureMetaData | ( | void | ) |
Configures MetaData
|
virtual |
DeleteVertex is overloaded in polygon to prevent having a poly with less than 2 verts. This prevents incorrect GL calls when polygon is set to POLY_MODE_FILLED
Reimplemented from DisplayObject.
Reimplemented in GlsPolyLine, and GlsSchematicPolyLineInterconnect.
|
virtual |
Draws this object on the current display frame (_parent member).
Implements DisplayObject.
Reimplemented in GlsTextGrid, GLTriMesh, GlsCTLTextBox, GlsLinearScale, GlsAngularScale, GlsSchematicTeeInterconnect, GlsTextBox, GlsNinePatch, GlsSchematicPolyLineInterconnect, GlsPolyLine, GlsMovieTexture, GlsVideoToTexture, and GlsEllipse.
|
virtual |
Attempts to pick an object in 3D and accounting for dynamic rotations and translations of this object or parent objects. It also looks at the pickable status and attempts to return the "Best" pick if that is what is desired.
Note: This method will pick objects in the scene based on a pick ray starting at winLoc and pointing into the screen. It will not pick objects behind the depth specified by winLoc.z. Typically winLoc.z should be set to 0 to ensure that the pick ray starts at near clip plane.
winLoc | Device coordinates for the mouse click. Z value should be set to 0 to ensure pick ray starts at near clip plane. |
logicalCoords | The start of the pick ray in logical coordinates. Should be calculated from the winLoc using this->WindowToLogical(winLoc, logicalCoords, &directionVector). |
scale | Current window scale. Affects picking radius of outlines. Initial value should typically be 1.0. |
directionVector | The direction of the pick ray in logical coordinates. Should be calculated from the winLoc using this->WindowToLogical(winLoc, logicalCoords, &directionVector). |
collisionWinLoc | Returns where the pick vector intersects the object that is hit in device coordinates. |
drawnMatrices | The matrices used to draw the object, including matrices set by parents that may have dynamically rotated, translated or scaled this object. Initial value should typically be a default OpenGLMatrices() object. |
Reimplemented from DisplayObject.