/**
* Lists flags used to describe which fields in
* a GlowParameter or GlowNode struct are set.
*/
typedef enum EGlowFieldFlags
{
GlowFieldFlag_None = 0,
GlowFieldFlag_Identifier = 0x00000001,
GlowFieldFlag_MatrixIdentifier = GlowFieldFlag_Identifier,
GlowFieldFlag_Description = 0x00000002,
GlowFieldFlag_MatrixDescription = GlowFieldFlag_Description,
GlowFieldFlag_Value = 0x00000004,
GlowFieldFlag_MatrixType = GlowFieldFlag_Value,
GlowFieldFlag_Minimum = 0x00000008,
GlowFieldFlag_MatrixAddressingMode = GlowFieldFlag_Minimum,
GlowFieldFlag_Maximum = 0x00000010,
GlowFieldFlag_MatrixTargetCount = GlowFieldFlag_Maximum,
GlowFieldFlag_Access = 0x00000020,
GlowFieldFlag_MatrixSourceCount = GlowFieldFlag_Access,
GlowFieldFlag_Format = 0x00000040,
GlowFieldFlag_MatrixMaxTotalConnects = GlowFieldFlag_Format,
GlowFieldFlag_Factor = 0x00000080,
GlowFieldFlag_MatrixMaxConnectsPerTarget = GlowFieldFlag_Factor,
GlowFieldFlag_IsOnline = 0x00000100,
GlowFieldFlag_MatrixParametersLocation = GlowFieldFlag_IsOnline,
GlowFieldFlag_Step = 0x00000200,
GlowFieldFlag_MatrixGainParameterNumber = GlowFieldFlag_Step,
//GlowFieldFlag_DefaultValue = 0x00000400,
GlowFieldFlag_MatrixLabelCollection = 0x00000400,
GlowFieldFlag_Type = 0x00000800,
GlowFieldFlag_MatrixSchemaIdentifier = GlowFieldFlag_Type,
GlowFieldFlag_StreamIdentifier = 0x00001000,
GlowFieldFlag_Formula = 0x00002000,
GlowFieldFlag_Enumeration = 0x00004000,
//GlowFieldFlag_EnumMap = 0x00008000,
GlowFieldFlag_StreamDescriptor = 0x00010000,
GlowFieldFlag_IsRoot = 0x00020000,
GlowFieldFlag_SchemaIdentifier = 0x00040000,
GlowFieldFlag_Connections = 0x00000005,
GlowFieldFlag_All = 0xFFFFFFFF,
} GlowFieldFlags;
and
typedef void (*onMatrix_t)(const GlowMatrix *pMatrix, GlowFieldFlags fields, const berint *pPath, int pathLength, voidptr state);
and keep in mind that the glowFieldflags are contextspecific for each container;therefore it is ok to have multiple names using the same value.
someone has defined GlowFieldFlag_Connections as 0x05 i find that this define must be removed ASAP;for it breaks the rule of bitflags and it is not used at all