Open Reality Reference Guide
FBKeyingGroup Class Reference

KeyingGroup class. More...

#include <fbkeyinggroup.h>

Inheritance diagram for FBKeyingGroup:

Public Member Functions

 FBKeyingGroup (const char *pName, FBKeyingGroupType pType, HIObject pObject=NULL)
 Constructor. More...
 
virtual void FBDelete () override
 Virtual FBDelete function. More...
 
void SetObjectType (FBComponent *pObject)
 Set the object type filter for and object type keying group. More...
 
void AddProperty (FBProperty *pProp)
 Add property to be keyed when current keying group is active. More...
 
void RemoveProperty (FBProperty *pProp)
 RemoveProperty from the keyinggroup list. More...
 
FBPropertyGetProperty (int pIndex)
 GetProperty from the keyinggroup list. More...
 
int GetPropertyCount ()
 GetPropertyCount. More...
 
int FindPropertyIndex (FBProperty *pProp)
 FindPropertyIndex. More...
 
void AddObjectDependency (FBComponent *pObj)
 AddObjectDependency An object dependency is the content of a keying group and will activate keying group when selected (activation only works if the keying group is a character extension). More...
 
void RemoveObjectDependency (FBComponent *pObj)
 RemoveObjectDependency An object dependency is the content of a keying group and will activate keying group when selected (activation only works if the keying group is a character extension). More...
 
bool IsObjectDependency (FBComponent *pObj)
 IsObjectDependency determine if the pObj is a dependency. More...
 
bool IsObjectDependencySelected ()
 IsObjectDependencySelected. More...
 
void RemoveAllProperties ()
 IsObjectDependencySelected empty the property list. More...
 
void RemoveAllObjectDependency ()
 IsObjectDependencySelected empty the content list. More...
 
void RemoveAllSubKeyingGroup ()
 RemoveAllSubKeyingGroup empty the child keying group. More...
 
int GetParentKeyingGroupCount ()
 GetParentKeyingGroupCount. More...
 
FBKeyingGroupGetParentKeyingGroup (int pIndex)
 GetParentKeyingGroup. More...
 
int GetSubKeyingGroupCount ()
 GetSubKeyingGroupCount. More...
 
FBKeyingGroupGetSubKeyingGroup (int pIndex)
 GetSubKeyingGroup. More...
 
int GetSubObjectCount ()
 GetSubObjectCount. More...
 
FBComponentGetSubObject (int pIndex)
 GetSubObject. More...
 
int GetCumulativePropertyCount (bool pStopAtVisible=false)
 GetCumulativePropertyCount Same as GetSubKeyingGroupCount but recursive in child keying group. More...
 
FBPropertyGetCumulativeProperty (int pIndex, bool pStopAtVisible=false)
 GetCumulativeProperty Same as GetSubKeyingGroup but recursive in child keying group. More...
 
void ClearAllItems ()
 ClearAllItems clear object dependency, properties and child keying group. More...
 
void SetEnabled (bool pEnable)
 SetEnabled, makes the keying group available in keying group list of the key control UI. More...
 
void SetActive (bool pActive)
 SetActive, activate the keying group, replacing the other keying group. More...
 
void SetActiveAppend (bool pActive)
 SetActiveAppend, activate and append the keying group to the other keying groups. More...
 
- Public Member Functions inherited from FBComponent
 FBComponent (HIObject pObject)
 Constructor. More...
 
virtual ~FBComponent ()
 Destructor. More...
 
virtual bool FBCreate ()
 Open Reality Creation function. More...
 
virtual void FBDestroy ()
 Open Reality destruction function. More...
 
virtual bool SetHIObject (HIObject pObject, bool pSDKComponent) override
 Assign component to an internal pointer. More...
 
virtual int PropertyAdd (FBProperty *pProperty)
 Add a property to the component's property manager. More...
 
bool PropertyAddReferenceProperty (FBProperty *pReferenceProperty)
 Add a reference property to the component's property manager. More...
 
void PropertyRemove (FBProperty *pProperty)
 Remove a Property from the component's Property manager. More...
 
void PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags)
 Get list of properties which have been modified since last loading. More...
 
FBPropertyPropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL)
 Create user or dynamic property. More...
 
FBObjectFlag GetObjectFlags ()
 Get all Object Flags (concatenated). More...
 
void SetObjectFlags (FBObjectFlag pFlags)
 SetObjectFlags. More...
 
