GL Studio C++ Runtime API
GlsEllipse Class Reference

#include <gls_ellipse.h>

Inheritance diagram for GlsEllipse:
GLPolygon DisplayObject AttributeChangedNotifier WeakReferenceableMixin WeakReferenceable

Public Types

typedef GLPolygon _BaseClass
 Deprecated typedef for the base class.
 
typedef GLPolygon BaseClass
 Typedef for the base class.
 
- Public Types inherited from GLPolygon
typedef DisplayObject _BaseClass
 Deprecated typedef for the base class.
 
typedef DisplayObject BaseClass
 Typedef for the base class.
 
- Public Types inherited from DisplayObject
enum  AvailableAttributesEnum {
  GLS_ATTRIBUTES_BASIC = 1 , GLS_ATTRIBUTES_DYNAMIC = 2 , GLS_ATTRIBUTES_APPEARANCE = 4 , GLS_ATTRIBUTES_GEOMETRY = 8 ,
  GLS_ATTRIBUTES_SPECIALIZED = 16 , GLS_ATTRIBUTES_ALL = ~0 , GLS_ATTRIBUTES_NONE = 0
}
 

Public Member Functions

 GlsEllipse (bool generateInstance=false)
 
 GlsEllipse (const GlsEllipse &that, const bool generateNames)
 
virtual ~GlsEllipse ()
 
virtual void SetAvailableAttributes (unsigned int value) DISTI_METHOD_OVERRIDE
 
virtual DisplayObjectCloneObject (bool generateNames=false) DISTI_METHOD_OVERRIDE
 
virtual void CopyProperties (DisplayObject *src) DISTI_METHOD_OVERRIDE
 
virtual void CopyGeometry (DisplayObject *srcArg) DISTI_METHOD_OVERRIDE
 
virtual InterfaceListTypeGetCppInterfaceDescription (InterfaceListType *addToThisList=NULL) DISTI_METHOD_OVERRIDE
 
virtual void GetCppInterfaceDescriptionFree (InterfaceListType *array) DISTI_METHOD_OVERRIDE
 
virtual void PreDraw (const OpenGLMatrices &parentMatrices, Culler &culler) DISTI_METHOD_OVERRIDE
 
virtual void Draw () DISTI_METHOD_OVERRIDE
 
virtual void Scale (float px, float py, float pz, Vertex *anchor, int handleBar) DISTI_METHOD_OVERRIDE
 
virtual void Rotate (const Vector &orig, float angle, const Vector &axis) DISTI_METHOD_OVERRIDE
 
virtual bool Hit (float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint) DISTI_METHOD_OVERRIDE
 
virtual void CalculateTextureCoordinates () DISTI_METHOD_OVERRIDE
 
virtual VertexVertices () DISTI_METHOD_OVERRIDE
 
virtual void GetExtents (float &minx, float &miny, float &minz, float &maxx, float &maxy, float &maxz) DISTI_METHOD_OVERRIDE
 
virtual void GetTransformedExtents (Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax) DISTI_METHOD_OVERRIDE
 
virtual void UpdateBoundingVolume () DISTI_METHOD_OVERRIDE
 
virtual void SetFillColor (const GlsColor &color) DISTI_METHOD_OVERRIDE
 
virtual GlsColor GetFillColor () DISTI_METHOD_OVERRIDE
 
DisplayObjecthandle (DisplayEvent *ev) DISTI_METHOD_OVERRIDE
 
virtual void SetValue (int spec, va_list &args) DISTI_METHOD_OVERRIDE
 
virtual bool SetupTexture ()
 
virtual void RadiusVectors (const Vector &r1, const Vector &r2)
 
virtual Vector RadiusVector (unsigned int index)
 
virtual Vector UnitVector (unsigned int index)
 
virtual void Interval (const unsigned int &value)
 
virtual unsigned int Interval ()
 
virtual void Thickness (const float &value)
 
virtual float Thickness ()
 
virtual void StartAngle (const float &value)
 
