46 #include "gls_vertex_array.h"
47 #include "gls_index_array.h"
52 #if (defined(GLSGEN_EXPORT_GLSELLIPSE) || \
53 defined(GLSGEN_IMPORT_GLSELLIPSE) || \
54 defined(GLS_EXPORT_GENERATED) || \
55 defined(GLS_IMPORT_GENERATED)) \
57 # if defined(GLSGEN_EXPORT_GLSELLIPSE) || defined(GLS_EXPORT_GENERATED)
58 # define GLSGEN_GLSELLIPSE_EXPORT __declspec(dllexport)
60 # define GLSGEN_GLSELLIPSE_EXPORT __declspec(dllimport)
63 # define GLSGEN_GLSELLIPSE_EXPORT
67 #define LIB_BASE_NAME "gls_ellipse"
76 GLS_ELLIPSE_FIRST_VALUE = GLS_LAST_INITIALIZER+1,
78 GLS_ELLIPSE_THICKNESS,
81 GLS_ELLIPSE_START_ANGLE,
82 GLS_ELLIPSE_END_ANGLE,
89 friend class GlsEllipseEditor;
96 GLSGEN_GLSELLIPSE_EXPORT
GlsEllipse(
bool generateInstance=
false);
99 GLSGEN_GLSELLIPSE_EXPORT
GlsEllipse(
const GlsEllipse& that,
const bool generateNames );
104 static GLSGEN_GLSELLIPSE_EXPORT
DisplayObject* CreateInstance();
119 virtual GLSGEN_GLSELLIPSE_EXPORT
void Draw(
void);
121 virtual GLSGEN_GLSELLIPSE_EXPORT
void Scale(
float px,
float py,
float pz,
Vertex *anchor,
int handleBar);
122 virtual GLSGEN_GLSELLIPSE_EXPORT
void Rotate(
const Vector &orig,
float angle,
const Vector &axis);
123 virtual GLSGEN_GLSELLIPSE_EXPORT
bool Hit(
float x,
float y,
float z,
float scale,
const Vector& directionVector,
Vector *collisionPoint);
127 virtual GLSGEN_GLSELLIPSE_EXPORT
void GetExtents(
float &minx,
float &miny,
float &minz,
float &maxx,
float &maxy,
float &maxz);
149 virtual GLSGEN_GLSELLIPSE_EXPORT
void SetValue(
int spec,va_list &args);
152 virtual GLSGEN_GLSELLIPSE_EXPORT
bool SetupTexture(
void);
177 virtual GLSGEN_GLSELLIPSE_EXPORT
void Interval(
const unsigned int& value );
181 virtual GLSGEN_GLSELLIPSE_EXPORT
unsigned int Interval();
186 virtual GLSGEN_GLSELLIPSE_EXPORT
void Thickness(
const float& value );
190 virtual GLSGEN_GLSELLIPSE_EXPORT
float Thickness();
195 virtual GLSGEN_GLSELLIPSE_EXPORT
void StartAngle(
const float& value );
199 virtual GLSGEN_GLSELLIPSE_EXPORT
float StartAngle();
204 virtual GLSGEN_GLSELLIPSE_EXPORT
void EndAngle(
const float& value );
208 virtual GLSGEN_GLSELLIPSE_EXPORT
float EndAngle();
212 virtual GLSGEN_GLSELLIPSE_EXPORT
void Magnitude(
const float& value,
unsigned int index );
215 virtual GLSGEN_GLSELLIPSE_EXPORT
float Magnitude(
unsigned int index);
220 virtual GLSGEN_GLSELLIPSE_EXPORT
void Solid(
const bool& value );
224 virtual GLSGEN_GLSELLIPSE_EXPORT
bool Solid();
249 void ComputeArcSegment(
bool textureObject);
254 void ComputeSolidCircle(
bool textureObject);
259 virtual GLS_EXPORT
void SetFromGloData(GlsGloFileAttribute &data);
284 void GetSegmentIndices(
const float startAngle,
unsigned int &startIndex,
const float endAngle,
unsigned int &endIndex);
285 unsigned int InnerIndex(
const unsigned int index);
286 unsigned int OuterIndex(
const unsigned int index);
292 GlsVertexArray _outlineVertexArray;
316 bool _needsRecalculate;
322 GlsEllipse& operator=(
const GlsEllipse& ) DISTI_SPECIAL_MEM_FUN_DELETE ;
323 GlsEllipse( const GlsEllipse& ) DISTI_SPECIAL_MEM_FUN_DELETE ;
virtual Vector UnitVector(unsigned int index)
virtual void GetTransformedExtents(Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax)
virtual void CopyGeometry(DisplayObject *srcArg)
float _magnitude[2]
Definition: gls_ellipse.h:309
void Invalidate(void)
Definition: gls_display_list.h:83
float _startAngle
Definition: gls_ellipse.h:309
Vector _normal
Definition: gls_ellipse.h:295
Definition: dynamic_array.h:63
virtual void UpdateBoundingVolume(void)
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:289
GlsEllipse(bool generateInstance=false)
Vector _start[2]
Definition: gls_ellipse.h:295
virtual void Rotate(const Vector &orig, float angle, const Vector &axis)
The Polygon class. Implements Polygons.
Definition: glpolygon.h:56
virtual void SetAvailableAttributes(unsigned int value)
virtual glsColor GetFillColor(void)
virtual float Thickness()
The disti::GLPolygon class. Implements Polygons.
void GetSegmentIndices(const float startAngle, unsigned int &startIndex, const float endAngle, unsigned int &endIndex)
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array)
void RecomputeVertices(void)
virtual void Scale(float px, float py, float pz, Vertex *anchor, int handleBar)
void DrawArcSegment(bool textureObject)
Vector _end[2]
Definition: gls_ellipse.h:295
Definition: gls_display_list.h:51
virtual void GetExtents(float &minx, float &miny, float &minz, float &maxx, float &maxy, float &maxz)
void InvalidateGeometry(void)
Definition: gls_ellipse.h:231
bool _solid
Definition: gls_ellipse.h:315
virtual glsColor GetFillColor(void)
virtual unsigned int Interval()
virtual Vector RadiusVector(unsigned int index)
void CalculateRadiiUnit(void)
GlsDisplayList & DisplayList(void)
Definition: gls_ellipse.h:234
unsigned int _interval
Definition: gls_ellipse.h:314
float _thickness
Definition: gls_ellipse.h:309
Vector _radii[2]
Definition: gls_ellipse.h:295
virtual float StartAngle()
virtual DisplayObject * CloneObject(bool generateNames=false)
Vector _startTex[2]
Definition: gls_ellipse.h:295
float _endAngle
Definition: gls_ellipse.h:309
Vector _centerTex
Definition: gls_ellipse.h:295
virtual void SetValue(int spec, va_list &args)
virtual void RadiusVectors(const Vector &r1, const Vector &r2)
Definition: gls_color.h:54
void DrawSolidCircle(bool textureObject)
void CalculateEndVertices(void)
Vector _endTex[2]
Definition: gls_ellipse.h:295
glsColor _objectColor
Definition: gls_ellipse.h:307
GlsDisplayList _displayList
Definition: gls_ellipse.h:290
virtual void PreDraw(const OpenGLMatrices &parentMatrices, Culler &culler)
virtual void CalculateTextureCoordinates()
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL)
GlsMatrixType _world2tex
Definition: gls_ellipse.h:318
DisplayObject * handle(DisplayEvent *ev)
virtual void Magnitude(const float &value, unsigned int index)
Definition: gls_ellipse.h:87
virtual bool Hit(float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint)
Macros and helper code to determine what subset of C++11/14/17 is available.
virtual Vertex * Vertices()
void CalculateStartVertices(void)
Definition: bmpimage.h:46
virtual void SetFillColor(const glsColor &color)
void SetFillColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
Definition: display.h:663
The disti::GlsDisplayList class.
virtual void CopyProperties(DisplayObject *src)
void SetNeedsRecalculate(void)
Vector _radiiUnit[2]
Definition: gls_ellipse.h:295