bool HasObjectFlags (FBObjectFlag pFlags)
 Check whether a specific object flag is enabled. More...
 
void EnableObjectFlags (FBObjectFlag pFlags)
 Enable a specific Object Flags. More...
 
void DisableObjectFlags (FBObjectFlag pFlags)
 Disable a specific Object Flags. More...
 
void SetObjectStatus (FBObjectStatus pStatus, bool pValue)
 Enable/Disable a specific Object Status. More...
 
bool GetObjectStatus (FBObjectStatus pStatus)
 Check to see if an object status is enabled. More...
 
bool ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessNamespaceHierarchy. More...
 
bool ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessObjectNamespace. More...
 
virtual const char * ClassName () override
 Get the class name. More...
 
virtual bool UseCustomPropertyViewSet () const
 Use the custom property viewSet or not. More...
 
const char * GetFullName (void)
 Get the full name. More...
 
void SetOwnerNamespace (FBNamespace *pOwnerNSObj)
 Set the owner Namespace object. More...
 
FBNamespaceGetOwnerNamespace (void)
 Get the owner Namespace object. More...
 
FBFileReferenceGetOwnerFileReference (void)
 Get the owner FileReference object. More...
 
void HardSelect ()
 HardSelect. More...
 
virtual bool Is (int pTypeId) override
 Returns true if object is of type TypeId. More...
 
virtual int GetTypeId () override
 GetTypeId( int pTypeId ) More...
 
- Public Member Functions inherited from FBWrapperHolder
FBScriptWrapperGetWrapper ()
 Return the wrapper interface of this FBObject. More...
 
void AddWrapper (FBScriptWrapper *)
 
void RemoveWrapper (FBScriptWrapper *)
 

Static Public Member Functions

static void DeselectAllAnimatableProperties ()
 FBDeselectAllAnimatableProperties, deselect all animatable properties in the scene. More...
 
- Static Public Member Functions inherited from FBComponent
static int GetInternalClassId ()
 
static void FBComponentSetName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetName (FBComponent *pObject)
 
static void FBComponentSetLongName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetLongName (FBComponent *pObject)
 

Additional Inherited Members

- Public Attributes inherited from FBComponent
FBPropertyManager PropertyList
 Read Only Property: Manages all of the properties for the component. More...
 
FBPropertyListComponent Components
 List: List of components. More...
 
FBPropertyListComponent Parents
 List: Parents. More...
 
FBPropertyBool Selected
 Read Write Property: Selected property. More...
 
FBPropertyString Name
 Read Write Property: Unique name of object. More...
 
FBPropertyString LongName
 Read Write Property: Name and namespace for object.
More...
 
FBPropertyFolder Folder
 Read Write Property: The folder that contain this component. More...
 
- Static Public Attributes inherited from FBComponent
static int TypeInfo
 Contains the Type information of the object. More...
 
- Protected Member Functions inherited from FBPlug
bool IsSDKComponent ()
 Return whether or not item is an SDK component. More...
 
bool ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool DisconnectDst (FBPlug *pDst)
 Remove a destination connection. More...
 
bool DisconnectSrc (FBPlug *pSrc)
 Remove a source connection. More...
 
void DisconnectAllSrc ()
 Remove all source connections. More...
 
void DisconnectAllDst ()
 Remove all destination connections. More...
 
bool DisconnectDstAt (int pIndex)
 Remove a destination connection at a specified index. More...
 
bool DisconnectSrcAt (int pIndex)
 Remove a source connection at a specified index. More...
 
bool ReplaceDstAt (int pIndex, FBPlug *pDst)
 Replace a destination connection at a specified index. More...
 
bool ReplaceSrcAt (int pIndex, FBPlug *pSrc)
 Replace a source connection at a specified index. More...
 
bool SwapSrc (int pIndexA, int pIndexB)
 Swap source connection at index A with source connection at index B. More...
 
bool MoveSrcAt (int pIndex, int pAtIndex)
 Move source connection at pIndex to pAtIndex. More...
 
bool MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc)
 Move source connection pSrc to the position of pAtSrc. More...
 
int GetSrcCount ()
 Get source connection count. More...
 
FBPlugGetSrc (int pIndex)
 Get a source connection's plug at specified index. More...
 
FBConnectionType GetSrcType (int pIndex)
 Get a source connection's type at specified index. More...
 
