Go to
the documentation of this file.
00001 #ifndef __FBCHARACTEREXTENSION_H__
00002 #define __FBCHARACTEREXTENSION_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00043 #include <kaydaradef.h>
00044 #ifndef FBSDK_DLL
00045
00048 #define FBSDK_DLL K_DLLIMPORT
00049 #endif
00050
00051 #include <fbsdk/fbkeyinggroup.h>
00052 #include <fbsdk/fbmodel.h>
00053
00054 #ifdef FBSDKUseNamespace
00055 namespace FBSDKNamespace {
00056 #endif
00057
00058 __FB_FORWARD( FBCharacterExtension );
00059 __FB_FORWARD( FBCharacter );
00060
00062 enum FBPlotAllowed
00063 {
00064 kFBPlotAllowed_None,
00065 kFBPlotAllowed_Skeleton,
00066 kFBPlotAllowed_ControlRig,
00067 kFBPlotAllowed_Both
00068 };
00069
00070 FB_DEFINE_ENUM ( FBSDK_DLL, PlotAllowed );
00071 FB_DEFINE_COMPONENT( FBSDK_DLL, CharacterExtension );
00072 FB_DEFINE_LIST( FBSDK_DLL, CharacterExtension );
00073 FB_FORWARD(FBPropertyListCharacterExtension)
00074
00075
00076
00077
00079 class FBSDK_DLL FBPropertyListCharacterExtension : public FBPropertyListComponent
00080 {
00081 public:
00082 FBPropertyListCharacterExtension();
00087 virtual HFBCharacterExtension operator[]( int pIndex );
00088 };
00089
00090
00091
00093
00095
00098 class FBSDK_DLL FBCharacterExtension : public FBKeyingGroup
00099 {
00100
00101 __FBClassDeclare(FBCharacterExtension, FBKeyingGroup);
00102 public:
00103
00104
00105
00106
00111 FBCharacterExtension(char* pName, HIObject pObject=NULL);
00112
00115 virtual void FBDelete();
00116
00117 FBPropertyBool IncludePartInFullBody;
00118 FBPropertyString Label;
00119 FBPropertyInt MirrorLabel;
00120 FBPropertyPlotAllowed PlotAllowed;
00121 FBPropertyModel ReferenceModel;
00122
00123
00124 void UpdateStancePose();
00125 void GoToStancePose();
00126
00127
00128 HFBCharacterExtension GetMirrorExtension();
00129 HFBCharacter GetCharacter();
00130
00131
00132 void AddObjectProperties( HFBComponent pObj );
00133 void RemoveObjectAndProperties( HFBComponent pObj );
00134
00135 bool IsElementSelected();
00136 bool IsPropertyIncluded( FBProperty* pProp );
00137
00138 void GetLabelNameWithExtensionObject( FBString& pLabelName, HFBComponent pObj, bool pReturnObjectNameIfNotFound = false );
00139 HFBComponent GetExtensionObjectWithLabelName( const FBString& pLabelName );
00140 };
00141
00143
00144 #ifdef FBSDKUseNamespace
00145 }
00146 #endif
00147 #endif