Open Reality Reference Guide
 
Loading...
Searching...
No Matches
fbkeyinggroup.h
Go to the documentation of this file.
1#ifndef __FBKEYINGGROUP_H__
2#define __FBKEYINGGROUP_H__
3/**************************************************************************
4Copyright (c) 1994 - 2009 Autodesk, Inc. and/or its licensors.
5All Rights Reserved.
6
7The coded instructions, statements, computer programs, and/or related
8material (collectively the "Data") in these files contain unpublished
9information proprietary to Autodesk, Inc. and/or its licensors, which is
10protected by Canada and United States of America federal copyright law
11and by international treaties.
12
13The Data may not be disclosed or distributed to third parties, in whole
14or in part, without the prior written consent of Autodesk, Inc.
15("Autodesk").
16
17THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
18ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
19WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR
20ARISING BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES
21OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
22PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT
23WARRANT THAT THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR
24FREE.
25
26IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
27OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR
28EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE
29DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS
30OF PROFITS, REVENUE OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR
31DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF
32LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT
33LIMITED TO, NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE
34DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT AUTODESK HAS
35BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
36
37**************************************************************************/
38
43#include <kaydaradef.h>
44#ifndef FBSDK_DLL
48#define FBSDK_DLL K_DLLIMPORT
49#endif
50
51#include <fbsdk/fbcomponent.h>
52
53#ifdef FBSDKUseNamespace
54namespace FBSDKNamespace {
55#endif
56
58 FB_DEFINE_COMPONENT( FBSDK_DLL, KeyingGroup );
59 FB_DEFINE_LIST( FBSDK_DLL, KeyingGroup );
60
66 };
67
69 // FBKeyingGroup
71
88 {
89 //--- Open Reality declaration.
91 public:
92
98 FBKeyingGroup(const char* pName, FBKeyingGroupType pType, HIObject pObject=NULL);
99
102 virtual void FBDelete() override;
103
108
117
122 FBProperty* GetProperty(int pIndex);
123
128
134
139
144
150
155
162
166
194
199 int GetCumulativePropertyCount( bool pStopAtVisible = false );
205 FBProperty* GetCumulativeProperty( int pIndex, bool pStopAtVisible = false );
206
210
211
214 void SetEnabled(bool pEnable);
215
218 void SetActive(bool pActive);
219
222 void SetActiveAppend(bool pActive);
223
227 };
228
230 // FBPropertyListKeyingGroup
232 FB_DEFINE_LIST( FBSDK_DLL, KeyingGroup );
234
237 {
238 public:
245 };
246
248
249#ifdef FBSDKUseNamespace
250}
251#endif
252#endif /* this must be the last line of this file */
MotionBuilder SDK base class.
KeyingGroup class.
bool IsObjectDependency(FBComponent *pObj)
IsObjectDependency determine if the pObj is a dependency.
bool IsObjectDependencySelected()
IsObjectDependencySelected.
int GetParentKeyingGroupCount()
GetParentKeyingGroupCount.
void SetEnabled(bool pEnable)
SetEnabled, makes the keying group available in keying group list of the key control UI.
static void DeselectAllAnimatableProperties()
FBDeselectAllAnimatableProperties, deselect all animatable properties in the scene.
void RemoveAllProperties()
IsObjectDependencySelected empty the property list.
void ClearAllItems()
ClearAllItems clear object dependency, properties and child keying group.
void RemoveAllSubKeyingGroup()
RemoveAllSubKeyingGroup empty the child keying group.
void AddProperty(FBProperty *pProp)
Add property to be keyed when current keying group is active.
virtual void FBDelete() override
Virtual FBDelete function.
int GetSubObjectCount()
GetSubObjectCount.
int FindPropertyIndex(FBProperty *pProp)
FindPropertyIndex.
FBKeyingGroup * GetParentKeyingGroup(int pIndex)
GetParentKeyingGroup.
FBProperty * GetCumulativeProperty(int pIndex, bool pStopAtVisible=false)
GetCumulativeProperty Same as GetSubKeyingGroup but recursive in child keying group.
void SetActive(bool pActive)
SetActive, activate the keying group, replacing the other keying group.
int GetPropertyCount()
GetPropertyCount.
void SetObjectType(FBComponent *pObject)
Set the object type filter for and object type keying group.
void RemoveProperty(FBProperty *pProp)
RemoveProperty from the keyinggroup list.
void SetActiveAppend(bool pActive)
SetActiveAppend, activate and append the keying group to the other keying groups.
FBProperty * GetProperty(int pIndex)
GetProperty from the keyinggroup list.
int GetSubKeyingGroupCount()
GetSubKeyingGroupCount.
void RemoveAllObjectDependency()
IsObjectDependencySelected empty the content list.
FBKeyingGroup(const char *pName, FBKeyingGroupType pType, HIObject pObject=NULL)
Constructor.
int GetCumulativePropertyCount(bool pStopAtVisible=false)
GetCumulativePropertyCount Same as GetSubKeyingGroupCount but recursive in child keying group.
void RemoveObjectDependency(FBComponent *pObj)
RemoveObjectDependency An object dependency is the content of a keying group and will activate keying...
FBComponent * GetSubObject(int pIndex)
GetSubObject.
FBKeyingGroup * GetSubKeyingGroup(int pIndex)
GetSubKeyingGroup.
void AddObjectDependency(FBComponent *pObj)
AddObjectDependency An object dependency is the content of a keying group and will activate keying gr...
Property: Base property class.
PropertyList: Concrete class for PropertyList of component
PropertyList: KeyingGroup.
FBKeyingGroup * operator[](int pIndex)
Get the KeyingGroup at pIndex.
Basic class definitions.
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
FBKeyingGroupType
Keying group types.
@ kFBKeyingGroupObjectType
All selected objects of the specified type in the keying group with the same properties as those defi...
@ kFBKeyingGroupGlobal
All selected objects with the same properties as those defined in the keying group will be keyed.
@ kFBKeyingGroupLocal
Only properties of objects specified in the keying group will be keyed.
#define FB_DEFINE_LIST(DllTag, Type)
Define a component list.
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition fbtypes.h:62
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition fbtypes.h:68