Open Reality Reference Guide
|
|
Go to the documentation of this file. 1 #ifndef __FBPROPERTIES_H__
2 #define __FBPROPERTIES_H__
45 #include <kaydaradef.h>
51 #define FBSDK_DLL K_DLLIMPORT
62 #include <fbsdk/fbevaluateinfo.h>
64 K_FORWARD( KEventBase );
66 K_FORWARD( KProperty );
67 K_FORWARD( KEvaluationProperty );
68 K_FORWARD( KDataType );
69 K_FORWARD( IFBObject );
70 K_FORWARD( IRegister );
72 #ifdef FBSDKUseNamespace
73 namespace FBSDKNamespace {
120 kFBPropertyFlagNotSet = 0,
122 kFBPropertyFlagForceStaticProperty = (1 << 1),
123 kFBPropertyFlagDisableProperty = (1 << 2),
126 kFBPropertyFlagAnimated = (1 << 4),
128 kFBPropertyFlagReadOnly = (1 << 6),
129 kFBPropertyFlagNotUserDeletable = (1 << 7),
141 #define FB_DEFINE_COMPONENT( DllTag, Type ) \
143 typedef class DllTag FBPropertyBase< FB##Type*,kFBPT_object > FBPropertyBase##Type; \
144 typedef class DllTag FBPropertyBaseComponent< FB##Type* > FBProperty##Type
150 #define FB_DEFINE_ENUM( DllTag, Type ) \
151 typedef class DllTag FBPropertyBaseEnum< enum FB##Type > FBProperty##Type;
156 #define FB_DEFINE_CLASS_ENUM( EnumName ) \
157 typedef class FBPropertyBaseEnum< enum __FBClassType::e##EnumName > Property##EnumName;
163 #define FB_DEFINE_LIST( DllTag, Type ) \
164 typedef class DllTag FBPropertyBaseList< FB##Type* > FBPropertyBaseList##Type;
208 #ifndef DOXYGEN_SHOULD_SKIP_THIS
209 IObject_Declare(
override);
213 FBProperty* InitInternal( KProperty* pProperty );
216 KProperty* GetInternal()
const;
219 void* GetValuePtr()
const;
228 void SetInternal( KProperty* pInternal );
315 virtual bool IsAnimatable();
316 bool IsInternal()
const;
317 bool IsUserProperty();
318 bool IsTextureConnectableProperty();
319 bool IsReferenceProperty();
395 void SetMinMax(
double pMin,
double pMax,
bool pForceMinClamp =
false,
bool pForceMaxClamp =
false );
401 void SetMin(
double pMin,
bool pForceMinClamp =
false );
407 void SetMax(
double pMax,
bool pForceMaxClamp =
false );
489 HIObject lProperty = pProperty ?
FBGetFBObject(pProperty->GetHIObject(), pAutoCreate) : NULL;
491 return (T*)lProperty;
517 #ifndef DOXYGEN_SHOULD_SKIP_THIS
519 HIRegister mParentRegister;
554 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
555 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
568 DataFBPropertyEvent* mLocalPtr;
575 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
576 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
583 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
584 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
591 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
592 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
599 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
600 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
607 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
608 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
615 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
616 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
625 #ifndef DOXYGEN_SHOULD_SKIP_THIS
626 void (* Set)(
void *, tType);
627 tType (* Get)(
void *);
654 inline FBPropertyBase *
Init(
void* pParent,
const char *pName,tType (* pGet)(
void *)=NULL,
void (* pSet)(
void *,tType)=NULL )
668 inline void operator=(tType pValue) { SetData( &pValue ); }
683 inline operator tType()
const { tType Value; GetData( &Value,
sizeof(Value) );
return Value; }
695 if(IsInternal() && GetValuePtr())
697 *(tType*)GetValuePtr() = pValue;
706 if(IsInternal() && GetValuePtr())
708 return *(tType*)GetValuePtr();
728 *((tType*)pData) = (*Get)(mParent);
730 else if (IsInternal())
736 assert(Get != NULL || IsInternal());
737 *((tType*)pData) = (tType)0;
743 inline virtual void SetData(
void* pData)
override
747 (*Set)( mParent,*(tType*)pData );
749 else if (IsInternal())
755 assert( Set != NULL || IsInternal() );
767 #ifndef DOXYGEN_SHOULD_SKIP_THIS
769 static const char *mStrings[];
782 { operator=((tType)pValue ); }
789 inline void operator=(tType pValue) { this->SetData( &pValue ); }
796 inline operator tType()
const { tType Value; this->GetData( &Value,
sizeof(Value) );
return Value; }
798 virtual const char*
EnumList(
int pIndex )
override
800 if( FBPropertyBaseEnum::IsInternal() )
812 return mStrings[pIndex];
816 assert(mStrings[0] || FBPropertyBaseEnum::IsInternal());
835 while ((tmpstr=EnumList( count ))!=NULL) {
836 if (strcmp(tmpstr,pString)==0) {
919 virtual int Add( tType pItem )=0;
937 inline virtual int Find( tType pItem )
940 for(Index=0; Index<GetCount(); Index++ )
942 if(
operator[](Index)==pItem )
956 int Index = Find( pItem );
968 inline virtual tType
GetAt(
int pIndex)
970 return operator[](pIndex);
1032 virtual const char *
GetAt(
int pIndex );
1061 virtual int Add(
const char *S,kReference pRef = 0 );
1082 virtual void InsertAt(
int pIndex,
const char *S,kReference pRef = 0 );
1089 virtual bool SetAt(
int pIndex,
const char *pString );
1183 void RemoveFromCache( KProperty* pProperty );
1190 FBProperty* FindInCache( KProperty* pProperty );
1202 void SetParent( HIObject pParent );
1204 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1259 #define FBImplementPropertyComponent( DllTag, Type ) \
1260 template class DllTag FBSDKNamespaceFunc(FBPropertyBase)< FB##Type*,kFBPT_object >; \
1261 template class DllTag FBSDKNamespaceFunc(FBPropertyBaseComponent)< FB##Type* >;
1267 #define FBImplementPropertyEnum( DllTag, Type ) \
1268 template class DllTag FBSDKNamespaceFunc(FBPropertyBaseEnum)< enum FB##Type >
1269 #define FBImplementClassPropertyEnum( DllTag, Class, EnumName ) \
1270 template class DllTag FBSDKNamespaceFunc(FBPropertyBaseEnum)< enum Class::E##EnumName >
1276 #define FBImplementPropertyList( DllTag, Type ) \
1277 template class DllTag FBSDKNamespaceFunc(FBPropertyBaseList) < FB##Type* >
1289 inline void operator=(
const char* pValue) { SetData( &pValue ); }
1296 inline operator const char* ()
const {
char* Value; GetData( &Value,
sizeof(Value) );
return Value; }
1298 inline bool operator==(
const char* pValue)
const {
char* Value; GetData( &Value,
sizeof(Value) );
return (Value == pValue) || (strcmp(Value, pValue) == 0); }
1299 inline bool operator!=(
const char* pValue)
const {
return ! operator==(pValue); }
1375 #define FBPropertyInit( Param,Type,PropName,Get,Set ) \
1377 PropertyAdd(PropName.Init( (void*)Param,#PropName,(Type (*)(void *))Get,(void (*)(void *,Type))Set )); \
1384 #define FBPropertyInitList( Param,PropName ) \
1386 PropertyAdd(PropName.Init( Param,#PropName )); \
1393 #define FBPropertyInitStringList( Param,PropName ) \
1395 PropertyAdd(PropName.Init( Param, #PropName )); \
1404 #define FBPropertyInitEvent( Param,Type,SubType,PropName ) \
1406 PropertyAdd(PropName.Init( this, IQ(Param,IRegister),#PropName,Type,SubType )); \
1413 #define FBPropertyInitEventGlobal( GlobalEventName,PropName ) \
1415 PropertyAdd(PropName.InitGlobal( #PropName,GlobalEventName )); \
1419 #define FBPropertyInitInternal( Parent, PropName, MBProperty ) \
1421 PropertyAdd(PropName.InitInternal( MBProperty ));\
1425 #define FBPropertyInitInternalEnum( Param,Type,PropName,MBProperty,Get,Set ) \
1427 PropName.InitInternal( MBProperty ); \
1428 PropertyAdd(PropName.Init( (void*)Param,#PropName,(Type (*)(void *))Get,(void (*)(void *,Type))Set )); \
1438 #define FBPropertyPublish( Parent,Prop,PropName,Get,Set ) \
1440 PropertyAdd(Prop.CreateInternal( Parent,PropName,(fbExternalGetSetHandler)Get,(fbExternalGetSetHandler)Set )); \
1449 #define FBPropertyInitTextureConnectable( Parent,Prop,PropName ) \
1451 PropertyAdd(Prop.CreateTextureConnectable( Parent,PropName )); \
1493 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1714 operator tType()
const
1792 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1794 static const char *mStrings[];
1822 inline operator tType()
const { tType Value; GetData( &Value,
sizeof(Value) );
return Value; }
1836 else if(mStrings[0])
1838 return mStrings[pIndex];
1842 assert(mStrings[0] || IsInternal());
1860 const char * tmpstr;
1861 while ((tmpstr=EnumList( Count ))!=NULL) {
1862 if (strcmp(tmpstr,pString)==0) {
1877 #ifdef FBSDKUseNamespace
virtual void RemoveAt(int pIndex)
Remove an entry at pIndex.
FBPropertyStringList()
Constructor.
class K_DLLIMPORT FBPropertyBase< FBVector2d, kFBPT_Vector2D > FBPropertyVector2d
FBPropertyVector2d type definition.
FBPropertyBaseComponent(const FBPropertyBaseComponent< tType > &pValue)
Constructor.
#define FBClassDeclare(Name, Parent)
Class declaration.
FBPropertyManager()
Constructor.
class K_DLLIMPORT FBPropertyBaseAnimatable< FBVector2d, kFBPT_Vector2D > FBPropertyAnimatableVector2d
FBPropertyAnimatableVector2D type definition.
bool IsMuted() const
IsMuted.
void SetMemberLocked(int pIndex, bool pLocked)
SetMemberLocked.
int Remove(const char *S)
Remove a string from the list.
class K_DLLIMPORT FBVector2< double > FBVector2d
2D vector.
const char * GetPropertyTypeName()
Get the property's type name.
bool IsMinClamp()
Indicate if minimum value clamping will be applied on user input value.
virtual FBPropertyType GetPropertyType() override
Get the property's type.
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
const char * operator[](int pIndex)
[] operator overload.
const char * GetName()
Get the property's name.
int GetCount()
Get the number of properties stored in property manager.
K_DLLIMPORT HIObject FBGetFBObject(HIObject pObject, bool pAutoCreate=false)
Get the SDK object from an Internal Object.
class K_DLLIMPORT FBPropertyBaseComponent< FBComponent * > FBPropertyComponent
Property: FBPropertyBaseComponent(FBComponent*)
virtual FBPropertyType GetPropertyType() override
Get the property's type.
bool SetFocusChild(int pIndex, bool pState)
Set the focus (keyable) state of child component.
void * GetParent()
Get the parent of the object.
void operator=(const FBPropertyBase< tType, pPT > &pProperty)
Overloaded = operator.
virtual int GetCount()=0
Get the number of properties in the list.
FBAnimationNode * GetAnimationNode(FBTake *pTake=NULL)
Get the animation node for the property.
virtual int IndexOf(const char *S)
Get the index of a string.
@ kFBPT_uint64
unsigned int 64 bits.
class K_DLLIMPORT FBPropertyBase< kReference, kFBPT_kReference > FBPropertykReference
Property: kReference
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
int Remove(FBProperty *pProperty)
Remove a property.
class K_DLLIMPORT FBPropertyBaseAnimatable< FBVector4d, kFBPT_Vector4D > FBPropertyAnimatableVector4d
FBPropertyAnimatableVector4D type definition.
FBPropertyBaseAnimatableEnum(const FBPropertyBaseAnimatableEnum< tType > &pValue)
FBPropertyBaseAnimatableEnum.
PropertyEvent: Global ConnectionStateNotify event.
class K_DLLIMPORT FBPropertyBaseAnimatable< FBColor, kFBPT_ColorRGB > FBPropertyAnimatableColor
FBPropertyAnimatableColor type definition.
FBPropertyAction()
Constructor.
FBPropertyBaseAnimatable()
Constructors.
class K_DLLIMPORT FBPropertyBase< FBTimeCode, kFBPT_TimeCode > FBPropertyTimeCode
Property: FBTimeCode
bool IsAnimated() const
Get the property animated flag status.
void NotifyEnumStringListChanged()
Notify system that the enum list was modified.
@ kFBPT_Vector4D
vector4d.
A box is a fundamental building block in the application architecture.
void KeyAt(FBTime pTime)
Key the property at time (t).
void SetFocus(bool pState)
Set the property's focus (keyable) state.
FBDataAsStringFlag
FBDataAsStringFlag.
FBProperty * Find(const char *pPropertyName, bool pMultilangLookup=true)
Find a property, based on its name.
FBPropertyStringList * Init(FBComponent *pComponent, const char *pName)
Property initialization function.
~FBPropertyBaseList()
Destructor.
FBColor GetColor(int pIndex)
Get the color of a particular FCurve of the property.
class K_DLLIMPORT FBPropertyBaseAnimatable< bool, kFBPT_Action > FBPropertyAnimatableAction
FBPropertyAnimatableAction type definition.
bool GetPropertyFlag(FBPropertyFlag pFlag)
GetPropertyFlag.
tType ValueType
Property Value Type.
tType ValueType
Property Value Type.
FBProperty * operator[](int pIndex)
Overloaded [] operator.
PropertyEvent: Global KeyingNotify event.
virtual void SetData(void *pData)
Set the value of the property, passing the type as an argument.
void SetMinMax(double pMin, double pMax, bool pForceMinClamp=false, bool pForceMaxClamp=false)
SetMinMax.
FBPropertyFlag
Available flags for FBProperty objects.
bool SetColor(const FBColor &pColor, int pIndex)
Set the color of the FCurves for the property.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
@ kFBLoadedUserProperty
This property is loaded from file.
virtual const char * EnumList(int pIndex) override
Return the string of an enum value.
virtual bool IsList()
Verify if property is of this type.
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
~FBPropertyBaseComponent()
Destructor.
PropertyEvent: Global ConnectionNotify event.
@ kFBValueAllocated
The value has been allocated and must be delete in destructor.
virtual bool SetString(const char *pString) override
Set string as enum value.
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
kDefaultEnum
Patch to use the base enum for casting values .
@ kFBPropertyFlagSlavedProperty
virtual void RemoveAt(int pIndex)=0
Remove property at pIndex.
@ kFBPropertyFlagHideProperty
This flag is used to show/hide the property in the propertiview. However, when turn on/off HideProper...
virtual bool IsList()
Is this a list?
void SetMemberMuted(int pIndex, bool pMuted)
SetMemberMuted.
class K_DLLIMPORT FBPropertyBaseEnum< enum kDefaultEnum > FBPropertyEnum
A typedef Definition.
void SetName(const char *pName)
Set the property's name.
void FindPropertiesByName(const char *pPropertyNamePattern, FBArrayTemplate< FBProperty * > &pPropList, bool pMultilangLookup=true)
This function will query the property list for properties fulfilling a particular name pattern.
class K_DLLIMPORT FBPropertyBase< FBComponent *, kFBPT_object > _FBPropertyBaseComponent
Property: FBPropertyBase(FBComponent*)
int Add(FBProperty *Property)
Add a property to the property manager.
FBPropertyBasicList(HIObject pParent, const char *pName)
Constructor.
bool IsFocusedChild(int pIndex)
Get the focus (keyable) state of child component.
class K_DLLIMPORT FBPropertyBase< FBColor, kFBPT_ColorRGB > FBPropertyColor
FBPropertyColor type definition.
void operator=(const char *pValue)
Overloaded = operator.
FBPropertyBaseComponent()
Constructor.
class K_DLLIMPORT FBPropertyBaseAnimatable< long long, kFBPT_int64 > FBPropertyAnimatableInt64
FBPropertyAnimatableInt64 type definition.
@ kFBPT_Reference
reference.
int GetCount()
Get the number of items in the list.
virtual bool IsReadOnly() override
Is this class read-only? If there is an existing set function, this class is read/write,...
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
void operator=(tType pValue)
Overloaded = operator.
@ kFBPT_Vector2D
vector2d.
class K_DLLIMPORT FBPropertyBaseAnimatable< FBVector3d, kFBPT_Vector3D > FBPropertyAnimatableVector3d
FBPropertyAnimatableVector3D type definition.
bool HasSomethingLocked() const
HasSomethingLocked.
A take is a container for animation in a scene.
@ kFBPT_Vector3D
vector3d.
bool ResetColor(int pIndex)
Revert the FCurves to their default color.
@ kFBPT_ColorRGB
colorrgb.
void Sort()
Sort list ascending.
FBProperty * Init(void *pParent, const char *pName)
Initialization function.
T * FBCast(FBProperty *pProperty, bool pAutoCreate=false)
Cast property using it's IObject interface into the proper type.
FBPropertyBaseAnimatableEnum()
Constructor.
virtual void InvalidateParent()
Invalidate parent, removing internal register parent.
void SetGlobalCandidate(void *pData, int pSize, FBEvaluateInfo *pEvalInfo=NULL)
Set the global candidate (useful for model TRS).
virtual const char * AsString(FBDataAsStringFlag pFlag=kFBDataAsStringUI)
Get the property value as a string.
void(* fbGetSetHandler)(void)
function pointer
void operator=(tType pValue)
Overloaded = operator.
int * TypeInfo
< Type information.
FBStringList * GetEnumStringList(bool pCreateIt=false)
String list for enum properties.
Animatable property base class.
bool IsMemberLocked(int pIndex) const
IsMemberLocked.
class K_DLLIMPORT FBPropertyBase< FBColorAndAlpha, kFBPT_ColorRGBA > FBPropertyColorAndAlpha
FBPropertyColorAndAlpha type definition.
bool OriIsAnimated() const
Get the property original animated flag status (before any modification)
void SetEnable(bool pValue)
Set property enable status.
virtual void GetData(void *pData, int pSize, FBEvaluateInfo *pEvalInfo=NULL) const
Get the value of a property.
class K_DLLIMPORT FBPropertyBase< FBTime, kFBPT_Time > FBPropertyTime
Property: FBTime
bool IsTemporaryProperty()
Indicate if a property was created on retrieve because it didn't exist.
class K_DLLIMPORT FBPropertyBaseAnimatable< double, kFBPT_double > FBPropertyAnimatableDouble
FBPropertyBaseAnimatableDouble type definition.
bool IsAnimated()
Is the property animated.
bool IsObjectList()
Indicate if is an instance of FBPropertyListObject.
virtual bool SetString(const char *pString)
Set the property value from a string.
void RemoveAll()
Remove all properties from the list.
@ kFBPT_TimeCode
timecode.
bool AllowsMuting() const
AllowsMuting.
Property: Base property class.
FBPropertyBase * Init(void *pParent, const char *pName, tType(*pGet)(void *)=NULL, void(*pSet)(void *, tType)=NULL)
Initialization function.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
virtual tType operator[](int pIndex)=0
[] operator overload.
virtual void GetData(void *pData, int pSize, FBEvaluateInfo *pEvalInfo=NULL) const override
Get value.
virtual void SetPropertyValue(tType pValue)
Set the value of the internal property.
A template class for arrays.
virtual ~FBPropertyEvent()
Destructor.
class K_DLLIMPORT FBPropertyBaseAnimatable< FBTimeCode, kFBPT_TimeCode > FBPropertyAnimatableTimeCode
FBPropertyBaseAnimatableTimeCode type definition.
void SetMax(double pMax, bool pForceMaxClamp=false)
SetMax.
class K_DLLIMPORT FBPropertyBase< FBVector3d, kFBPT_Vector3D > FBPropertyVector3d
FBPropertyVector3d type definition.
class K_DLLIMPORT FBPropertyBase< unsigned long long, kFBPT_uint64 > FBPropertyUInt64
Property: int
@ kFBPropertyFlagNotSavable
Should not be saved to or loaded from an FBX file.
virtual int Find(tType pItem)
Locate a property in the list.
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
virtual bool IsList() override
Is this class a list?
virtual FBPropertyType GetPropertyType() override
Get the property's type.
virtual const char * GetAt(int pIndex)
Get the string stored at pIndex.
bool AllowsLocking() const
AllowsLocking.
virtual KDataType * GetDataType() override
Get the property datatype pointer.
FBBox * GetBox()
Get the owner box.
class K_DLLIMPORT FBVector4< double > FBVector4d
4D vector
virtual int Add(tType pItem)=0
Add a property to the list.
virtual FBPropertyType GetPropertyType()
Get the property's type.
void operator=(tType pValue)
Overloaded = operator.
void SetMuted(bool pMuted)
SetMuted.
bool SetInt(int pInt)
Set the property from an integer.
void SetLocked(bool pLocked)
SetLocked.
class K_DLLIMPORT FBPropertyBase< FBVector4d, kFBPT_Vector4D > FBPropertyVector4d
FBPropertyVector4d type definition.
virtual bool SetAt(int pIndex, const char *pString)
Set the string at pIndex.
~FBPropertyAction()
Destructor.
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
FBProperty * GetReferencedProperty()
Get the referenced property, in the case of this property is a reference property (see the IsReferenc...
virtual void InsertAt(int pIndex, const char *S, kReference pRef=0)
Insert an entry at pIndex.
class K_DLLIMPORT FBPropertyBase< FBProperty *, kFBPT_Reference > FBPropertyReference
Property: FBProperty *
virtual bool IsReadOnly()
Is property read-only?
FBPropertyBase(const FBPropertyBase< tType, pPT > &pValue)
Constructor.
virtual const char * AsString(FBDataAsStringFlag pFlag=kFBDataAsStringUI) override
Get as string.
virtual bool SetString(const char *pString) override
Set string for list.
class K_DLLIMPORT FBPropertyBaseAnimatable< FBTime, kFBPT_Time > FBPropertyAnimatableTime
FBPropertyBaseAnimatableTime type definition.
class K_DLLIMPORT FBPropertyBaseAnimatable< int, kFBPT_int > FBPropertyAnimatableInt
FBPropertyAnimatableInt type definition.
PropertyEvent: Base event class.
class K_DLLIMPORT FBPropertyBase< float, kFBPT_float > FBPropertyFloat
Property: float
int AsInt()
Get the property as an integer.
void KeyRemoveAt(FBTime pTime)
Remove the key at time (t).
FBPropertyAnimatable()
Constructor.
virtual FBPropertyType GetPropertyType() override
Get the property's type.
virtual KDataType * GetDataType()
Get the property datatype pointer.
int Find(const char *S)
Find the index of a string.
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
void SetReferenceAt(int pIndex, kReference pRef)
Set reference at pIndex.
@ kFBDataAsStringUI
Convert data to string type for UI display.
bool IsLocked() const
IsLocked.
virtual const char * EnumList(int pIndex) override
Return the string of an enum value.
virtual void GetData(void *pData, int pSize, FBEvaluateInfo *pEvalInfo=NULL) const override
Get the value of a property.
@ kFBDataAsStringPersistence
Convert data to string type for storage.
FBPropertyType
Property types.
@ kFBPropertyFlagDrivenProperty
This is property is connected and driven by other same type of main property, and it always ask value...
void(* fbExternalGetSetHandler)(HIObject pObject)
function pointer
~FBPropertyBase()
Destructor.
~FBPropertyBaseEnum()=default
Destructor.
bool IsMaxClamp()
Indicate if maximum value clamping will be applied on user input value.
@ kFBPT_int64
int 64 bits.
FBPropertyBasicList()
Constructor.
PropertyEvent: Video Frame Rendering Event
void SetCandidate(void *pData, int pSize, FBEvaluateInfo *pEvalInfo=NULL)
Set the candidate.
Template class to contain an array of items.
const char * GetDataTypeName()
Get the property datatype name.
Definition of the class FBPlug and related enums and utility functions.
~FBPropertyBaseAnimatableEnum()
Destructor.
class K_DLLIMPORT FBPropertyBase< FBPlug *, kFBPT_object > _FBPropertyBasePlug
Property: FBPropertyBase(FBPlug*)
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
FBPropertyEvent()
Constructor.
virtual const char * AsString(FBDataAsStringFlag pFlag=kFBDataAsStringUI) override
Get as string.
void operator=(tType pValue)
Overloaded = operator.
void SetAnimated(bool pState, bool pCheckLocked=false)
Set the animation state of the property.
FBPropertyAnimatable * Init(FBBox *pOwner, const char *pName, const char *pType, double *pInit)
Initialization function (custom).
int Find(kReference pRef)
Find the index of a reference.
virtual tType GetAt(int pIndex)
Get a property at pIndex.
virtual bool IsAnimatable() override
Certify that the property is animatable.
PropertyEvent: Global ConnectionDataNotify event.
FBPropertyFlag GetPropertyFlags()
GetPropertyFlags.
@ kFBDynamicHidden
This flag is used to show/hide the property in the propertiview. When turn on/ff DynamicHidden flag,...
@ kFBDrivenSetByMain
Driven property can be modified, valid only when the main property is modified.
kReference GetReferenceAt(int pIndex)
Get the reference at pIndex.
void SetMin(double pMin, bool pForceMinClamp=false)
SetMin.
virtual void SetPropertyValue(const char *pValue) override
Set the value of the internal property.
FBPropertyBaseList()
Constructor.
bool HasSomethingMuted() const
HasSomethingMuted.
FBPropertyBaseList(HIObject pParent, const char *pName)
Constructor.
Connections Basic Open Reality SDK Element.
const char * OriValueAsString()
Get the property original value (before any modification) as string.
@ kFBPT_ColorRGBA
colorrgba.
class K_DLLIMPORT FBPropertyBase< FBTimeSpan, kFBPT_TimeSpan > FBPropertyTimeSpan
Property: FBTimeSpan
virtual const char * AsString(FBDataAsStringFlag pFlag=kFBDataAsStringUI) override
Get as string.
@ kFBPT_stringlist
stringlist.
class K_DLLIMPORT FBPropertyBase< long long, kFBPT_int64 > FBPropertyInt64
Property: int
class K_DLLIMPORT FBPropertyBaseAnimatable< FBColorAndAlpha, kFBPT_ColorRGBA > FBPropertyAnimatableColorAndAlpha
FBPropertyAnimatableColorAndAlpha type definition.
class K_DLLIMPORT FBPropertyBaseAnimatable< int, kFBPT_enum > FBPropertyAnimatableEnum
FBPropertyBaseAnimatableEnum type definition.
AnimationNodeNotify evaluation information.
class K_DLLIMPORT FBPropertyBaseAnimatable< unsigned long long, kFBPT_uint64 > FBPropertyAnimatableUInt64
FBPropertyAnimatableUInt64 type definition.
~FBPropertyBaseAnimatable()
Destructor.
Property class: const char * (String).
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
FBPropertyBaseEnum(const FBPropertyBaseEnum< tType > &pValue)
FBPropertyBaseEnum.
PropertyEvent: UI idle event.
tType GetPropertyValue()
Get the value of the internal property.
int GetSubMemberCount() const
GetSubMemberCount.
void Key()
Key the property.
class K_DLLIMPORT FBPropertyBaseAnimatable< bool, kFBPT_bool > FBPropertyAnimatableBool
FBPropertyAnimatableBool type definition.
MotionBuilder SDK base class.
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
virtual int Remove(tType pItem)
Remove pItem from the list.
bool AcceptTemporaryProperty(const char *pEnumList[]=NULL, fbExternalGetSetHandler pGet=NULL, fbExternalGetSetHandler pSet=NULL)
Accept a temporary property as a dynamic property.
Visual Component base class.
class FBPropertyBaseComponent< FBPlug * > FBPropertyPlug
Property: FBPropertyBaseComponent(FBPlug*)
virtual int Add(const char *S, kReference pRef=0)
Add a string to the list.
FBPropertyBase()
Constructor.
int GetDataSize() const
Get the data size (number of values) for the connector.
FBPropertyEvent * InitGlobal(const char *pName, const char *pGlobalEventName)
Property initialization function, for global events.
virtual void SetData(void *pData) override
Set the value of the property, passing the type as an argument.
void ModifyPropertyFlag(FBPropertyFlag pFlag, bool pValue)
ModifyPropertyFlag.
virtual ~FBPropertyStringList()
Destructor.
virtual void Clear()
Clear the list (remove all the items).
void Destroy()
Destruction function, for internal connectors.
virtual const char * EnumList(int pIndex)
Return the string of an enum value.
class K_DLLIMPORT FBVector3< double > FBVector3d
3D vector.
virtual ~FBPropertyAnimatable()
Destructor.
~FBPropertyManager()
Destructor.
virtual bool SetString(const char *pString) override
Set enum value by equivalent string.
void operator=(tType pValue)
Overloaded = operator.
bool IsMemberMuted(int pIndex) const
IsMemberMuted.
Property: Action Action property to trigger function.
bool IsFocused()
Is the property focused (keyable).
FBPropertyEvent * Init(FBComponent *pComponent, HIRegister pParent, const char *pName, int pType, int pSubType=K_INT_MAX)
Property initialization function.
@ kFBPT_TimeSpan
timespan.
@ kFBPT_kReference
kReference.
virtual void SetData(void *pData) override
Set value.