virtual float StartAngle ()
 
virtual void EndAngle (const float &value)
 
virtual float EndAngle ()
 
virtual void Magnitude (const float &value, unsigned int index)
 
virtual float Magnitude (unsigned int index)
 
virtual void Solid (const bool &value)
 
virtual bool Solid ()
 
void InvalidateGeometry ()
 
GlsDisplayListDisplayList ()
 
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)
 
void GetFillColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
 
void GetFillColor (unsigned char c4[])
 
virtual GlsColor GetFillColor ()
 
- Public Member Functions inherited from GLPolygon
 GLPolygon (unsigned int nPoints, const Vertex *vertices)
 
 GLPolygon (unsigned int nPoints, const Vertex *vertices, const Vertex &location)
 
 GLPolygon ()
 
 GLPolygon (const GLPolygon &polygon, const bool generateNames)
 
virtual ~GLPolygon ()
 
void ConfigureMetaData ()
 
virtual DisplayObjectCloneObject (bool generateNames=false)
 
virtual void Draw ()
 
virtual void CalculateTextureCoordinates ()
 
virtual void CalcNormals (int windingOrder=1)
 
virtual void DeleteVertexAt (unsigned int index)
 
virtual DisplayObjectPick3D (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 Destroy ()
 
virtual void SetAvailableAttributes (unsigned int value)
 
virtual void AlphaMode (int mode)
 
virtual int AlphaMode ()
 
virtual bool AntiAlias ()
 
virtual void AntiAlias (bool alias)
 
void ApplyTextureSettings (int textureIndex=-1)
 
DistiAttribDictAttributes ()
 
const DistiAttribDictAttributes () const
 
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)
 
virtual bool BlinkedOff ()
 
virtual bool Blinking ()
 
virtual void Blinking (const bool blink)
 
virtual float BlinkRate ()
 
virtual void BlinkRate (const float rate)
 
const VectorBoundingVolumeCenter () const
 
void BoundingVolumeCenter (const Vector &center)
 
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 ()
 
virtual void CalculateTextureCoordinates ()
 
bool GetTexturePointTransformationMatrix (GlsMatrixType &world2tex)
 
CallbackMethodCallerBaseCallbackCaller () const
 
void CallbackCaller (CallbackMethodCallerBase *cb)
 
virtual void GetCenter (Vector &center)
 
virtual DisplayObjectCloneObject (bool generateNames=false)=0
 
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 InterfaceListTypeGetCppInterfaceDescription (InterfaceListType *addToThisList=NULL)
 
virtual void GetCppInterfaceDescriptionFree (InterfaceListType *array)
 
virtual void CullBackFace (const bool val)
 
virtual bool CullBackFace ()
 
bool Culled () const
 
void Culled (bool val)
 
bool CullTest (const GlsMatrixType *matrix, const Culler &culler)
 
GlsMatrixTypeDcsMatrix ()
 
GlsMatrixType DcsMatrix () const
 
void DcsMatrix (const GlsMatrixType &matrix)
 
virtual void DeleteVertexAt (unsigned int index)
 
virtual void DeleteVertex (unsigned int indexAfter) final
 
virtual int DepthTest ()
 
virtual void DepthTest (unsigned char zbuf)
 
virtual void Draw ()=0
 
const GlsMatrixTypeDrawMatrix ()
 
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 DynamicRotation ()
 
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 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 void FinishObject ()
 
virtual void GenerateInstanceName ()
 
virtual DisplayObjecthandle (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 InsertVertexAt (unsigned int index)
 
virtual void InsertVertex (unsigned int indexAfter) final
 
char * InstanceName ()
 
const char * InstanceName () const
 
void InstanceName (const char *name)
 
virtual bool LightingEnabled ()
 
virtual void LightingEnabled (bool lighting)
 
virtual int LineStippleMultiplier ()
 
virtual void LineStippleMultiplier (int mult)
 
virtual int LineStipplePattern ()
 
virtual void LineStipplePattern (int pattern)
 
virtual float LineWidth ()
 
virtual void LineWidth (float width)
 
virtual const VertexLocation () 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 () const
 
float Y () const
 
float Z () 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)
 
