40#ifndef INCLUDED_GLS_POLYLINE_H
41#define INCLUDED_GLS_POLYLINE_H
52#if( defined( GLSGEN_EXPORT_GLSPOLYLINE ) || defined( GLSGEN_IMPORT_GLSPOLYLINE ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \
53 && defined( _MSC_VER )
54# if defined( GLSGEN_EXPORT_GLSPOLYLINE ) || defined( GLS_EXPORT_GENERATED )
55# define GLSGEN_GLSPOLYLINE_EXPORT __declspec( dllexport )
57# define GLSGEN_GLSPOLYLINE_EXPORT __declspec( dllimport )
60# define GLSGEN_GLSPOLYLINE_EXPORT
65#define LIB_BASE_NAME "gls_poly_line"
74 GLS_POLY_LINE_FIRST_VALUE = GLS_LAST_INITIALIZER + 1,
75 GLS_POLY_LINE_THICKNESS,
77 GLS_POLY_LINE_HALO_COLOR,
78 GLS_POLY_LINE_HALO_THICKNESS,
80 GLS_POLY_LINE_LAST_INITIALIZER = GLS_POLY_LINE_NORMAL
102 friend class GlsPolyLineEditor;
109 DISTI_DEPRECATED(
"This identifier is forbidden by the C++ standard. Use BaseClass instead." )
270 void ComputeCorner(
GlsPolyLineTriangleList& array,
float thickness,
float cornerRadius,
const Vector& refVert,
const Vector& v1,
const Vector& v2,
const Vector& v3,
const Vector& v4,
const Vector& l1,
const Vector& l2,
bool calculatingHalos =
false );
Definition: dynamic_array.h:79
The Polygon class. Implements Polygons.
Definition: glpolygon.h:56
Definition: gls_color.h:54
Definition: gls_glo_file.h:1243
Definition: gls_poly_line.h:101
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL) DISTI_METHOD_OVERRIDE
GlsColor _haloColor
The color of the halo.
Definition: gls_poly_line.h:230
virtual void SetAvailableAttributes(unsigned int value) DISTI_METHOD_OVERRIDE
virtual void Draw() DISTI_METHOD_OVERRIDE
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array) DISTI_METHOD_OVERRIDE
GlsPolyLineTriangleList _triangles
The triangles to render, derived from vertices and thickness.
Definition: gls_poly_line.h:225
bool Halo()
Definition: gls_poly_line.h:186
GlsColor HaloColor()
Definition: gls_poly_line.h:193
virtual void SetColor(const GlsColor &color) DISTI_METHOD_OVERRIDE
void Halo(const bool &val)
virtual DisplayObject * CloneObject(bool generateNames=false) DISTI_METHOD_OVERRIDE
virtual bool Hit(float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint) DISTI_METHOD_OVERRIDE
virtual void PreDraw(const OpenGLMatrices &parentMatrices, Culler &culler) DISTI_METHOD_OVERRIDE
virtual void SetValue(int spec, va_list &args) DISTI_METHOD_OVERRIDE
void DeleteVertexAt(unsigned int index) DISTI_METHOD_OVERRIDE
virtual void SetRecalculate()
virtual void Rotate(const Vector &orig, float angle, const Vector &axis) DISTI_METHOD_OVERRIDE
void DrawTriangles(GlsPolyLineTriangleList &array)
float _haloThickness
The thickness of the halo in logical units.
Definition: gls_poly_line.h:231
void ComputeSegments(GlsPolyLineTriangleList &array, float thickness, bool calculatingHalos=false)
static DisplayObject * CreateInstance()
virtual void GetExtents(float &minx, float &miny, float &minz, float &maxx, float &maxy, float &maxz) DISTI_METHOD_OVERRIDE
float Thickness()
Definition: gls_poly_line.h:176
virtual void CopyGeometry(DisplayObject *srcArg) DISTI_METHOD_OVERRIDE
void ComputeCorner(GlsPolyLineTriangleList &array, float thickness, float cornerRadius, const Vector &refVert, const Vector &v1, const Vector &v2, const Vector &v3, const Vector &v4, const Vector &l1, const Vector &l2, bool calculatingHalos=false)
GlsPolyLineTriangleList _haloTriangles
The triangles to render, derived from vertices and halo thickness.
Definition: gls_poly_line.h:232
virtual void SetVertices(unsigned int nPoints, Vertex *vertices) DISTI_METHOD_OVERRIDE
void HaloThickness(const float &val)
void HaloColor(const GlsColor &val)
bool _halo
If true, a halo (outline) will be drawn.
Definition: gls_poly_line.h:229
float _thickness
The thickness of the line in logical units.
Definition: gls_poly_line.h:226
virtual void Scale(float px, float py, float pz, Vertex *anchor, int handleBar) DISTI_METHOD_OVERRIDE
virtual void CopyProperties(DisplayObject *src) DISTI_METHOD_OVERRIDE
unsigned int _endCapIndex
The index of the triangle forming the end cap.
Definition: gls_poly_line.h:236
bool _needsRecalculate
If true, the triangles will be recalculated the next frame.
Definition: gls_poly_line.h:234
Vector GlobalNormal()
Definition: gls_poly_line.h:179
virtual void SetFillColor(const GlsColor &color) DISTI_METHOD_OVERRIDE
Vector _normal
The normal vector (for all triangles).
Definition: gls_poly_line.h:227
float HaloThickness()
Definition: gls_poly_line.h:203
Definition: gls_vertex_array.h:60
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:544
The disti::DynamicArray class. A templated array of objects capable of dynamically growing.
The disti::GLPolygon class. Implements Polygons.
Macros and helper code to determine what subset of C++11/14/17 is available.
#define DISTI_SPECIAL_MEM_FUN_DELETE
Macro to wrap function deletion, removed on compilers that don't support it.
Definition: gls_cpp_lang_support.h:235
#define DISTI_DEPRECATED(msg)
Defines whether this compiler supports the C++14 deprecated attribute.
Definition: gls_cpp_lang_support.h:457
#define DISTI_METHOD_OVERRIDE
Macro to wrap the override keyword, removed on compilers that don't support it.
Definition: gls_cpp_lang_support.h:214
#define GLSGEN_GLSPOLYLINE_EXPORT
Provides support for creating DLLs.
Definition: gls_poly_line.h:60
An object for managing vertices, texture coordinates, colors and normals for GLPolygon and other disp...
The disti::GLTriMesh class. Implements Triangle Meshes.
Force inclusion of the DirectShow library.
Definition: bmpimage.h:47
DistiAttribDict::const_iterator end(const DistiAttribDict &dict)
Definition: disti_metadata.h:959
Definition: gls_poly_line.h:93
GlsPolyLineVertex a
The first vertex of the face.
Definition: gls_poly_line.h:94
GlsPolyLineVertex c
The third vertex of the face.
Definition: gls_poly_line.h:96
GlsPolyLineVertex b
The second vertex of the face.
Definition: gls_poly_line.h:95
Definition: gls_poly_line.h:85
Vector normal
Definition: gls_poly_line.h:88
Vector vertex
Definition: gls_poly_line.h:86
Vector texCoord
Definition: gls_poly_line.h:87