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