GlsMatrixTypeModelMatrix ()
 
bool NeedCalculate ()
 
VectorNormals ()
 
virtual void SetNormals (unsigned int nPoints, Vector *vertices)
 
void VaSetNormals (unsigned int nPoints,...)
 
unsigned int NumberOfVertices () const
 
virtual float ObjectDepth ()
 
virtual float ObjectHeight ()
 
virtual float ObjectWidth ()
 
virtual void SetOrigin (const Vertex &vert)
 
virtual void Parent (DisplayFrame *par)
 
DisplayFrameParent () const
 
virtual void ParentGroup (Group *group)
 
GroupParentGroup () const
 
virtual DisplayObjectPick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices)
 
unsigned char Pickable ()
 
virtual void Pickable (unsigned char pick)
 
virtual int PolygonEnd ()
 
virtual void PolygonEnd (const int end)
 
virtual int PolygonMode ()
 
virtual void PolygonMode (int mode)
 
virtual void PreDraw (const OpenGLMatrices &current, Culler &culler)
 
GlsMatrixTypeProjMatrix ()
 
virtual void ReallocateVertices (unsigned int numVertices, bool initializeNew, bool copyOld)
 
virtual float RelativeAngle (const float x, const float y)
 
virtual DistiAttributeBaseResource (const char *name)
 
virtual void GetResources (std::ostream &outstr, GlsResourceFilter *filter=NULL)
 
void RestoreAlpha ()
 
void RestoreAntiAlias ()
 
void RestoreLighting ()
 
void RestoreLineStyle ()
 
const VertexRotationPoint () const
 
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 ()
 
virtual void Scale (float px, float py, float pz, Vertex *anchor, int handleBar=0)
 
void Set (int spec,...)
 
bool SetupAlpha ()
 
bool SetupAntiAlias ()
 
void SetupDepthTest ()
 
void SetupLighting ()
 
bool SetupLineStyle ()
 
void SetupPolyDrawStyle ()
 
void SetupShading ()
 
bool SetupTexture ()
 
virtual int Shading ()
 
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,...)
 
VectorTextureCoordinates ()
 
VectorGetTextureCoordinates ()
 
virtual int TextureIndex ()
 
virtual void TextureIndex (int textureIndex)
 
virtual VectorGetTexturePoints ()
 
virtual bool TextureRepeat ()
 
virtual void TextureRepeat (const int rep)
 
virtual int TextureMappingTechnique ()
 
virtual void TextureMappingTechnique (const int map)
 
virtual int TextureMagnificationFilter ()
 
virtual void TextureMagnificationFilter (const int filter)
 
virtual int TextureMinificationFilter ()
 
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 * UserData () const
 
void UserData (void *data)
 
virtual void SetVertexColor (unsigned int vertex, unsigned char CurrentFillColor[])
 
virtual VertexVertices ()
 
virtual void SetVertices (unsigned int nPoints, Vertex *vertices)
 
void VaSetVertices (unsigned int nPoints,...)
 
int * ViewMatrix ()
 
bool Visible () const
 
bool Visibility () const
 
virtual void Visibility (const bool vis)
 
virtual Vector WorldRotationPoint ()
 
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) override
 
virtual void SetPainter (GlsPainter *painter)
 
virtual GlsPainterGetPainter ()
 
void InvalidatePainter ()
 
virtual bool IsVisibleInScene (const DisplayObject *obj=NULL) const
 
- Public Member Functions inherited from AttributeChangedNotifier
virtual void NotifyAttributeChanged (const AttributeName &name)=0
 
virtual ~AttributeChangedNotifier ()
 
- Public Member Functions inherited from WeakReferenceableMixin
void AddWeakReference (WeakReference *weakRef) override
 