int GetDstCount ()
 Get destination connection count. More...
 
FBPlugGetDst (int pIndex)
 Get a destination connection's plug at specified index. More...
 
FBConnectionType GetDstType (int pIndex)
 Get a destination connection's type at specified index. More...
 
bool BeginChange ()
 Begins a change on multiple plugs. More...
 
void EndChange ()
 Ends a change on multiple plugs. More...
 
void SetSelfModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's self modification flag. More...
 
bool GetSelfModified (FBPlugModificationFlag pFlag)
 Tell if the plug's self has changed. More...
 
void SetContentModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's owned property/object's modification flag. More...
 
bool GetContentModified (FBPlugModificationFlag pFlag)
 Tell if the plug's content has changed. More...
 
int GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove)
 Get plug's modified src/dst property/object connection added/removed List. More...
 
bool RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask)
 Revert the plug's modification to original status. More...
 
void SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue)
 Set the plug's status flag. More...
 
bool GetStatusFlag (FBPlugStatusFlag pStatus) const
 Tell if the plug's status has changed. More...
 
FBPlugGetOwner ()
 Get the owner of this plug. More...
 
FBPlugGetOwned (int pIndex)
 Get the owned plug at specified index. More...
 
int GetOwnedCount ()
 Get the owned plug count. More...
 
virtual bool PlugDataNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only. More...
 
virtual bool PlugStateNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only. More...
 
virtual bool PlugNotify (FBConnectionAction pAction, FBPlug *pThis, int pIndex, FBPlug *pPlug=NULL, FBConnectionType pConnectionType=kFBConnectionTypeNone, FBPlug *pNewPlug=NULL)
 PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only. More...
 
- Static Protected Member Functions inherited from FBPlug
static int GetInternalClassId ()
 Internal class Id. More...
 
- Protected Attributes inherited from FBPlug
bool mAllocated
 Contain the Allocation State of the Component. More...
 
HIObject mObject
 Handle on the Plug. More...
 
bool mSDKComponent
 bool Plug is an SDK component.
More...
 
- Static Protected Attributes inherited from FBPlug
static const char * ClassGroupName
 ClassGroupName of the object. More...
 
static int TypeInfo
 TypeInfo. More...
 
static int mGlobalTypeInfo
 Represente the Type Index. More...
 

Detailed Description

KeyingGroup class.

This class is an interface to manipulate which properties will be keyed when active. A derived class could control when the keying group should activate and what content it should have. For example, a derived class could activate based one that is selected in the scene.

To create a custom keying group, use the appropriate FBKeyingGroupType flag. Then, if it is a local keying group, call AddObjectDependency() to add an object to the keying group. You can then add properties belonging to the new object with AddProperty().

If you are creating an object type keying group, call SetObjectType() to specify what kind of object will be keyed by this keying group. Then, add a property from an object, the name of the property will be used by the keying group the find corresponding properties in selected object.

If you create a global keying group, simply properties from an object with AddProperty(). The name of the property will be used by the keying group to find corresponding properties in the selected object.

Definition at line 87 of file fbkeyinggroup.h.

Constructor & Destructor Documentation

◆ FBKeyingGroup()

FBKeyingGroup ( const char *  pName,
FBKeyingGroupType  pType,
HIObject  pObject = NULL 
)

Constructor.

Parameters
pNameGroup name.
pTypeKeying group type.
pObjectFor internal use only.

Member Function Documentation

◆ AddObjectDependency()

void AddObjectDependency ( FBComponent pObj)

AddObjectDependency An object dependency is the content of a keying group and will activate keying group when selected (activation only works if the keying group is a character extension).

Parameters
pObja Dependency of the keying group.

◆ AddProperty()

void AddProperty ( FBProperty pProp)

Add property to be keyed when current keying group is active.

Parameters
pPropProperty to be added.

◆ ClearAllItems()

void ClearAllItems ( )

ClearAllItems clear object dependency, properties and child keying group.

◆ DeselectAllAnimatableProperties()

static void DeselectAllAnimatableProperties ( )
static

FBDeselectAllAnimatableProperties, deselect all animatable properties in the scene.

◆ FBDelete()

virtual void FBDelete ( )
overridevirtual

Virtual FBDelete function.

Reimplemented from FBComponent.

Reimplemented in FBCharacterExtension.

◆ FindPropertyIndex()

