41 #ifndef INCLUDED_GLS_SERIAL_MORPH_MESH_H
42 #define INCLUDED_GLS_SERIAL_MORPH_MESH_H
49 #include "gls_resource_file_mgr.h"
56 #if( defined( GLSGEN_EXPORT_GLSADVANCEDMESH ) || defined( GLSGEN_IMPORT_GLSADVANCEDMESH ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \
57 && defined( _MSC_VER )
58 # if defined( GLSGEN_EXPORT_GLSADVANCEDMESH ) || defined( GLS_EXPORT_GENERATED )
59 # define GLSGEN_GlsSerialMorphMesh_EXPORT __declspec( dllexport )
61 # define GLSGEN_GlsSerialMorphMesh_EXPORT __declspec( dllimport )
64 # define GLSGEN_GlsSerialMorphMesh_EXPORT
68 #define LIB_BASE_NAME "gls_advanced_mesh"
76 class GlsGloFileAttribute;
86 friend class GlsSerialMorphMeshEditor;
91 GLSGEN_GlsSerialMorphMesh_EXPORT
GlsSerialMorphMesh(
const GlsSerialMorphMesh& that,
const bool generateNames );
96 static GLSGEN_GlsSerialMorphMesh_EXPORT
DisplayObject* CreateInstance();
128 GLSGEN_GlsSerialMorphMesh_EXPORT
void SetNumKeyframes(
unsigned int count );
133 GLSGEN_GlsSerialMorphMesh_EXPORT
unsigned int NumKeyframes();
149 GLSGEN_GlsSerialMorphMesh_EXPORT
void SetKeyframePercent(
unsigned int index,
const float& value );
159 GLSGEN_GlsSerialMorphMesh_EXPORT
void SetMorphPercent(
const float& value );
173 GLSGEN_GlsSerialMorphMesh_EXPORT
void SetTension(
const float& value );
178 GLSGEN_GlsSerialMorphMesh_EXPORT
float GetTension();
206 void SetupAttribDict();
213 GLSGEN_GlsSerialMorphMesh_EXPORT Keyframe_Data(
const Keyframe_Data& );
214 GLSGEN_GlsSerialMorphMesh_EXPORT ~Keyframe_Data();
215 GLSGEN_GlsSerialMorphMesh_EXPORT
const Keyframe_Data& operator=(
const Keyframe_Data& );
226 GlsSerialMorphMesh* _parentMesh;
229 : _parentMesh( NULL )
232 static void element_read_func(
int index, KeyframeDataArray& array, std::istream& instr );
233 static void element_write_func(
int index, KeyframeDataArray& array, std::ostream& outstr );
244 unsigned int _last_keyframe_index;
245 unsigned int _next_keyframe_index;
246 float _last_keyframe_weight;
247 float _next_keyframe_weight;
249 bool _renderMeshIsValid;
253 GLSGEN_GlsSerialMorphMesh_EXPORT
void RecalculateKeyframeIndicesAndWeights();
256 GLSGEN_GlsSerialMorphMesh_EXPORT
void KeyframeGeometryChanged(
Keyframe_Data* );
260 int _gloKeyframeIndex;
264 GLSGEN_GlsSerialMorphMesh_EXPORT
void InitializeMembers();
267 GlsSerialMorphMesh& operator=(
const GlsSerialMorphMesh& rhs ) DISTI_SPECIAL_MEM_FUN_DELETE;
Definition: dynamic_array.h:62
The disti::Group class. Implements groups of objects.
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:301
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL)
The disti::GlsAdvancedMesh class.
void SetMorphPercent(const float &value)
void InvalidateRenderMesh()
Definition: gls_serial_morph_mesh.h:182
virtual GlsGeometryResource * GetRenderMesh()
Definition: gls_serial_morph_mesh.h:82
virtual ~GlsSerialMorphMesh()
Definition: gls_glo_file.h:982
virtual void CopyProperties(DisplayObject *src)
GlsGeometry_Generic * GetKeyframeGeometry(unsigned int index)
Definition: gls_serial_morph_mesh.h:201
Definition: gls_geometry_resource.h:82
Definition: gls_serial_morph_mesh.h:223
unsigned int NumKeyframes()
float GetKeyframePercent(unsigned int index)
virtual DisplayObject * CloneObject(bool generateNames=false)
Definition: disti_metadata.h:660
void SetKeyframeGeometry(unsigned int keyframeIndex, GlsGeometry_Generic *newKeyframeGeometry)
Definition: gls_geometry_resource_mesh.h:78
virtual void CopyGeometry(DisplayObject *src)
void SetTension(const float &value)
virtual void SetAvailableAttributes(unsigned int value)
The disti::GlsGeometryResource class.
void SetKeyframePercent(unsigned int index, const float &value)
void SetNumKeyframes(unsigned int count)
Macros and helper code to determine what subset of C++11/14/17 is available.
virtual void PreDraw(const OpenGLMatrices &parentMatrices, Culler &culler)
Definition: bmpimage.h:46
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array)
Definition: gls_geometry_resource.h:453