void NotifyWeakReferenceDestroyed (WeakReference *ref) override
 
virtual void AddWeakReference (WeakReference *weakRef)=0
 
virtual void NotifyWeakReferenceDestroyed (WeakReference *weakReference)=0
 

Static Public Member Functions

static DisplayObjectCreateInstance ()
 
- Static Public Member Functions inherited from GLPolygon
static DisplayObjectCreateInstance ()
 
- Static Public Member Functions inherited from DisplayObject
static InterfaceListTypeStaticGetCppInterfaceDescription (InterfaceListType *addToThisList=NULL)
 
static void UseManualBlinkElapsedTime (bool useManualTime)
 
static void SetManualBlinkElapsedTime (double elapsedTime)
 

Protected Member Functions

void CalculateRadiiUnit ()
 
void SetNeedsRecalculate ()
 
void DrawArcSegment (bool textureObject)
 
void DrawSolidCircle (bool textureObject)
 
void DrawGeometry ()
 
void RecomputeVertices ()
 
void CalculateStartVertices ()
 
void CalculateEndVertices ()
 
void GetSegmentIndices (const float startAngle, unsigned int &startIndex, const float endAngle, unsigned int &endIndex)
 
unsigned int InnerIndex (const unsigned int index)
 
unsigned int OuterIndex (const unsigned int index)
 
- 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)
 
virtual int ColorMaterialMode ()
 
void AllocateModelMatrix ()
 
bool ApplyDynamicRotation ()
 
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 LastDrawMatrixLocation (const Vertex &loc)
 
const VertexLastDrawMatrixLocation ()
 
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 ()
 
virtual ~WeakReferenceableMixin ()
 

Protected Attributes

GlsDisplayList _displayList
 
Vector _radii [2]
 
Vector _normal
 
Vector _radiiUnit [2]
 
Vector _start [2]
 
Vector _startTex [2]
 
Vector _end [2]
 
Vector _endTex [2]
 
Vector _centerTex
 
GlsColor _objectColor
 
float _thickness
 
float _startAngle
 
float _endAngle
 
float _magnitude [2]
 
unsigned int _interval
 
bool _solid
 
bool _needsRecalculate
 If true, the ellipse vertices will be recalculated next frame from angle and radius data.
 
GlsMatrixType _world2tex
 
- 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
 
bool _needCalcDrawMatrix
 True if CalcDrawMatrix() needs to be called on this object.
 
unsigned char _lineStippleMultiplier
 
unsigned short _lineStipplePattern
 
float _lineWidth
 
Vertex _location
 
DynamicArray< int > _materialIndices
 List of materials associated with this object.
 
GlsMatrixType_modelMatrix
 
Vector_normals
 
unsigned int _nTex_vertices
 
unsigned int _nVertices
 
unsigned char _polygonEnd
 
unsigned char _polygonMode
 
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
 

Friends

class GlsEllipseEditor
 

Detailed Description

Runtime implementation of a GlsEllipse

Constructor & Destructor Documentation

◆ GlsEllipse() [1/2]

GlsEllipse ( bool  generateInstance = false)

Create a new GlsEllipse.

Parameters
generateInstanceWhether or not to generate an instance name for this inputdevice

◆ GlsEllipse() [2/2]

GlsEllipse ( const GlsEllipse that,
const bool  generateNames 
)

Copy Constructor

Parameters
thatThe object to copy from.
generateNamesWhether or not to generate an instance name.

◆ ~GlsEllipse()

virtual ~GlsEllipse ( )
virtual

Destructs a GlsEllipse object

Member Function Documentation

◆ CalculateEndVertices()

void CalculateEndVertices ( )
protected

Calculates the end vertices

◆ CalculateRadiiUnit()

void CalculateRadiiUnit ( )
protected

Calculates _radiiUnit and _magnitude based on _radii

◆ CalculateStartVertices()

void CalculateStartVertices ( )
protected

Calculates the start vertices

◆ CalculateTextureCoordinates()