int FindPropertyIndex ( FBProperty pProp)

FindPropertyIndex.

Parameters
pPropmust be in the list (return -1 if not).
Returns
the index of pProp in the keyinggroup property list.

◆ GetCumulativeProperty()

FBProperty* GetCumulativeProperty ( int  pIndex,
bool  pStopAtVisible = false 
)

GetCumulativeProperty Same as GetSubKeyingGroup but recursive in child keying group.

Parameters
pIndexindex in the content Object Dependency list
pStopAtVisibleconsider all keying group and stop to the first visible keying group.
Returns
he number of ObjectDependency of the keying group.

◆ GetCumulativePropertyCount()

int GetCumulativePropertyCount ( bool  pStopAtVisible = false)

GetCumulativePropertyCount Same as GetSubKeyingGroupCount but recursive in child keying group.

Parameters
pStopAtVisibleconsider all keying group and stop to the first visible keying group.
Returns
he number of ObjectDependency of the keying group.

◆ GetParentKeyingGroup()

FBKeyingGroup* GetParentKeyingGroup ( int  pIndex)

GetParentKeyingGroup.

Parameters
pIndexis the index of the parent list of the current keying group.
Returns
the parent keying group.

◆ GetParentKeyingGroupCount()

int GetParentKeyingGroupCount ( )

GetParentKeyingGroupCount.

Returns
the number of parent.

◆ GetProperty()

FBProperty* GetProperty ( int  pIndex)

GetProperty from the keyinggroup list.

Parameters
pIndexindex of the desired property.
Returns
property coresponding to pIndex.

◆ GetPropertyCount()

int GetPropertyCount ( )

GetPropertyCount.

Returns
the number of properties in the keying group.

◆ GetSubKeyingGroup()

FBKeyingGroup* GetSubKeyingGroup ( int  pIndex)

GetSubKeyingGroup.

Parameters
pIndexindex of the desired keying group child.
Returns
the the child at the index.

◆ GetSubKeyingGroupCount()

int GetSubKeyingGroupCount ( )

GetSubKeyingGroupCount.

Returns
the number of child keying group.

◆ GetSubObject()

FBComponent* GetSubObject ( int  pIndex)

GetSubObject.

Parameters
pIndexindex in the content Object Dependency list
Returns
the desired object at pIndex.

◆ GetSubObjectCount()

int GetSubObjectCount ( )

GetSubObjectCount.

Returns
the number of ObjectDependency of the keying group.

◆ IsObjectDependency()

bool IsObjectDependency ( FBComponent pObj)

IsObjectDependency determine if the pObj is a dependency.

Parameters
pObjan object to test the Dependency.
Returns
true if it depend.

◆ IsObjectDependencySelected()

bool IsObjectDependencySelected ( )

IsObjectDependencySelected.

Returns
return true as soon as a Property Owner or another Object Dependency is selected.

◆ RemoveAllObjectDependency()

void RemoveAllObjectDependency ( )

IsObjectDependencySelected empty the content list.

◆ RemoveAllProperties()

void RemoveAllProperties ( )

IsObjectDependencySelected empty the property list.

◆ RemoveAllSubKeyingGroup()

void RemoveAllSubKeyingGroup ( )

RemoveAllSubKeyingGroup empty the child keying group.

◆ RemoveObjectDependency()

void RemoveObjectDependency ( FBComponent pObj)

RemoveObjectDependency An object dependency is the content of a keying group and will activate keying group when selected (activation only works if the keying group is a character extension).

Parameters
pObja Dependency of the keying group.

◆ RemoveProperty()

void RemoveProperty ( FBProperty pProp)

RemoveProperty from the keyinggroup list.

Parameters
pPropProperty to be removed.

◆ SetActive()

void SetActive ( bool  pActive)

SetActive, activate the keying group, replacing the other keying group.

◆ SetActiveAppend()

void SetActiveAppend ( bool  pActive)

SetActiveAppend, activate and append the keying group to the other keying groups.

◆ SetEnabled()

void SetEnabled ( bool  pEnable)

SetEnabled, makes the keying group available in keying group list of the key control UI.

◆ SetObjectType()

void SetObjectType ( FBComponent pObject)

Set the object type filter for and object type keying group.

Parameters
pObjectObject that will be used to set the keying group object type. Use NULL to remove the filter.

The documentation for this class was generated from the following file: