40#ifndef _GLSDYNAMICPATH_H
41#define _GLSDYNAMICPATH_H
47#if( defined( GLSGEN_EXPORT_GLSDYNAMICPATH ) || defined( GLSGEN_IMPORT_GLSDYNAMICPATH ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \
48 && defined( _MSC_VER )
49# if defined( GLSGEN_EXPORT_GLSDYNAMICPATH ) || defined( GLS_EXPORT_GENERATED )
50# define GLSGEN_GLSDYNAMICPATH_EXPORT __declspec( dllexport )
52# define GLSGEN_GLSDYNAMICPATH_EXPORT __declspec( dllimport )
55# define GLSGEN_GLSDYNAMICPATH_EXPORT
60#define LIB_BASE_NAME "gls_dynamic_path"
69 GLS_DYNAMICPATH_FIRST_VALUE = GLS_LAST_INITIALIZER + 1,
70 GLS_DYNAMICPATH_AFFECTS_LOCATION_X,
71 GLS_DYNAMICPATH_AFFECTS_LOCATION_Y,
72 GLS_DYNAMICPATH_AFFECTS_LOCATION_Z,
73 GLS_DYNAMICPATH_AFFECTS_ROTATION_X,
74 GLS_DYNAMICPATH_AFFECTS_ROTATION_Y,
75 GLS_DYNAMICPATH_AFFECTS_ROTATION_Z,
76 GLS_DYNAMICPATH_AFFECTS_SCALE_X,
77 GLS_DYNAMICPATH_AFFECTS_SCALE_Y,
78 GLS_DYNAMICPATH_AFFECTS_SCALE_Z,
79 GLS_DYNAMICPATH_USE_SHORT_ROTATION_PATHS,
80 GLS_DYNAMICPATH_STATE_COUNT,
87 friend class GlsDynamicPathEditor;
94 DISTI_DEPRECATED(
"This identifier is forbidden by the C++ standard. Use BaseClass instead." )
Definition: disti_metadata.h:734
Definition: disti_metadata.h:220
Definition: dynamic_array.h:79
unsigned Count() const
Definition: dynamic_array.h:218
Definition: gls_dynamic_path.h:209
void Value(const float &value)
Definition: gls_dynamic_path.h:270
void Scale(const Vector &value)
Definition: gls_dynamic_path.h:259
void Location(const Vector &value)
Definition: gls_dynamic_path.h:237
Vector Scale() const
Definition: gls_dynamic_path.h:266
Vector Location()
Definition: gls_dynamic_path.h:241
Vector Rotation() const
Definition: gls_dynamic_path.h:255
float _value
The key value of the animation state.
Definition: gls_dynamic_path.h:283
float Value() const
Definition: gls_dynamic_path.h:277
Vector Scale()
Definition: gls_dynamic_path.h:263
State(const State &)
Copy constructor.
void MakeAttribDict()
Sets up DistiAttributes associated with each member of this class.
Vector _rotation
The rotation of the animation state.
Definition: gls_dynamic_path.h:281
float Value()
Definition: gls_dynamic_path.h:274
Vector Rotation()
Definition: gls_dynamic_path.h:252
Vector Location() const
Definition: gls_dynamic_path.h:244
DistiAttribDict & Attributes()
Definition: gls_dynamic_path.h:228
Vector _scale
The scale of the animation state.
Definition: gls_dynamic_path.h:282
DistiAttribDict * _attribDict
Attribute storage for the members of this class.
Definition: gls_dynamic_path.h:284
const State & operator=(const State &)
Vector _location
The location of the animation state.
Definition: gls_dynamic_path.h:280
void Rotation(const Vector &value)
Definition: gls_dynamic_path.h:248
Definition: gls_dynamic_path.h:86
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL) DISTI_METHOD_OVERRIDE
const StateArrayType & StateArray() const
Definition: gls_dynamic_path.h:293
bool AffectsRotationZ() const
Definition: gls_dynamic_path.h:177
DynamicArray< State > StateArrayType
Typedef for a list of States.
Definition: gls_dynamic_path.h:287
bool _affectsScaleZ
If true, this path will affect an object's Z scale.
Definition: gls_dynamic_path.h:372
virtual void SetAvailableAttributes(unsigned int value) DISTI_METHOD_OVERRIDE
void FindFirstPathSegmentContainingValue(float value, int *index1, int *index2)
virtual void Draw() DISTI_METHOD_OVERRIDE
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array) DISTI_METHOD_OVERRIDE
bool AffectsScaleZ() const
Definition: gls_dynamic_path.h:198
bool _affectsLocationY
If true, this path will affect an object's Y location.
Definition: gls_dynamic_path.h:365
bool AffectsLocationY() const
Definition: gls_dynamic_path.h:149
bool AffectsScaleY() const
Definition: gls_dynamic_path.h:191
bool AffectsRotationY() const
Definition: gls_dynamic_path.h:170
virtual DisplayObject * CloneObject(bool generateNames=false) DISTI_METHOD_OVERRIDE
Vector GetPathRotation(float value)
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
bool _affectsRotationY
If true, this path will affect an object's Y rotation.
Definition: gls_dynamic_path.h:368
bool _affectsRotationX
If true, this path will affect an object's X rotation.
Definition: gls_dynamic_path.h:367
virtual DisplayObject * handle(DisplayEvent *ev) DISTI_METHOD_OVERRIDE
virtual void SetValue(int spec, va_list &args) DISTI_METHOD_OVERRIDE
StateArrayType _stateArray
The list of animation states for this path.
Definition: gls_dynamic_path.h:376
virtual void GetResources(std::ostream &outstr, GlsResourceFilter *filter) DISTI_METHOD_OVERRIDE
void AffectsScaleY(const bool &value)
void UseShortRotationPaths(const bool &value)
void MoveObjectToState(DisplayObject *obj, int stateNumber)
bool AffectsRotationX() const
Definition: gls_dynamic_path.h:163
float FirstStateValue()
Definition: gls_dynamic_path.h:306
static DisplayObject * CreateInstance()
void AffectsRotationZ(const bool &value)
bool _useShortRotationPaths
If true, this state will rotate in the direction that will reach the desired angle the fastest.
Definition: gls_dynamic_path.h:374
Vector GetPathLocation(float value)
virtual DistiAttributeBase & Resource(const char *name) DISTI_METHOD_OVERRIDE
bool _affectsRotationZ
If true, this path will affect an object's Z rotation.
Definition: gls_dynamic_path.h:369
bool _affectsLocationZ
If true, this path will affect an object's Z location.
Definition: gls_dynamic_path.h:366
void AffectsRotationX(const bool &value)
virtual void CopyProperties(DisplayObject *src) DISTI_METHOD_OVERRIDE
bool UseShortRotationPaths() const
Definition: gls_dynamic_path.h:205
void MoveObject(DisplayObject *obj, float value)
bool AffectsLocationX() const
Definition: gls_dynamic_path.h:142
Vector GetPathScale(float value)
bool _affectsScaleY
If true, this path will affect an object's Y scale.
Definition: gls_dynamic_path.h:371
bool _affectsLocationX
If true, this path will affect an object's X location.
Definition: gls_dynamic_path.h:364
bool AffectsLocationZ() const
Definition: gls_dynamic_path.h:156
void AffectsRotationY(const bool &value)
void AffectsScaleZ(const bool &value)
void AffectsScaleX(const bool &value)
bool _affectsScaleX
If true, this path will affect an object's X scale.
Definition: gls_dynamic_path.h:370
StateArrayType & StateArray()
Definition: gls_dynamic_path.h:290
void AffectsLocationZ(const bool &value)
float LastStateValue()
Definition: gls_dynamic_path.h:319
bool AffectsScaleX() const
Definition: gls_dynamic_path.h:184
void AffectsLocationY(const bool &value)
Definition: gls_glo_file.h:1243
Definition: gls_resources.h:51
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:544
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_GLSDYNAMICPATH_EXPORT
Provides support for creating DLLs.
Definition: gls_dynamic_path.h:55
#define GLS_EXPORT
Macro denoting which functions should be visible from the runtime library.
Definition: gls_include.h:52
The disti::Group class. Implements groups of objects.
Force inclusion of the DirectShow library.
Definition: bmpimage.h:47