virtual void CalculateTextureCoordinates ( )
virtual

Recalculates the texture coordinates for the object based on the TexturePoints.

Reimplemented from GLPolygon.

◆ CloneObject()

virtual DisplayObject * CloneObject ( bool  generateNames = false)
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.

Parameters
generateNamesWhether or not to generate new names for cloned objects
Returns
A new object, identical to the original, except for the instance name

Reimplemented from GLPolygon.

◆ CopyGeometry()

virtual void CopyGeometry ( DisplayObject src)
virtual

Copies the geometry information from one object to another. Used by the undo mechanism to allow user to undo a geometry change.

Parameters
srcThe object to copy geometry from

Reimplemented from DisplayObject.

◆ CopyProperties()

virtual void CopyProperties ( DisplayObject src)
virtual

Copies the attributes except for geometry attributes from one object to another. Used by the undo mechanism to undo most attribute change operations.

Parameters
srcThe object to copy properties from

Reimplemented from DisplayObject.

◆ CreateInstance()

static DisplayObject * CreateInstance ( )
static
Returns
A pointer to a new GlsEllipse object.

◆ DisplayList()

GlsDisplayList & DisplayList ( )
inline
Returns
A reference to this object's display list.

◆ Draw()

virtual void Draw ( )
virtual

Draws this object on the current display frame (_parent member).

Reimplemented from GLPolygon.

◆ DrawArcSegment()

void DrawArcSegment ( bool  textureObject)
protected

Draws the arc segment mode

Parameters
textureObjectTRUE if object should be drawn textured

◆ DrawGeometry()

void DrawGeometry ( )
protected

Performs OpenGL drawing commands

◆ DrawSolidCircle()

void DrawSolidCircle ( bool  textureObject)
protected

Draws the solid circle mode

Parameters
textureObjectTRUE if object should be drawn textured

◆ EndAngle() [1/2]

virtual float EndAngle ( )
virtual

Gets the end angle in degrees

Returns
The end angle in degrees

◆ EndAngle() [2/2]

virtual void EndAngle ( const float &  value)
virtual

Sets the end angle in degrees

Parameters
valueThe end angle in degrees

◆ GetCppInterfaceDescription()

virtual InterfaceListType * GetCppInterfaceDescription ( InterfaceListType addToThisList = NULL)
virtual

Get the details of the Cpp Interface The actual interface is exposed in compiled code.

Parameters
addToThisListIf not NULL this list will be added to then returned. If NULL a new list will be created.
Returns
A templated list.
The caller must call the corresponding free method to safely free the memory.

Reimplemented from DisplayObject.

◆ GetCppInterfaceDescriptionFree()

virtual void GetCppInterfaceDescriptionFree ( InterfaceListType array)
virtual

Frees the memory allocated by a previous call to GetCppInterfaceDescription

Parameters
arrayMemory allocated by a previous call to GetCppInterfaceDescription

Reimplemented from DisplayObject.

◆ GetExtents()

virtual void GetExtents ( float &  x,
float &  y,
float &  z,
float &  x1,
float &  y1,
float &  z1 
)
virtual

Figure out the static extents for the object. Used by the editor as part of the pick operation and for figuring out the size of groups.

Parameters
xGets the minimum x extent
yGets the minimum y extent
zGets the minimum z extent
x1Gets the maximum x extent
y1Gets the maximum y extent
z1Gets the maximum z extent

Reimplemented from DisplayObject.

◆ GetFillColor() [1/4]

virtual GlsColor GetFillColor ( )
virtual

Gets the fill color of the object

Returns
The fill color

Reimplemented from DisplayObject.

◆ GetFillColor() [2/4]

virtual GlsColor GetFillColor ( )
virtual

Gets the color for filling the object

Returns
The fill color for the object

Reimplemented from DisplayObject.

◆ GetFillColor() [3/4]

void GetFillColor ( unsigned char &  r,
unsigned char &  g,
unsigned char &  b,
unsigned char &  a 
)

