52 #if( defined( GLSGEN_EXPORT_GLSELLIPSE ) || defined( GLSGEN_IMPORT_GLSELLIPSE ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \
53 && defined( _MSC_VER )
54 # if defined( GLSGEN_EXPORT_GLSELLIPSE ) || defined( GLS_EXPORT_GENERATED )
55 # define GLSGEN_GLSELLIPSE_EXPORT __declspec( dllexport )
57 # define GLSGEN_GLSELLIPSE_EXPORT __declspec( dllimport )
60 # define GLSGEN_GLSELLIPSE_EXPORT
64 #define LIB_BASE_NAME "gls_ellipse"
73 GLS_ELLIPSE_FIRST_VALUE = GLS_LAST_INITIALIZER + 1,
75 GLS_ELLIPSE_THICKNESS,
78 GLS_ELLIPSE_START_ANGLE,
79 GLS_ELLIPSE_END_ANGLE,
86 friend class GlsEllipseEditor;
89 DISTI_DEPRECATED(
"This identifier is forbidden by the C++ standard. Use BaseClass instead." )
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();
230 _geometryRefresh =
true;
256 void GLSGEN_GLSELLIPSE_EXPORT ComputeArcSegment(
bool textureObject );
261 void GLSGEN_GLSELLIPSE_EXPORT ComputeSolidCircle(
bool textureObject );
271 void GLSGEN_GLSELLIPSE_EXPORT
DrawArcSegment(
bool textureObject );
291 void GLSGEN_GLSELLIPSE_EXPORT
GetSegmentIndices(
const float startAngle,
unsigned int& startIndex,
const float endAngle,
unsigned int& endIndex );
292 unsigned int GLSGEN_GLSELLIPSE_EXPORT InnerIndex(
const unsigned int index );
293 unsigned int GLSGEN_GLSELLIPSE_EXPORT OuterIndex(
const unsigned int index );
323 bool _needsRecalculate;
329 GlsEllipse& operator=(
const GlsEllipse& ) DISTI_SPECIAL_MEM_FUN_DELETE;
330 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:316
#define DISTI_DEPRECATED(msg)
Defines whether this compiler supports the C++14 deprecated attribute.
Definition: gls_cpp_lang_support.h:436
void Invalidate(void)
Definition: gls_display_list.h:82
float _startAngle
Definition: gls_ellipse.h:316
Vector _normal
Definition: gls_ellipse.h:302
Definition: dynamic_array.h:66
virtual void UpdateBoundingVolume(void)
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:296
GlsEllipse(bool generateInstance=false)
Vector _start[2]
Definition: gls_ellipse.h:302
virtual void Rotate(const Vector &orig, float angle, const Vector &axis)
The Polygon class. Implements Polygons.
Definition: glpolygon.h:55
virtual void SetAvailableAttributes(unsigned int value)
GlsColor _objectColor
Definition: gls_ellipse.h:314
virtual void SetFillColor(const GlsColor &color)
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:302
Definition: gls_display_list.h:50
virtual void GetExtents(float &minx, float &miny, float &minz, float &maxx, float &maxy, float &maxz)
Definition: gls_glo_file.h:988
void InvalidateGeometry(void)
Definition: gls_ellipse.h:235
bool _solid
Definition: gls_ellipse.h:322
virtual unsigned int Interval()
virtual Vector RadiusVector(unsigned int index)
virtual GlsColor GetFillColor(void)
void CalculateRadiiUnit(void)
GlsDisplayList & DisplayList(void)
Definition: gls_ellipse.h:242
unsigned int _interval
Definition: gls_ellipse.h:321
float _thickness
Definition: gls_ellipse.h:316
Vector _radii[2]
Definition: gls_ellipse.h:302
virtual float StartAngle()
virtual DisplayObject * CloneObject(bool generateNames=false)
Definition: gls_vertex_array.h:58
Vector _startTex[2]
Definition: gls_ellipse.h:302
float _endAngle
Definition: gls_ellipse.h:316
Vector _centerTex
Definition: gls_ellipse.h:302
Definition: gls_color.h:53
virtual void SetValue(int spec, va_list &args)
virtual void RadiusVectors(const Vector &r1, const Vector &r2)
void DrawSolidCircle(bool textureObject)
void CalculateEndVertices(void)
Vector _endTex[2]
Definition: gls_ellipse.h:302
GlsDisplayList _displayList
Definition: gls_ellipse.h:297
virtual void PreDraw(const OpenGLMatrices &parentMatrices, Culler &culler)
virtual void CalculateTextureCoordinates()
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL)
An object for managing vertices, texture coordinates, colors and normals for GLPolygon and other disp...
GlsMatrixType _world2tex
Definition: gls_ellipse.h:325
virtual GlsColor GetFillColor(void)
DisplayObject * handle(DisplayEvent *ev)
virtual void Magnitude(const float &value, unsigned int index)
Definition: gls_ellipse.h:84
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()
The disti::GlsIndexArray class, for managing index buffers.
void CalculateStartVertices(void)
Definition: bmpimage.h:46
void SetFillColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
Definition: display.h:678
The disti::GlsDisplayList class.
virtual void CopyProperties(DisplayObject *src)
void SetNeedsRecalculate(void)
Vector _radiiUnit[2]
Definition: gls_ellipse.h:302