00001
00004 #ifndef _FBXSDK_SDK_MANAGER_H_
00005 #define _FBXSDK_SDK_MANAGER_H_
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
00039
00040
00041
00042 #include <kaydaradef.h>
00043 #ifndef KFBX_DLL
00044 #define KFBX_DLL K_DLLIMPORT
00045 #endif
00046
00047 #include <kaydara.h>
00048
00049 #include <klib/karrayul.h>
00050 #include <klib/kerror.h>
00051
00052 #ifndef MB_FBXSDK
00053 #include <kbaselib_nsuse.h>
00054 #endif
00055 #include <kbaselib_forward.h>
00056
00057 #include <kfbxplugins/kfbxmemoryallocator.h>
00058
00059 #include <kfbxplugins/kfbxplug.h>
00060
00061 #include <kfbxplugins/kfbxthumbnail.h>
00062 #include <kfbxplugins/kfbxsceneinfo.h>
00063 #include <kfbxplugins/kfbxgeometryconverter.h>
00064 #include <kfbxplugins/kfbximageconverter.h>
00065 #include <kfbxplugins/kfbxproperty.h>
00066 #include <kfbxplugins/kfbxtypes.h>
00067 #include <kfbxplugins/kfbxobject.h>
00068 #include <kfbxio/kfbxexporter.h>
00069 #include <kfbxio/kfbximporter.h>
00070 #include <kfbxplugins/kfbxlayer.h>
00071 #include <fbxfilesdk_nsbegin.h>
00072
00073 class KFbxUserNotification;
00074 class KFbxObject;
00075 class KFbxGeometryConverter;
00076 class KFbxImageConverter;
00077 class KFbxScene;
00078 class KFbxExporter;
00079 class KFbxImporter;
00080 class KFbxNode;
00081 class KFbxSurfaceMaterial;
00082 class KFbxTexture;
00083 class KFbxVideo;
00084 class KFbxNodeAttribute;
00085 class KFbxNull;
00086 class KFbxMarker;
00087 class KFbxCamera;
00088 class KFbxCameraSwitcher;
00089 class KFbxLight;
00090 class KFbxMesh;
00091 class KFbxPatch;
00092 class KFbxNurb;
00093 class KFbxGeometryWeightedMap;
00094 class KFbxSkeleton;
00095 class KFbxOpticalReference;
00096 class KFbxPose;
00097 class KFbxThumbnail;
00098 class KFbxShape;
00099 class KFbxProperty;
00100 class KFbxSceneInfo;
00101 class KFbxGenericNode;
00102 class KFbxDeformer;
00103 class KFbxSkin;
00104 class KFbxSubDeformer;
00105 class KFbxCluster;
00106 class KFbxConstraint;
00107 class KFbxConstraintPosition;
00108 class KFbxConstraintScale;
00109 class KFbxConstraintRotation;
00110 class KFbxConstraintParent;
00111 class KFbxConstraintAim;
00112 class KFbxConstraintSingleChainIK;
00113 class KFbxLayer;
00114 class KFbxTakeNode;
00115 class KFbxCharacter;
00116 class KFbxCharacterPose;
00117 class KFbxControlSetPlug;
00118 class KFbxNurbsCurve;
00119 class KFbxTrimNurbsSurface;
00120 class KFbxBoundary;
00121 class KFbxNurbsSurface;
00122 class KFbxDataType;
00123
00124 typedef class KFbxCluster KFbxLink;
00125
00126
00127 class KFbxSdkManager_internal;
00128
00129
00142 class KFBX_DLL KFbxSdkManager
00143 {
00144
00145 public:
00150
00159 static bool SetMemoryAllocator(KFbxMemoryAllocator* pMemoryAllocator);
00161
00162
00171 static KFbxSdkManager* CreateKFbxSdkManager();
00172
00176 virtual void DestroyKFbxSdkManager();
00178
00179
00184 public:
00194 template <typename T1,typename T2> inline kFbxClassId RegisterClass(char const *pName,T1 const *pFBX_TYPE_Class,T2 const *pFBX_TYPE_ParentClass,const char *pFbxFileTypeName=0,const char *pFbxFileSubTypeName=0) {
00195 if (!Internal_RegisterClass(T1::ClassId)) {
00196 T1::ClassId = Internal_RegisterClass(pName,T2::ClassId,(kFbxPlugConstructor)T1::SdkManagerCreate,pFbxFileTypeName,pFbxFileSubTypeName );
00197 }
00198 return T1::ClassId;
00199 }
00200
00201 template <typename T> inline kFbxClassId RegisterRuntimeClass(char const *pName,T const *pFBX_TYPE_ParentClass,const char *pFbxFileTypeName=0,const char *pFbxFileSubTypeName=0) {
00202 return Internal_RegisterClass(pName,T::ClassId,(kFbxPlugConstructor)T::SdkManagerCreate,pFbxFileTypeName,pFbxFileSubTypeName );
00203 }
00204
00205 template <typename T1,typename T2> inline kFbxClassId OverrideClass(T1 const *pFBX_TYPE_Class,T2 const *pFBX_TYPE_OverridenClass) {
00206 T1::ClassId = Internal_OverrideClass(T2::ClassId,(kFbxPlugConstructor)T1::SdkManagerCreate );
00207 return T1::ClassId;
00208 }
00209
00210 KFbxPlug* CreateClass (kFbxClassId,char const *pName);
00211 kFbxClassId FindClass (char const *pClassName);
00212 kFbxClassId FindFbxFileClass(const char *pFbxFileTypeName,const char *pFbxFileSubTypeName);
00213
00215
00220 public:
00225 int GetSrcObjectCount(kFbxClassId pClassId);
00226 inline int GetSrcObjectCount() { return GetSrcObjectCount(kFbxClassId()); }
00227 template < class T > inline int GetSrcObjectCount(T const *pFBX_TYPE) { return GetSrcObjectCount(T::ClassId); }
00232 KFbxObject* GetSrcObject(kFbxClassId pClassId,int pIndex=0);
00233 inline KFbxObject* GetSrcObject(int pIndex=0) { return GetSrcObject(kFbxClassId(),pIndex); }
00234 template < class T > inline T* GetSrcObject(T const *pFBX_TYPE,int pIndex=0) { return (T *)GetSrcObject(T::ClassId,pIndex); }
00241 KFbxObject* FindSrcObject(kFbxClassId pClassId,const char *pName,int pStartIndex=0);
00242 inline KFbxObject* FindSrcObject(const char *pName,int pStartIndex=0) { return FindSrcObject(kFbxClassId(),pName,pStartIndex); }
00243 template < class T > inline T* FindSrcObject(T const *pFBX_TYPE,const char *pName,int pStartIndex=0) { return (T *)FindSrcObject(pName,T::ClassId,pStartIndex); }
00245
00250 public:
00254 KError& GetError();
00255
00258 typedef enum
00259 {
00260 eOBJECT_NOT_FOUND,
00261 eNAME_ALREADY_IN_USE,
00262 eERROR_COUNT
00263 } EError;
00264
00268 EError GetLastErrorID();
00269
00273 char* GetLastErrorString();
00274
00276
00286 static KString PrefixName(char const* pPrefix, char const* pName);
00287
00295 KFbxDataType CreateFbxDataType(char *pName,EFbxType pType);
00296
00300 KFbxDataType const &GetFbxDataTypeFromName(char *pDataType);
00301
00302
00304
00305
00316 K_DEPRECATED KFbxScene* CreateKFbxScene();
00317 K_DEPRECATED KFbxNode* CreateKFbxNode(char const* pName);
00318 K_DEPRECATED KFbxNull* CreateKFbxNull();
00319 K_DEPRECATED KFbxMarker* CreateKFbxMarker();
00320 K_DEPRECATED KFbxCamera* CreateKFbxCamera();
00321 K_DEPRECATED KFbxLight* CreateKFbxLight();
00322 K_DEPRECATED KFbxSkeleton* CreateKFbxSkeleton();
00323 K_DEPRECATED KFbxMesh* CreateKFbxMesh(char const* pName = "");
00324 K_DEPRECATED KFbxPatch* CreateKFbxPatch(char const* pName = "");
00325 K_DEPRECATED KFbxNurb* CreateKFbxNurb(char const* pName = "");
00326 K_DEPRECATED KFbxNurbsSurface* CreateKFbxNurbsSurface(char const* pName = "");
00327 K_DEPRECATED KFbxNurbsCurve* CreateKFbxNurbsCurve(char const* pName = "");
00328 K_DEPRECATED KFbxTrimNurbsSurface* CreateKFbxTrimNurbsSurface(char const* pName = "");
00329 K_DEPRECATED KFbxBoundary* CreateKFbxBoundary(char const* pName = "");
00330 K_DEPRECATED KFbxGeometryWeightedMap* CreateKFbxGeometryWeightedMap(char const* pName = "");
00331 K_DEPRECATED KFbxOpticalReference* CreateKFbxOpticalReference();
00332 K_DEPRECATED KFbxLink* CreateKFbxLink();
00333 K_DEPRECATED KFbxSurfaceMaterial* CreateKFbxSurfaceMaterial(char const* pName);
00334 K_DEPRECATED KFbxShape* CreateKFbxShape();
00335 K_DEPRECATED KFbxTexture* CreateKFbxTexture(char const* pName);
00336 K_DEPRECATED KFbxVideo* CreateKFbxVideo(char const* pName);
00337 K_DEPRECATED KFbxPose* CreateKFbxPose(char const* pName, bool pIsBindPose);
00338 K_DEPRECATED KFbxGenericNode* CreateKFbxGenericNode(char const* pName);
00339 K_DEPRECATED KFbxSkin* CreateKFbxSkin(char const* pName);
00340 K_DEPRECATED KFbxCluster* CreateKFbxCluster(char const* pName);
00341 K_DEPRECATED KFbxThumbnail* CreateKFbxThumbnail();
00342 K_DEPRECATED KFbxSceneInfo* CreateKFbxSceneInfo();
00343 K_DEPRECATED KFbxGeometryConverter* CreateKFbxGeometryConverter();
00344 K_DEPRECATED KFbxImageConverter* CreateKFbxImageConverter();
00345 K_DEPRECATED KFbxExporter* CreateKFbxExporter();
00346 K_DEPRECATED KFbxImporter* CreateKFbxImporter();
00347 K_DEPRECATED KFbxConstraint* CreateKFbxConstraint(char const* pName, int pType );
00348 K_DEPRECATED KFbxCharacter* CreateKFbxCharacter(char const* pName );
00349 K_DEPRECATED KFbxCharacterPose* CreateKFbxCharacterPose(char const* pName );
00350 K_DEPRECATED KFbxControlSetPlug* CreateKFbxControlSetPlug(char const* pName );
00351
00352
00353 virtual KFbxUserNotification* AllocateKFbxUserNotification(const KString& pLogFileName, const KString& pSessionDescription);
00354 KFbxUserNotification* CreateKFbxUserNotification(const KString& pLogFileName, const KString& pSessionDescription);
00356
00363 K_DEPRECATED virtual bool DestroyKFbxScene(KFbxScene* pScene, bool pDestroyContent = true);
00364 K_DEPRECATED virtual bool DestroyKFbxNode(KFbxNode* pNode, bool pDestroyContent = true);
00365 K_DEPRECATED virtual bool DestroyKFbxNodeAttribute(KFbxNodeAttribute* pNodeAttribute);
00366 K_DEPRECATED virtual bool DestroyKFbxGeometryWeightedMap(KFbxGeometryWeightedMap* pGeometryWeightedMap);
00367 K_DEPRECATED virtual bool DestroyKFbxLink(KFbxLink* pLink);
00368 K_DEPRECATED virtual bool DestroyKFbxSurfaceMaterial(KFbxSurfaceMaterial* pMaterial);
00369 K_DEPRECATED virtual bool DestroyKFbxShape(KFbxShape* pShape);
00370 K_DEPRECATED virtual bool DestroyKFbxTexture(KFbxTexture* pTexture);
00371 K_DEPRECATED virtual bool DestroyKFbxVideo(KFbxVideo* pVideo);
00372 K_DEPRECATED virtual bool DestroyKFbxPose(KFbxPose* pPose);
00373 K_DEPRECATED virtual bool DestroyKFbxGenericNode(KFbxGenericNode* pGenericNode);
00374 K_DEPRECATED virtual bool DestroyKFbxDeformer(KFbxDeformer* pDeformer);
00375 K_DEPRECATED virtual bool DestroyKFbxSubDeformer(KFbxSubDeformer* pSubDeformer);
00376 K_DEPRECATED virtual bool DestroyKFbxThumbnail(KFbxThumbnail* pThumbnail);
00377 K_DEPRECATED virtual bool DestroyKFbxSceneInfo(KFbxSceneInfo* pSceneInfo);
00378 K_DEPRECATED bool DestroyKFbxGeometryConverter(KFbxGeometryConverter* pConverter);
00379 K_DEPRECATED bool DestroyKFbxImageConverter(KFbxImageConverter* pConverter);
00380 K_DEPRECATED bool DestroyKFbxExporter(KFbxExporter* pExporter);
00381 K_DEPRECATED bool DestroyKFbxImporter(KFbxImporter* pImporter);
00382 K_DEPRECATED bool DestroyKFbxConstraint(KFbxConstraint* pConstraint);
00383 K_DEPRECATED bool DestroyKFbxCharacter(KFbxCharacter* pCharacter);
00384 K_DEPRECATED bool DestroyKFbxCharacterPose(KFbxCharacterPose* pCharacterPose);
00385 K_DEPRECATED bool DestroyKFbxControlSetPlug(KFbxControlSetPlug* pControlSetPlug);
00386
00387 virtual bool DestroyKFbxUserNotification();
00388
00390
00396 public:
00397 K_DEPRECATED virtual KFbxNode* FindKFbxNode(char const* pName, int pIndex = 0);
00398 K_DEPRECATED virtual KFbxSurfaceMaterial* FindKFbxSurfaceMaterial(char const* pName, int pIndex = 0);
00399 K_DEPRECATED virtual KFbxTexture* FindKFbxTexture(char const* pName, int pIndex = 0);
00400 K_DEPRECATED virtual KFbxVideo* FindKFbxVideo(char const* pName, int pIndex = 0);
00401 K_DEPRECATED virtual KFbxPose* FindKFbxPose(char const* pName, int pIndex = 0);
00402 K_DEPRECATED virtual KFbxGenericNode* FindKFbxGenericNode(char const* pName, int pIndex = 0);
00404
00410 K_DEPRECATED int GetKFbxNodeCount() ;
00411 K_DEPRECATED KFbxNode* GetKFbxNode(int pIndex) ;
00412 K_DEPRECATED int GetKFbxGenericNodeCount() ;
00413 K_DEPRECATED KFbxGenericNode* GetKFbxGenericNode(int pIndex) ;
00414 K_DEPRECATED int GetKFbxSurfaceMaterialCount() ;
00415 K_DEPRECATED KFbxSurfaceMaterial* GetKFbxSurfaceMaterial(int pIndex) ;
00416 K_DEPRECATED int GetKFbxTextureCount() ;
00417 K_DEPRECATED KFbxTexture* GetKFbxTexture(int pIndex) ;
00418 K_DEPRECATED int GetKFbxVideoCount() ;
00419 K_DEPRECATED KFbxVideo* GetKFbxVideo(int pIndex) ;
00420 K_DEPRECATED int GetKFbxPoseCount() ;
00421 K_DEPRECATED KFbxPose* GetKFbxPose(int pIndex) ;
00422 K_DEPRECATED int GetKFbxLinkCount() ;
00423 K_DEPRECATED KFbxLink* GetKFbxLink(int pIndex) ;
00424 K_DEPRECATED int GetKFbxConstraintCount() ;
00425 K_DEPRECATED int GetKFbxConstraintCount(int pType) ;
00426 K_DEPRECATED KFbxConstraint* GetKFbxConstraint(int pIndex, int pType) ;
00427 K_DEPRECATED int GetKFbxCharacterCount() ;
00428 K_DEPRECATED KFbxCharacter* GetKFbxCharacter(int pIndex) ;
00429 K_DEPRECATED int GetKFbxCharacterPoseCount() ;
00430 K_DEPRECATED KFbxCharacterPose* GetKFbxCharacterPose(int pIndex) ;
00431 K_DEPRECATED int GetKFbxControlSetPlugCount() ;
00432 K_DEPRECATED KFbxControlSetPlug* GetKFbxControlSetPlug(int pIndex) ;
00433 K_DEPRECATED int GetKFbxGeometryWeightedMapCount() ;
00434 K_DEPRECATED KFbxGeometryWeightedMap* GetKFbxGeometryWeightedMap(int pIndex) ;
00435 K_DEPRECATED int GetKFbxSceneCount() ;
00436 K_DEPRECATED KFbxScene* GetKFbxScene(int pIndex) ;
00437
00442 KFbxUserNotification* GetUserNotification();
00444
00445
00446
00447
00448
00449
00450
00451
00452
00453
00454
00455
00456
00457 bool DestroyKFbxLayerElement(KFbxLayerElement* pLayerElement);
00458 KFbxLayerElement* CreateKFbxLayerElement(char const* pName );
00459
00460 bool DestroyKFbxLayerElementNormal(KFbxLayerElementNormal* pLayerElementNormal);
00461 KFbxLayerElementNormal* CreateKFbxLayerElementNormal(char const* pName );
00462
00463 bool DestroyKFbxLayerElementMaterial(KFbxLayerElementMaterial* pLayerElementMaterial);
00464 KFbxLayerElementMaterial* CreateKFbxLayerElementMaterial(char const* pName );
00465
00466 bool DestroyKFbxLayerElementPolygonGroup(KFbxLayerElementPolygonGroup* pLayerElementPolygonGroup);
00467 KFbxLayerElementPolygonGroup* CreateKFbxLayerElementPolygonGroup(char const* pName );
00468
00469 bool DestroyKFbxLayerElementUV(KFbxLayerElementUV* pLayerElementUV);
00470 KFbxLayerElementUV* CreateKFbxLayerElementUV(char const* pName );
00471
00472 bool DestroyKFbxLayerElementVertexColor(KFbxLayerElementVertexColor* pLayerElementVertexColor);
00473 KFbxLayerElementVertexColor* CreateKFbxLayerElementVertexColor(char const* pName );
00474
00475 bool DestroyKFbxLayerElementSmoothing(KFbxLayerElementSmoothing* pLayerElementSmoothing);
00476 KFbxLayerElementSmoothing* CreateKFbxLayerElementSmoothing(char const* pName );
00477
00478 bool DestroyKFbxLayerElementUserData(KFbxLayerElementUserData* pLayerElementUserData);
00479 KFbxLayerElementUserData* CreateKFbxLayerElementUserData(char const* pName, KFbxLayerElementUserData const& pOther );
00480 KFbxLayerElementUserData* CreateKFbxLayerElementUserData(char const* pName, int pId, KArrayTemplate<KFbxDataType>& pDataTypes, KArrayTemplate<const char*>& pDataNames);
00481
00482 bool DestroyKFbxLayerElementVisibility(KFbxLayerElementVisibility* pLayerElementVisibility);
00483 KFbxLayerElementVisibility* CreateKFbxLayerElementVisibility(char const* pName );
00484
00485 bool DestroyKFbxLayerElementTexture(KFbxLayerElementTexture* pLayerElementTexture);
00486 KFbxLayerElementTexture* CreateKFbxLayerElementTexture(char const* pName );
00487
00488
00490
00491
00492
00493
00494
00495
00497
00498 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00499
00500 public:
00501
00502
00503
00504
00505 KFbxProperty* CreateKFbxProperty(KProperty* pProperty);
00506 KFbxCameraSwitcher* CreateKFbxCameraSwitcher();
00507
00508 bool CanDestroyFbxSrcObject(KFbxObject* pObject, KFbxObject* pSrcObject, bool pRecursive, bool pDependents);
00509
00510 void CreateMissingBindPoses(KFbxScene *pScene);
00511 int GetBindPoseCount(KFbxScene *pScene);
00512
00513 bool RegisterPlug(KFbxPlug const *pPlug);
00514 bool UnregisterPlug(KFbxPlug const *pPlug);
00515
00516 private:
00517 kFbxClassId Internal_RegisterClass (char const *pClassName,kFbxClassId pParentClassId,kFbxPlugConstructor=0,char const* pFbxFileTypeName=0,char const* pFbxFileSubTypeName=0);
00518 bool Internal_RegisterClass (kFbxClassId pClassId);
00519 kFbxClassId Internal_OverrideClass (kFbxClassId pClassId,kFbxPlugConstructor=0);
00520
00521
00522 #ifdef K_FBXNEWRENAMING
00523
00524 enum ERenamingMode
00525 {
00526 eMAYA_TO_FBX,
00527 eFBX_TO_MAYA,
00528 eLW_TO_FBX,
00529 eFBX_TO_LW,
00530 eXSI_TO_FBX,
00531 eFBX_TO_XSI,
00532 eMAX_TO_FBX,
00533 eFBX_TO_MAX,
00534 eMB_TO_FBX,
00535 eFBX_TO_MB
00536 };
00537
00538 void RenameFor(ERenamingMode pMode);
00539
00549 void ResolveNameClashing(bool pFromFbx, bool pIgnoreNS, bool pIsCaseSensitive, bool pComvertToWideChar, bool pReplaceNonAlphaNum, KString pNameSpaceSymbol);
00550
00551 #endif
00552
00553
00554 protected:
00555
00556 KFbxSdkManager();
00557 virtual ~KFbxSdkManager();
00558
00559
00560
00561
00562
00563
00564
00565
00566
00567
00568
00569
00570
00571
00572
00573 KArrayTemplate <KFbxLayerElement *> mLayerElement;
00574 KArrayTemplate <KFbxLayerElementNormal *> mLayerElementNormal;
00575 KArrayTemplate <KFbxLayerElementMaterial *> mLayerElementMaterial;
00576 KArrayTemplate <KFbxLayerElementPolygonGroup *> mLayerElementPolygonGroup;
00577 KArrayTemplate <KFbxLayerElementUV *> mLayerElementUV;
00578 KArrayTemplate <KFbxLayerElementVertexColor *> mLayerElementVertexColor;
00579 KArrayTemplate <KFbxLayerElementSmoothing *> mLayerElementSmoothing ;
00580 KArrayTemplate <KFbxLayerElementUserData *> mLayerElementUserData;
00581 KArrayTemplate <KFbxLayerElementVisibility *> mLayerElementVisibility;
00582 KArrayTemplate <KFbxLayerElementTexture *> mLayerElementTexture;
00583
00584
00585
00586
00587
00588
00590 virtual void Clear();
00591
00592
00593 KFbxUserNotification* mUserNotification;
00594
00595 KObjectList* mObjectArray;
00596
00597
00598
00599 KRenamingStrategy* mNodeRenamingStrategy;
00600 KRenamingStrategy* mMaterialRenamingStrategy;
00601 KRenamingStrategy* mTextureRenamingStrategy;
00602 KRenamingStrategy* mVideoRenamingStrategy;
00603
00604 mutable KError mError;
00605
00606 friend class KFbxReaderFbx;
00607 friend class KFbxReaderFbx6;
00608 friend class KFbxWriterFbx;
00609 friend class KFbxWriterFbx6;
00610 friend class KFbxPose;
00611
00612
00613 bool ClassInit();
00614 bool ClassRelease();
00615
00616 private:
00617 KFbxSdkManager_internal* mInternal;
00618
00619 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00620
00621 };
00622
00623 typedef KFbxSdkManager* HKFbxSdkManager;
00624
00625
00626 template < class T > inline int KFbxGetSrcCount(KFbxSdkManager *pObject, T const* VC6Dummy = 0) { return pObject ? pObject->GetSrcObjectCount(T::ClassId) : 0; }
00627 template < class T > inline int KFbxGetSrcCount(KFbxSdkManager *pObject,kFbxClassId pClassId, T const* VC6Dummy = 0) { return pObject ? pObject->GetSrcObjectCount(pClassId) : 0; }
00628 template < class T > inline T* KFbxGetSrc(KFbxSdkManager *pObject,int pIndex=0) { return pObject ? (T *) pObject->GetSrcObject(T::ClassId,pIndex) : 0; }
00629 template < class T > inline T* KFbxGetSrc(KFbxSdkManager *pObject,int pIndex,kFbxClassId pClassId) { return pObject ? (T *) pObject->GetSrcObject(pClassId,pIndex) : 0; }
00630 template < class T > inline T* KFbxFindSrc(KFbxSdkManager *pObject,char const *pName,int pIndex=0) { return pObject ? (T *) pObject->FindSrcObject(T::ClassId,pName,pIndex) : 0; }
00631 template < class T > inline T* KFbxFindSrc(KFbxSdkManager *pObject,char const *pName,kFbxClassId pClassId,int pIndex=0) { return pObject ? (T *) pObject->FindSrcObject(pClassId,pName,pIndex) : 0; }
00632
00633
00634
00635 #include <fbxfilesdk_nsend.h>
00636
00637 #endif // #ifndef _FBXSDK_SDK_MANAGER_H_
00638
00639