Gets the RGBA color for filling the object

Parameters
rGets the red component (0-255 range) of the fill color for the object
gGets the blue component (0-255 range) of the fill color for the object
bGets the green component (0-255 range) of the fill color for the object
aGets the alpha component (0-255 range) of the fill color for the object NOTE: NOT Virtual Simply calls GlsColor GetFillColor()

◆ GetFillColor() [4/4]

void GetFillColor ( unsigned char  c4[])

Gets the RGBA color for filling the object

Parameters
c4Gets the RGBA fill color (0-255 range) for the object NOTE: NOT Virtual. Simply calls GlsColor GetFillColor()

◆ GetSegmentIndices()

void GetSegmentIndices ( const float  startAngle,
unsigned int &  startIndex,
const float  endAngle,
unsigned int &  endIndex 
)
protected

Gets starting and ending indices for vertices.

Parameters
startAngleThe start angle to calculate from in degrees.
startIndexThe returned segment index closest to the start angle.
endAngleThe end angle to calculate from in degrees.
endIndexThe returned segment index closest to the end angle.

◆ GetTransformedExtents()

virtual void GetTransformedExtents ( Vector min,
Vector max,
const GlsMatrixType matrix,
bool  resetMinMax 
)
virtual

Determines the static extents of the geometry projected to the XY plane of an arbirary coordinate system.

Parameters
minReturns the minimum values found in the traversal
maxReturns the maximum values found in the traversal
matrixTransformation matrix from logical coordinates to the coordinate system to determine the extents in.
resetMinMaxNormally not specified by user. Should be true for the initial call.

Reimplemented from DisplayObject.

◆ handle()

DisplayObject * handle ( DisplayEvent ev)
virtual

Handles an event that is sent to the object.

Parameters
evThe event to send to the object
Returns
Which object handled the event

Reimplemented from DisplayObject.

◆ Hit()

virtual bool Hit ( float  x,
float  y,
float  z,
float  scale,
const Vector directionVector,
Vector collisionPoint 
)
virtual

Determines if the object is hit by a pick ray starting at (x,y,z) and pointing towards directionVector in object logical coordinate system. If Pickable() == PICK_BEST it will return the closest point that was hit, otherwise it returns the first point that was hit. This method should not pick points behind the viewer.

Parameters
xX coordinate of pick ray start in logical coordinates.
yY coordinate of pick ray start in logical coordinates.
zZ coordinate of pick ray start in logical coordinates.
scaleThe scale factor of the window. Affects picking of outlines. Standard value is 1.0.
directionVectorThe direction of the pick ray.
collisionPointIf this method returns true, this Vector will contain the location that was hit in logical coordinates.
Returns
boolean indicating if the object was hit by the pick ray.

Reimplemented from DisplayObject.

◆ InnerIndex()

unsigned int InnerIndex ( const unsigned int  index)
protected

Get the inner index, the index of the vertex on the inner edge of a non-solid ellipse. Used for picking.

Parameters
indexThe segment index to derive the vertex index from.
Returns
The vertex index associated with the segment.

◆ Interval() [1/2]

virtual unsigned int Interval ( )
virtual

Gets the angular interval between vertices.

Returns
the interval.

◆ Interval() [2/2]

virtual void Interval ( const unsigned int &  value)
virtual

Sets the angular interval between vertices

Parameters
valuethe interval in degrees.

◆ InvalidateGeometry()

void InvalidateGeometry ( )
inline

Causes the display list for this object to be recomputed

◆ Magnitude() [1/2]

virtual void Magnitude ( const float &  value,
unsigned int  index 
)
virtual

Sets the magnitude (thickness of the ellipse outer edge).

Parameters
valueThe new magnitude value to set.
indexThe axis to set the magnitude on (0 or 1).

◆ Magnitude() [2/2]

virtual float Magnitude ( unsigned int  index)
virtual
Parameters
indexThe axis to get the magnitude for (0 or 1).
Returns
The magnitude (thickness of the ellipse outer edge) on the given axis.

