Public Member Functions

FBKeyingGroup Class Reference

Search for all occurrences

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.

#include <fbkeyinggroup.h>

Inheritance diagram for FBKeyingGroup:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  FBKeyingGroup (char *pName, FBKeyingGroupType pType, HIObject pObject=NULL)
  Constructor.
virtual void  FBDelete ()
  Virtual FBDelete function.
void  SetObjectType (HFBComponent pObject)
  Set the object type filter for and object type keying group.
void  AddProperty (HFBProperty pProp)
  Add property to be keyed when current keying group is active.
void  RemoveProperty (HFBProperty pProp)
  RemoveProperty from the keyinggroup list.
HFBProperty  GetProperty (int pIndex)
  GetProperty from the keyinggroup list.
int  GetPropertyCount ()
  GetPropertyCount.
int  FindPropertyIndex (HFBProperty pProp)
  FindPropertyIndex.
void  AddObjectDependency (HFBComponent 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).
void  RemoveObjectDependency (HFBComponent 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).
bool  IsObjectDependency (HFBComponent pObj)
  IsObjectDependency determine if the pObj is a dependency.
bool  IsObjectDependencySelected ()
  IsObjectDependencySelected.
void  RemoveAllProperties ()
  IsObjectDependencySelected empty the property list.
void  RemoveAllObjectDependency ()
  IsObjectDependencySelected empty the content list.
void  RemoveAllSubKeyingGroup ()
  RemoveAllSubKeyingGroup empty the child keying group.
int  GetParentKeyingGroupCount ()
  GetParentKeyingGroupCount.
HFBKeyingGroup  GetParentKeyingGroup (int pIndex)
  GetParentKeyingGroup.
int  GetSubKeyingGroupCount ()
  GetSubKeyingGroupCount.
HFBKeyingGroup  GetSubKeyingGroup (int pIndex)
  GetSubKeyingGroup.
int  GetSubObjectCount ()
  GetSubObjectCount.
HFBComponent  GetSubObject (int pIndex)
  GetSubObject.
int  GetCumulativePropertyCount (bool pStopAtVisible=false)
  GetCumulativePropertyCount Same as GetSubKeyingGroupCount but recursive in child keying group.
HFBProperty  GetCumulativeProperty (int pIndex, bool pStopAtVisible=false)
  GetCumulativeProperty Same as GetSubKeyingGroup but recursive in child keying group.
void  ClearAllItems ()
  ClearAllItems clear object dependency, properties and child keying group.
void  SetEnabled (bool pEnable)
  SetEnabled, makes the keying group available in keying group list of the key control UI.
void  SetActive (bool pActive)
  SetActive, activate the keying group.

Constructor & Destructor Documentation

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

Constructor.

Parameters:
pName Group name.
pType Keying group type.
pObject For internal use only.

Member Function Documentation

virtual void FBDelete ( ) [virtual]

Virtual FBDelete function.

Reimplemented from FBComponent.

Reimplemented in FBCharacterExtension.

void SetObjectType ( HFBComponent  pObject )

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

Parameters:
pObject Object that will be used to set the keying group object type. Use NULL to remove the filter.
void AddProperty ( HFBProperty  pProp )

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

Parameters:
pProp Property to be added.
void RemoveProperty ( HFBProperty  pProp )

RemoveProperty from the keyinggroup list.

Parameters:
pProp Property to be removed.
HFBProperty GetProperty ( int  pIndex )

GetProperty from the keyinggroup list.

Parameters:
pIndex index of the desired property.
Returns:
property coresponding to pIndex.
int GetPropertyCount ( )

GetPropertyCount.

Returns:
the number of properties in the keying group.
int FindPropertyIndex ( HFBProperty  pProp )

FindPropertyIndex.

Parameters:
pProp must be in the list (return -1 if not).
Returns:
the index of pProp in the keyinggroup property list.
void AddObjectDependency ( HFBComponent  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:
pObj a Dependency of the keying group.
void RemoveObjectDependency ( HFBComponent  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:
pObj a Dependency of the keying group.
bool IsObjectDependency ( HFBComponent  pObj )

IsObjectDependency determine if the pObj is a dependency.

Parameters:
pObj an object to test the Dependency.
Returns:
true if it depend.
bool IsObjectDependencySelected ( )

IsObjectDependencySelected.

Returns:
return true as soon as a Property Owner or another Object Dependency is selected.
void RemoveAllProperties ( )

IsObjectDependencySelected empty the property list.

void RemoveAllObjectDependency ( )

IsObjectDependencySelected empty the content list.

void RemoveAllSubKeyingGroup ( )

RemoveAllSubKeyingGroup empty the child keying group.

int GetParentKeyingGroupCount ( )

GetParentKeyingGroupCount.

Returns:
the number of parent.
HFBKeyingGroup GetParentKeyingGroup ( int  pIndex )

GetParentKeyingGroup.

Parameters:
pIndex is the index of the parent list of the current keying group.
Returns:
the parent keying group.
int GetSubKeyingGroupCount ( )

GetSubKeyingGroupCount.

Returns:
the number of child keying group.
HFBKeyingGroup GetSubKeyingGroup ( int  pIndex )

GetSubKeyingGroup.

Parameters:
pIndex index of the desired keying group child.
Returns:
the the child at the index.
int GetSubObjectCount ( )

GetSubObjectCount.

Returns:
the number of ObjectDependency of the keying group.
HFBComponent GetSubObject ( int  pIndex )

GetSubObject.

Parameters:
pIndex index in the content Object Dependency list
Returns:
the desired object at pIndex.
int GetCumulativePropertyCount ( bool  pStopAtVisible = false )

GetCumulativePropertyCount Same as GetSubKeyingGroupCount but recursive in child keying group.

Parameters:
pStopAtVisible consider all keying group and stop to the first visible keying group.
Returns:
he number of ObjectDependency of the keying group.
HFBProperty GetCumulativeProperty ( int  pIndex,
bool  pStopAtVisible = false 
)

GetCumulativeProperty Same as GetSubKeyingGroup but recursive in child keying group.

Parameters:
pIndex index in the content Object Dependency list
pStopAtVisible consider all keying group and stop to the first visible keying group.
Returns:
he number of ObjectDependency of the keying group.
void ClearAllItems ( )

ClearAllItems clear object dependency, properties and child keying group.

void SetEnabled ( bool  pEnable )

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

void SetActive ( bool  pActive )

SetActive, activate the keying group.


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

FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup
FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup FBKeyingGroup