41#ifndef _GLS_MUTEX_GROUP_H
42#define _GLS_MUTEX_GROUP_H
48#if( defined( GLSGEN_EXPORT_GLSMUTEXGROUP ) || defined( GLSGEN_IMPORT_GLSMUTEXGROUP ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \
49 && defined( _MSC_VER )
50# if defined( GLSGEN_EXPORT_GLSMUTEXGROUP ) || defined( GLS_EXPORT_GENERATED )
51# define GLSGEN_GLSMUTEXGROUP_EXPORT __declspec( dllexport )
53# define GLSGEN_GLSMUTEXGROUP_EXPORT __declspec( dllimport )
56# define GLSGEN_GLSMUTEXGROUP_EXPORT
61#define LIB_BASE_NAME "gls_mutex_group"
68static AttributeName MetaMutexState(
"MutexState" );
69static AttributeName MetaState(
"State" );
70static AttributeName MetaCalculateInvisibleStates(
"CalculateInvisibleStates" );
71static AttributeName MetaPickInvisibleStates(
"PickInvisibleStates" );
72static AttributeName MetaPredrawInvisibleStates(
"PreDrawInvisibleStates" );
73static AttributeName MetaInputDeviceBehavior(
"InputDeviceBehavior" );
78 GLS_MUTEX_GROUP_STATE = GLS_LAST_INITIALIZER + 1,
79 GLS_MUTEX_GROUP_CALC_INVISIBLE_STATES,
80 GLS_MUTEX_GROUP_PICK_INVISIBLE_STATES,
81 GLS_MUTEX_GROUP_PREDRAW_INVISIBLE_STATES,
82 GLS_MUTEX_GROUP_INPUT_DEVICE_BEHAVIOR
86class GlsGloFileAttribute;
97 friend class GlsMutexGroupEditor;
98 DISTI_DEPRECATED(
"This identifier is forbidden by the C++ standard. Use BaseClass instead." )
132 const
Vector& logicalCoords,
134 const
Vector& directionVector,
222 const Vector& logicalCoords,
224 const Vector& directionVector,
Definition: dynamic_array.h:79
unsigned Count() const
Definition: dynamic_array.h:218
Definition: gls_glo_file.h:1243
Definition: gls_mutex_group.h:91
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL) DISTI_METHOD_OVERRIDE
virtual void SetAvailableAttributes(unsigned int value) DISTI_METHOD_OVERRIDE
bool InputDeviceBehavior()
Definition: gls_mutex_group.h:188
virtual void Draw() DISTI_METHOD_OVERRIDE
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array) DISTI_METHOD_OVERRIDE
bool _predrawInvisibleStates
Whether or not to call predraw on invisible states.
Definition: gls_mutex_group.h:242
DisplayObject * Pick3DUtil(const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices)
bool PickInvisibleStates()
Definition: gls_mutex_group.h:172
virtual DisplayObject * CloneObject(bool generateNames=false) DISTI_METHOD_OVERRIDE
int _state
The index of the currently active object in the group, 0 to N, anything else = none.
Definition: gls_mutex_group.h:238
void PickInvisibleStates(bool value)
bool ValidInputDeviceState(const int state) const
Definition: gls_mutex_group.h:205
virtual void PreDraw(const OpenGLMatrices &parentMatrices, Culler &culler) DISTI_METHOD_OVERRIDE
void MutexState(int state)
virtual void SetValue(int spec, va_list &args) DISTI_METHOD_OVERRIDE
bool CalculateInvisibleStates()
Definition: gls_mutex_group.h:164
int MutexState() const
Definition: gls_mutex_group.h:146
bool _calculateInvisibleStates
Whether or not to call calculate on invisible states.
Definition: gls_mutex_group.h:240
virtual void Calculate(double time) DISTI_METHOD_OVERRIDE
static DisplayObject * CreateInstance()
void PreDrawInvisibleStates(bool value)
bool IsVisibleInScene(const DisplayObject *obj=NULL) const DISTI_METHOD_OVERRIDE
bool ValidMutexState(const int state) const
Definition: gls_mutex_group.h:198
virtual DisplayObject * Pick3D(const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices) DISTI_METHOD_OVERRIDE
virtual void CopyProperties(DisplayObject *src) DISTI_METHOD_OVERRIDE
bool _inputDevice
Definition: gls_mutex_group.h:235
int State()
Definition: gls_mutex_group.h:155
void CalculateInvisibleStates(bool value)
bool _pickInvisibleStates
Whether or not to call pick on invisible states.
Definition: gls_mutex_group.h:241
void InputDeviceBehavior(bool value)
bool PreDrawInvisibleStates()
Definition: gls_mutex_group.h:180
DisplayObjectArray _objects
The objects contained in this group.
Definition: group.h:83
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_GLSMUTEXGROUP_EXPORT
Provides support for creating DLLs.
Definition: gls_mutex_group.h:56
The disti::Group class. Implements groups of objects.
Force inclusion of the DirectShow library.
Definition: bmpimage.h:47