◆ OuterIndex()

unsigned int OuterIndex ( const unsigned int  index)
protected

Get the outer index, the index of the vertex on the outer edge of the ellipse. Used for picking.

Parameters
indexThe segment index to derive the vertex index from.
Returns
The vertex index associated with the segment.

◆ PreDraw()

virtual void PreDraw ( const OpenGLMatrices current,
Culler culler 
)
virtual

Traverses the hierarchy calculating the _modelMatrix, _projMatrix, _viewMatrix as needed.

Parameters
currentCurrent matrices inherited from parent
cullerObject that possibly marks this object for culling

Reimplemented from DisplayObject.

◆ RadiusVector()

virtual Vector RadiusVector ( unsigned int  index)
virtual
Parameters
indexThe index of the radius vector to return (0 or 1).
Returns
The radius vector for the specified index.

◆ RadiusVectors()

virtual void RadiusVectors ( const Vector r1,
const Vector r2 
)
virtual

Sets the radius vectors

Parameters
r1
r2

◆ RecomputeVertices()

void RecomputeVertices ( )
protected

Recomputes the object's vertices from its radii

◆ Rotate()

virtual void Rotate ( const Vector orig,
float  angle,
const Vector axis 
)
virtual

Rotates the object (around the specified axis) by the angle indicated, at the point specified. Recalculates the vertex data.

Parameters
origThe point to rotate around
angleThe angle to rotate by, in degrees
axisThe arbitrary axis to rotate the object around

Reimplemented from DisplayObject.

◆ Scale()

virtual void Scale ( float  px,
float  py,
float  pz,
Vertex anchor,
int  handleBar 
)
virtual

Scales the object, either the handleBar, or the Anchor is used to translate the object, not both. Anchor takes presidence, if it is set HandleBar is ignored. The footprint is different from the 2D scale so the compiler can destinguish the two.

Parameters
pxValue of the percentage of scale in x-axis
pyValue of the percentage of scale in y-axis
pzValue of the percentage of scale in z-axis
anchorAnchor from which to scale object relative to
handleBarVertex that is being dragged

Reimplemented from DisplayObject.

◆ SetAvailableAttributes()

virtual void SetAvailableAttributes ( unsigned int  value)
virtual

Specifies which attributes are available for the object. Currently the available attributes cannot be changed after they have been set. (Only the first call has an effect.)

Parameters
valueA bitfield specifying which types of attributes to make available.
See also
AvailableAttributesEnum

Reimplemented from DisplayObject.

◆ SetFillColor() [1/4]

virtual void SetFillColor ( const GlsColor color)
virtual

Sets the RGBA color for filling the object

Parameters
colorThe new RGBA fill color (0-255 range) for the object

Reimplemented from DisplayObject.

◆ SetFillColor() [2/4]

virtual void SetFillColor ( const GlsColor color)
virtual

Sets the color for filling the object

Parameters
colorThe new color for the object

Reimplemented from DisplayObject.

◆ SetFillColor() [3/4]

void SetFillColor ( unsigned char  c4[])
inline

Sets the RGBA color for filling the object

Parameters
c4The new RGBA fill color (0-255 range) for the object NOTE: Not Virtual. Simply calls void SetFillColor(const GlsColor& color)

◆ SetFillColor() [4/4]

void SetFillColor ( unsigned char  r,
unsigned char  g,
unsigned char  b,
unsigned char  a 
)
inline

Sets the RGBA color for filling the object

Parameters
rThe new red component (0-255 range) of the fill color for the object
gThe new blue component (0-255 range) of the fill color for the object
bThe new green component (0-255 range) of the fill color for the object
aThe new alpha component (0-255 range) of the fill color for the object NOTE: Not Virtual. Simply calls void SetFillColor(const GlsColor& color)

◆ SetNeedsRecalculate()

void SetNeedsRecalculate ( )
protected

