| GL Studio C++ Runtime API

gls_poly_line.h
Go to the documentation of this file.
1/*! \file
2 \brief The disti::GlsPolyLine class.
3
4 \par Copyright Information
5
6 Copyright (c) 2016 by The DiSTI Corporation.<br>
7 11301 Corporate Blvd; Suite 100<br>
8 Orlando, Florida 32817<br>
9 USA<br>
10 <br>
11 All rights reserved.<br>
12
13 This Software contains proprietary trade secrets of DiSTI and may not be
14 reproduced, in whole or part, in any form, or by any means of electronic,
15 mechanical, or otherwise, without the written permission of DiSTI. Said
16 permission may be derived through the purchase of applicable DiSTI product
17 licenses which detail the distribution rights of this content and any
18 Derivative Works based on this or other copyrighted DiSTI Software.
19
20 NO WARRANTY. THE SOFTWARE IS PROVIDED "AS-IS," WITHOUT WARRANTY OF ANY KIND,
21 AND ANY USE OF THIS SOFTWARE PRODUCT IS AT YOUR OWN RISK. TO THE MAXIMUM EXTENT
22 PERMITTED BY APPLICABLE LAW, DISTI AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES
23 AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
24 IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY AND/OR FITNESS FOR A
25 PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT, WITH REGARD TO THE SOFTWARE.
26
27 LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW,
28 IN NO EVENT SHALL DISTI OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
29 INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION,
30 DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
31 INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
32 INABILITY TO USE THE SOFTWARE, EVEN IF DISTI HAS BEEN ADVISED OF THE POSSIBILITY
33 OF SUCH DAMAGES. DISTI'S ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY SHALL NOT
34 EXCEED FIVE DOLLARS (US$5.00).
35
36 The aforementioned terms and restrictions are governed by the laws of the
37 State of Florida and the United States of America.
38
39*/
40#ifndef INCLUDED_GLS_POLYLINE_H
41#define INCLUDED_GLS_POLYLINE_H
42#include "dynamic_array.h"
43#include "glpolygon.h"
44#include "gls_cpp_lang_support.h"
45#include "gltrimesh.h"
46
47#ifdef GLES
48# include "gls_vertex_array.h"
49#endif
50
51/// Provides support for creating DLLs.
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 )
56# else
57# define GLSGEN_GLSPOLYLINE_EXPORT __declspec( dllimport )
58# endif
59#else
60# define GLSGEN_GLSPOLYLINE_EXPORT
61#endif
62///////////////////////////////////////////////////////////////////////////////
63
64/// Automatically link the runtime library plugin (on Windows).
65#define LIB_BASE_NAME "gls_poly_line"
66#include "gls_auto_lib.h"
67#undef LIB_BASE_NAME
68
69 namespace disti
70{
71// SetValue enumerations
72 enum
73{
74 GLS_POLY_LINE_FIRST_VALUE = GLS_LAST_INITIALIZER + 1,
75 GLS_POLY_LINE_THICKNESS,
76 GLS_POLY_LINE_HALO,
77 GLS_POLY_LINE_HALO_COLOR,
78 GLS_POLY_LINE_HALO_THICKNESS,
79 GLS_POLY_LINE_NORMAL,
80 GLS_POLY_LINE_LAST_INITIALIZER = GLS_POLY_LINE_NORMAL
81};
82
83/// \details The GlsPolyLineVertex struct. Describes a vertex generated by GlsPolyLine.
84 typedef struct
85{
86 Vector vertex; /**< The vertex coordinate */
87 Vector texCoord; /**< The texture coordinate */
88 Vector normal; /**< The vertex normal */
89} GlsPolyLineVertex;
90
91/// \details The GlsPolyLineFace struct. Describes a face generated by GlsPolyLine.
92 typedef struct
93{
94 GlsPolyLineVertex a; ///< The first vertex of the face.
95 GlsPolyLineVertex b; ///< The second vertex of the face.
96 GlsPolyLineVertex c; ///< The third vertex of the face.
97} GlsPolyLineFace;
98
99/** Runtime implementation of a GlsPolyLine */
100 class GlsPolyLine : public GLPolygon
101{
102 friend class GlsPolyLineEditor;
103
104 private:
105 GlsPolyLine& operator=( const GlsPolyLine& ) DISTI_SPECIAL_MEM_FUN_DELETE;
106 GlsPolyLine( const GlsPolyLine& ) DISTI_SPECIAL_MEM_FUN_DELETE;
107
108 public:
109 DISTI_DEPRECATED( "This identifier is forbidden by the C++ standard. Use BaseClass instead." )
110 typedef GLPolygon _BaseClass; ///< Deprecated typedef for the base class.
111 typedef GLPolygon BaseClass; ///< Typedef for the base class.
112 typedef DynamicArray<GlsPolyLineFace> GlsPolyLineTriangleList; ///< Typedef for a list of triangles.
113
114 /** Create a new GlsPolyLine.*/
115 GLSGEN_GLSPOLYLINE_EXPORT GlsPolyLine();
116
117 /// Copy constructor
118 /// \param that The object to copy from.
119 /// \param generateNames Whether or not to generate an instance name for this object.
120 GLSGEN_GLSPOLYLINE_EXPORT GlsPolyLine( const GlsPolyLine& that, const bool generateNames );
121
122 /** Destructs a GlsPolyLine object */
123 virtual GLSGEN_GLSPOLYLINE_EXPORT ~GlsPolyLine();
124
125 /// \return A pointer to a new GlsPolyLine object.
126 static GLSGEN_GLSPOLYLINE_EXPORT DisplayObject* CreateInstance();
127
128 virtual GLSGEN_GLSPOLYLINE_EXPORT DisplayObject* CloneObject( bool generateNames = false ) DISTI_METHOD_OVERRIDE;
129 virtual GLSGEN_GLSPOLYLINE_EXPORT void GetExtents( float& minx, float& miny, float& minz, float& maxx, float& maxy, float& maxz ) DISTI_METHOD_OVERRIDE;
130
131 using BaseClass::SetColor;
132 virtual GLSGEN_GLSPOLYLINE_EXPORT void SetColor( const GlsColor& color ) DISTI_METHOD_OVERRIDE;
133
134 using BaseClass::SetFillColor;
135 virtual GLSGEN_GLSPOLYLINE_EXPORT void SetFillColor( const GlsColor& color ) DISTI_METHOD_OVERRIDE;
136
137 virtual GLSGEN_GLSPOLYLINE_EXPORT void CopyProperties( DisplayObject* src ) DISTI_METHOD_OVERRIDE;
138 virtual GLSGEN_GLSPOLYLINE_EXPORT void CopyGeometry( DisplayObject* srcArg ) DISTI_METHOD_OVERRIDE;
139
140#ifndef GLES
141 virtual GLSGEN_GLSPOLYLINE_EXPORT InterfaceListType* GetCppInterfaceDescription( InterfaceListType* addToThisList = NULL ) DISTI_METHOD_OVERRIDE;
142 virtual GLSGEN_GLSPOLYLINE_EXPORT void GetCppInterfaceDescriptionFree( InterfaceListType* array ) DISTI_METHOD_OVERRIDE;
143#endif
144
145 virtual GLSGEN_GLSPOLYLINE_EXPORT void PreDraw( const OpenGLMatrices& parentMatrices, Culler& culler ) DISTI_METHOD_OVERRIDE;
146 virtual GLSGEN_GLSPOLYLINE_EXPORT void Draw() DISTI_METHOD_OVERRIDE;
147
148 /* Unhides base class implementation. */
149 using BaseClass::Scale;
150 virtual GLSGEN_GLSPOLYLINE_EXPORT void Scale( float px, float py, float pz, Vertex* anchor, int handleBar ) DISTI_METHOD_OVERRIDE;
151
152 /* Unhides base class implementation. */
153 using BaseClass::Rotate;
154 virtual GLSGEN_GLSPOLYLINE_EXPORT void Rotate( const Vector& orig, float angle, const Vector& axis ) DISTI_METHOD_OVERRIDE;
155
156 virtual GLSGEN_GLSPOLYLINE_EXPORT bool Hit( float x, float y, float z, float scale, const Vector& directionVector, Vector* collisionPoint ) DISTI_METHOD_OVERRIDE;
157 virtual GLSGEN_GLSPOLYLINE_EXPORT void SetValue( int spec, va_list& args ) DISTI_METHOD_OVERRIDE;
158 virtual GLSGEN_GLSPOLYLINE_EXPORT void SetAvailableAttributes( unsigned int value ) DISTI_METHOD_OVERRIDE;
159
160 /* Unhides base class implementation. */
161 using BaseClass::PolygonEnd;
162 virtual GLSGEN_GLSPOLYLINE_EXPORT void PolygonEnd( const int end ) DISTI_METHOD_OVERRIDE;
163
164 //////////////////////////////////////////////////
165 // GlsPolyLine specific operations
166 //////////////////////////////////////////////////
167
168 /** Sets the line thickness
169 * \param val The new line thickness in logical units
170 */
171 GLSGEN_GLSPOLYLINE_EXPORT void Thickness( const float& val );
172
173 /** Gets the line thickness
174 * \return The line thickness in logical units
175 */
176 GLSGEN_GLSPOLYLINE_EXPORT float Thickness() { return _thickness; }
177
178 /// \return The normal for the polyline.
179 GLSGEN_GLSPOLYLINE_EXPORT Vector GlobalNormal() { return _normal; }
180
181 /// Enable/Disable halo.
182 /// \param val The new halo enabled state.
183 GLSGEN_GLSPOLYLINE_EXPORT void Halo( const bool& val );
184
185 /// \return The halo enabled state.
186 GLSGEN_GLSPOLYLINE_EXPORT bool Halo() { return _halo; }
187
188 /// Set the halo color.
189 /// \param val The new halo color to set.
190 GLSGEN_GLSPOLYLINE_EXPORT void HaloColor( const GlsColor& val );
191
192 /// \return The halo color.
193 GLSGEN_GLSPOLYLINE_EXPORT GlsColor HaloColor() { return _haloColor; }
194
195 /** Set the halo thickness
196 * \param val The new halo thickness in logical units
197 */
198 GLSGEN_GLSPOLYLINE_EXPORT void HaloThickness( const float& val );
199
200 /** Get the halo thickness
201 * \return The line thickness in logical units
202 */
203 GLSGEN_GLSPOLYLINE_EXPORT float HaloThickness() { return _haloThickness; }
204
205 virtual GLSGEN_GLSPOLYLINE_EXPORT void SetVertices( unsigned int nPoints, Vertex* vertices ) DISTI_METHOD_OVERRIDE;
206
207 GLSGEN_GLSPOLYLINE_EXPORT void DeleteVertexAt( unsigned int index ) DISTI_METHOD_OVERRIDE;
208
209 /** Set the recalculate flag for the object to force it to recalculate
210 */
211 virtual GLSGEN_GLSPOLYLINE_EXPORT void SetRecalculate();
212
213 protected:
214#ifdef GLES
215 // These are helper functions, only used for GLES, and should not be considered missing external api
216 /// \copydoc DisplayObject::SetFromGloData
217 GLSGEN_GLSPOLYLINE_EXPORT void SetFromGloData( GlsGloFileAttribute& data ) DISTI_METHOD_OVERRIDE;
218
219 /// Populates the given vertex array with the given vertices and color. The vertex buffer object will be baked into the state manager.
220 /// \param[out] vbo The vertex buffer object to initialize its vertices, colors, and normals.
221 /// \param[in] vertices A list of triangle vertices that will be copied to the vertex buffer object.
222 /// \param[in] color Color to be copied to all vertices.
223 void BakeVBO( GlsVertexArray& vbo, GlsPolyLineTriangleList& vertices, GlsColor color );
224
225 /// Populates the given vertex array with the given vertices. The vertex buffer object will be baked into the state manager.
226 /// \param[out] vbo The vertex buffer object to have its vertices initialized.
227 /// \param[in] vertices The triangle list that'll have its vertices copied to the vbo.
228 void BakeLinesVBO( GlsVertexArray& vbo, GlsPolyLineTriangleList& vertices );
229
230 GlsVertexArray _gles_triangles; ///< Defines the vertices that make up the triangles used for rendering.
231 GlsVertexArray _gles_haloTriangles; ///< Defines the vertices that make up the halo triangles.
232 GlsVertexArray _gles_antiAliasLines; ///< Defines the vertices that make up anti aliased lines.
233#endif
234
235 GlsPolyLineTriangleList _triangles; ///< The triangles to render, derived from vertices and thickness.
236 float _thickness; ///< The thickness of the line in logical units.
237 Vector _normal; ///< The normal vector (for all triangles).
238
239 bool _halo; ///< If true, a halo (outline) will be drawn.
240 GlsColor _haloColor; ///< The color of the halo.
241 float _haloThickness; ///< The thickness of the halo in logical units.
242 GlsPolyLineTriangleList _haloTriangles; ///< The triangles to render, derived from vertices and halo thickness.
243
244 bool _needsRecalculate; ///< If true, the triangles will be recalculated the next frame.
245
246 unsigned int _endCapIndex; ///< The index of the triangle forming the end cap.
247
248 /// Updates the end-cap hang over for the halos.
249 /// \note Not normally called by users.
250 void UpdateHaloEndCaps();
251
252 /// Notify that vertices have changed, updates bounding volume and sets recalculate for polyline.
253 /// \note Not normally called by users.
254 void VerticesChanged();
255
256 /// Computes the geometry for the line segments and invokes the appropriate corner method.
257 /// \note Not normally called by users.
258 void ComputeSegments();
259
260 /// ComputeSegments helper method.
261 /// \note Not normally called by users.
262 /// \param array The returned computed triangle list.
263 /// \param thickness The thickness in logical units.
264 /// \param calculatingHalos If true will use halo specific logic during calculation.
265 void ComputeSegments( GlsPolyLineTriangleList& array, float thickness, bool calculatingHalos = false );
266
267 /// Compute a corner.
268 /// \note Not normally called by users.
269 /// \param array The returned computed triangle list.
270 /// \param thickness The thickness in logical units.
271 /// \param cornerRadius The corner radius in logical units.
272 /// \param refVert The vertex at this corner.
273 /// \param v1
274 /// \param v2
275 /// \param v3
276 /// \param v4
277 /// \param l1 Vector from refVert to the previous vertex.
278 /// \param l2 Vector refVert to the next vertex.
279 /// \param calculatingHalos If true will use halo specific logic during calculation.
280 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 );
281
282 /// Helper method to draw a list of triangles.
283 /// \note Not normally called by users.
284 /// \param array The triangle list to draw.
285 void DrawTriangles( GlsPolyLineTriangleList& array );
286};
287
288} // namespace disti
289
290#endif
disti::Culler
Definition: cull.h:50
disti::DisplayObject
Definition: display.h:96
disti::DynamicArray
Definition: dynamic_array.h:79
disti::GLPolygon
The Polygon class. Implements Polygons.
Definition: glpolygon.h:56
disti::GlsColor
Definition: gls_color.h:54
disti::GlsGloFileAttribute
Definition: gls_glo_file.h:1243
disti::GlsPolyLine
Definition: gls_poly_line.h:101
disti::GlsPolyLine::_haloColor
GlsColor _haloColor
The color of the halo.
Definition: gls_poly_line.h:240
disti::GlsPolyLine::SetAvailableAttributes
virtual void SetAvailableAttributes(unsigned int value) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::Draw
virtual void Draw() DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::_triangles
GlsPolyLineTriangleList _triangles
The triangles to render, derived from vertices and thickness.
Definition: gls_poly_line.h:235
disti::GlsPolyLine::Halo
bool Halo()
Definition: gls_poly_line.h:186
disti::GlsPolyLine::HaloColor
GlsColor HaloColor()
Definition: gls_poly_line.h:193
disti::GlsPolyLine::SetColor
virtual void SetColor(const GlsColor &color) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::Halo
void Halo(const bool &val)
disti::GlsPolyLine::CloneObject
virtual DisplayObject * CloneObject(bool generateNames=false) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::BakeLinesVBO
void BakeLinesVBO(GlsVertexArray &vbo, GlsPolyLineTriangleList &vertices)
disti::GlsPolyLine::Hit
virtual bool Hit(float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::PreDraw
virtual void PreDraw(const OpenGLMatrices &parentMatrices, Culler &culler) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::SetFromGloData
void SetFromGloData(GlsGloFileAttribute &data) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::SetValue
virtual void SetValue(int spec, va_list &args) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::DeleteVertexAt
void DeleteVertexAt(unsigned int index) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::SetRecalculate
virtual void SetRecalculate()
disti::GlsPolyLine::Rotate
virtual void Rotate(const Vector &orig, float angle, const Vector &axis) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::DrawTriangles
void DrawTriangles(GlsPolyLineTriangleList &array)
disti::GlsPolyLine::_haloThickness
float _haloThickness
The thickness of the halo in logical units.
Definition: gls_poly_line.h:241
disti::GlsPolyLine::ComputeSegments
void ComputeSegments(GlsPolyLineTriangleList &array, float thickness, bool calculatingHalos=false)
disti::GlsPolyLine::ComputeSegments
void ComputeSegments()
disti::GlsPolyLine::CreateInstance
static DisplayObject * CreateInstance()
disti::GlsPolyLine::GetExtents
virtual void GetExtents(float &minx, float &miny, float &minz, float &maxx, float &maxy, float &maxz) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::Thickness
float Thickness()
Definition: gls_poly_line.h:176
disti::GlsPolyLine::CopyGeometry
virtual void CopyGeometry(DisplayObject *srcArg) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::ComputeCorner
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)
disti::GlsPolyLine::_haloTriangles
GlsPolyLineTriangleList _haloTriangles
The triangles to render, derived from vertices and halo thickness.
Definition: gls_poly_line.h:242
disti::GlsPolyLine::SetVertices
virtual void SetVertices(unsigned int nPoints, Vertex *vertices) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::HaloThickness
void HaloThickness(const float &val)
disti::GlsPolyLine::_gles_haloTriangles
GlsVertexArray _gles_haloTriangles
Defines the vertices that make up the halo triangles.
Definition: gls_poly_line.h:231
disti::GlsPolyLine::UpdateHaloEndCaps
void UpdateHaloEndCaps()
disti::GlsPolyLine::HaloColor
void HaloColor(const GlsColor &val)
disti::GlsPolyLine::_halo
bool _halo
If true, a halo (outline) will be drawn.
Definition: gls_poly_line.h:239
disti::GlsPolyLine::GlsPolyLine
GlsPolyLine()
disti::GlsPolyLine::_thickness
float _thickness
The thickness of the line in logical units.
Definition: gls_poly_line.h:236
disti::GlsPolyLine::VerticesChanged
void VerticesChanged()
disti::GlsPolyLine::Scale
virtual void Scale(float px, float py, float pz, Vertex *anchor, int handleBar) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::PolygonEnd
virtual int PolygonEnd()
disti::GlsPolyLine::CopyProperties
virtual void CopyProperties(DisplayObject *src) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::_gles_triangles
GlsVertexArray _gles_triangles
Defines the vertices that make up the triangles used for rendering.
Definition: gls_poly_line.h:230
disti::GlsPolyLine::_endCapIndex
unsigned int _endCapIndex
The index of the triangle forming the end cap.
Definition: gls_poly_line.h:246
disti::GlsPolyLine::BakeVBO
void BakeVBO(GlsVertexArray &vbo, GlsPolyLineTriangleList &vertices, GlsColor color)
disti::GlsPolyLine::_needsRecalculate
bool _needsRecalculate
If true, the triangles will be recalculated the next frame.
Definition: gls_poly_line.h:244
disti::GlsPolyLine::GlobalNormal
Vector GlobalNormal()
Definition: gls_poly_line.h:179
disti::GlsPolyLine::SetFillColor
virtual void SetFillColor(const GlsColor &color) DISTI_METHOD_OVERRIDE
disti::GlsPolyLine::_normal
Vector _normal
The normal vector (for all triangles).
Definition: gls_poly_line.h:237
disti::GlsPolyLine::HaloThickness
float HaloThickness()
Definition: gls_poly_line.h:203
disti::GlsPolyLine::_gles_antiAliasLines
GlsVertexArray _gles_antiAliasLines
Defines the vertices that make up anti aliased lines.
Definition: gls_poly_line.h:232
disti::GlsVertexArray
Definition: gls_vertex_array.h:60
disti::OpenGLMatrices
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:544
disti::VertexNoColor
Definition: vertex.h:85
disti::Vertex
Definition: vertex.h:420
dynamic_array.h
The disti::DynamicArray class. A templated array of objects capable of dynamically growing.
glpolygon.h
The disti::GLPolygon class. Implements Polygons.
gls_auto_lib.h
The gls_auto_lib.
gls_cpp_lang_support.h
Macros and helper code to determine what subset of C++11/14/17 is available.
DISTI_SPECIAL_MEM_FUN_DELETE
#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:246
DISTI_DEPRECATED
#define DISTI_DEPRECATED(msg)
Defines whether this compiler supports the C++14 deprecated attribute.
Definition: gls_cpp_lang_support.h:488
DISTI_METHOD_OVERRIDE
#define DISTI_METHOD_OVERRIDE
Macro to wrap the override keyword, removed on compilers that don't support it.
Definition: gls_cpp_lang_support.h:222
GLSGEN_GLSPOLYLINE_EXPORT
#define GLSGEN_GLSPOLYLINE_EXPORT
Provides support for creating DLLs.
Definition: gls_poly_line.h:60
gls_vertex_array.h
An object for managing vertices, texture coordinates, colors and normals for GLPolygon and other disp...
gltrimesh.h
The disti::GLTriMesh class. Implements Triangle Meshes.
disti
Definition: bmpimage.h:47
disti::end
DistiAttribDict::const_iterator end(const DistiAttribDict &dict)
Definition: disti_metadata.h:975
disti::GlsPolyLineFace
Definition: gls_poly_line.h:93
disti::GlsPolyLineFace::a
GlsPolyLineVertex a
The first vertex of the face.
Definition: gls_poly_line.h:94
disti::GlsPolyLineFace::c
GlsPolyLineVertex c
The third vertex of the face.
Definition: gls_poly_line.h:96
disti::GlsPolyLineFace::b
GlsPolyLineVertex b
The second vertex of the face.
Definition: gls_poly_line.h:95
disti::GlsPolyLineVertex
Definition: gls_poly_line.h:85
disti::GlsPolyLineVertex::normal
Vector normal
Definition: gls_poly_line.h:88
disti::GlsPolyLineVertex::vertex
Vector vertex
Definition: gls_poly_line.h:86
disti::GlsPolyLineVertex::texCoord
Vector texCoord
Definition: gls_poly_line.h:87