callback called when the ellipse needs to be recalculated because an attribute has changed

◆ SetupTexture()

virtual bool SetupTexture ( )
virtual

Configure the OpenGL texture state for this object.

Note
Not normally called by users.
Returns
True if the OpenGL state was changed.

◆ SetValue()

virtual void SetValue ( int  spec,
va_list &  args 
)
virtual

Sets an attribute of this object using variable arguments

Parameters
specA GLS_Initializer tag
argsA variable argument list

Reimplemented from DisplayObject.

◆ Solid() [1/2]

virtual bool Solid ( )
virtual

Gets the solid flag

Returns
The current solid flag value

◆ Solid() [2/2]

virtual void Solid ( const bool &  value)
virtual

Sets the solid flag

Parameters
valueWhen true the elipse is drawn solid

◆ StartAngle() [1/2]

virtual float StartAngle ( )
virtual

Gets the Start Angle in degrees

Returns
The start angle in degrees

◆ StartAngle() [2/2]

virtual void StartAngle ( const float &  value)
virtual

Sets the Start Angle in degrees

Parameters
valueThe start angle

◆ Thickness() [1/2]

virtual float Thickness ( )
virtual

Gets the thickness of the ellipse.

Returns
The current thickness of the ellipse in logical units.

◆ Thickness() [2/2]

virtual void Thickness ( const float &  value)
virtual

Sets the thickness of the ellipse in logical units.

Parameters
valueThe thickness in logical units.

◆ UnitVector()

virtual Vector UnitVector ( unsigned int  index)
virtual
Parameters
indexThe index of the unit vector to return (0 or 1).
Returns
The unit vector for the specified index.

◆ UpdateBoundingVolume()

virtual void UpdateBoundingVolume ( )
virtual

Updates the bounding volume of this object This method should be called if the vertices change for picking and culling to work correctly. This will only update this object. If PerformGroupCullCheck is enabled for one of the objects parents, you may also need to call CalculateParentBoundingBox() to update all of the objects parents.

Reimplemented from DisplayObject.

◆ Vertices()

virtual Vertex * Vertices ( )
virtual

Gets the object's vertices. You should call UpdateBoundingVolume after changing an object's extents.

See also
UpdateBoundingVolume
Returns
Pointer to the object's vertex array

Reimplemented from DisplayObject.

Member Data Documentation

◆ _centerTex

Vector _centerTex
protected

Texture coordinate of center point

◆ _displayList

GlsDisplayList _displayList
protected

Stores the scale in a display list for faster drawing

◆ _end

Vector _end[2]
protected

Two points defining the ending edge of a partial ellipse.

◆ _endAngle

float _endAngle
protected

Ending angle of ellipse segment in degrees

◆ _endTex

Vector _endTex[2]
protected

Texture coordinates of starting points

◆ _interval

unsigned int _interval
protected

Interval between subdivisions, in degrees

◆ _magnitude

float _magnitude[2]
protected

Magnitude of radii

◆ _normal

Vector _normal
protected

Two radii defining the ellipse size and orientation Only used to read/write file. _radiiNormal is in control Normal to surface defined by radii

◆ _objectColor

GlsColor _objectColor
protected

Fill color of object

◆ _radii

Vector _radii[2]
protected

Stores the scale in a display list for faster drawing

◆ _radiiUnit

Vector _radiiUnit[2]
protected

Unit vector of radii

◆ _solid

bool _solid
protected

If true, ellipse drawn as solid not as "donut"

◆ _start

Vector _start[2]
protected

Two points defining the starting edge of a partial ellipse.

◆ _startAngle

float _startAngle
protected

Starting angle of ellipse segment in degrees

◆ _startTex

Vector _startTex[2]
protected

Texture coordinates of starting points

◆ _thickness

float _thickness
protected

Thickness of the outer edge of the ellipse in logical units

◆ _world2tex

GlsMatrixType _world2tex
protected

Matrix used to calculate texture coordinates for the object


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