FBX SDK Reference Guide: kfbxtakenode.h Source File
Go to the documentation of this file.
00001 
00004 #ifndef _FBXSDK_TAKE_NODE_H_
00005 #define _FBXSDK_TAKE_NODE_H_
00006 
00007 /**************************************************************************************
00008 
00009  Copyright © 2001 - 2008 Autodesk, Inc. and/or its licensors.
00010  All Rights Reserved.
00011 
00012  The coded instructions, statements, computer programs, and/or related material 
00013  (collectively the "Data") in these files contain unpublished information 
00014  proprietary to Autodesk, Inc. and/or its licensors, which is protected by 
00015  Canada and United States of America federal copyright law and by international 
00016  treaties. 
00017  
00018  The Data may not be disclosed or distributed to third parties, in whole or in
00019  part, without the prior written consent of Autodesk, Inc. ("Autodesk").
00020 
00021  THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
00022  ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
00023  WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR ARISING
00024  BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES OF TITLE, 
00025  NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR USE. 
00026  WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT WARRANT THAT THE OPERATION
00027  OF THE DATA WILL BE UNINTERRUPTED OR ERROR FREE. 
00028  
00029  IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
00030  OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR EXPENSES
00031  OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE DAMAGES OR OTHER
00032  SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS OF PROFITS, REVENUE
00033  OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR DAMAGES OF ANY KIND),
00034  HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF LIABILITY, WHETHER DERIVED
00035  FROM CONTRACT, TORT (INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE), OR OTHERWISE,
00036  ARISING OUT OF OR RELATING TO THE DATA OR ITS USE OR ANY OTHER PERFORMANCE,
00037  WHETHER OR NOT AUTODESK HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS
00038  OR DAMAGE. 
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/kerror.h>
00050 
00051 #ifndef MB_FBXSDK
00052 #include <kbaselib_nsuse.h>
00053 #endif
00054 #include <kbaselib_forward.h>
00055 
00056 #include <kfcurve/kfcurve_forward.h>
00057 #ifndef MB_FBXSDK
00058 #include <kfcurve/kfcurve_nsuse.h>
00059 #endif
00060 
00061 #include <fbxfilesdk_nsbegin.h>
00062 
00063 class KFbxGeometry;
00064 class KFbxVector4;
00065 class KFbxProperty;
00066 class KFbxObject;
00067 
00068 #define KFBXTAKENODE_DEFAULT_NAME           "Default"
00069 #define KFBXTAKENODE_ROOT_CURVE_NODE_NAME   "Defaults"
00070 
00071 
00087 class KFBX_DLL KFbxTakeNode
00088 {
00089 
00090 public:
00095 
00099     KFbxTakeNode(char* pName = KFBXTAKENODE_DEFAULT_NAME);
00100 
00104     KFbxTakeNode(KFbxTakeNode& pTakeNode);
00105 
00107     ~KFbxTakeNode();
00108 
00110 
00115 
00119     void SetName(char* pName);
00120 
00124     char* GetName();
00125 
00127 
00133 
00138     KFCurveNode* GetKFCurveNode();
00139 
00145     K_DEPRECATED KFCurve* GetTranslationX();
00146 
00152     K_DEPRECATED KFCurve* GetTranslationY();
00153 
00159     K_DEPRECATED KFCurve* GetTranslationZ();
00160 
00166     K_DEPRECATED KFCurve* GetEulerRotationX();
00167 
00173     K_DEPRECATED KFCurve* GetEulerRotationY();
00174 
00180     K_DEPRECATED KFCurve* GetEulerRotationZ();
00181 
00187     K_DEPRECATED KFCurve* GetScaleX();
00188 
00194     K_DEPRECATED KFCurve* GetScaleY();
00195 
00201     K_DEPRECATED KFCurve* GetScaleZ();
00202 
00209     K_DEPRECATED KFCurve* GetVisibility();
00210 
00212 
00219 
00226     K_DEPRECATED KFCurve* GetColorR();
00227 
00234     K_DEPRECATED KFCurve* GetColorG();
00235 
00242     K_DEPRECATED KFCurve* GetColorB();
00243 
00251     K_DEPRECATED KFCurve* GetLightIntensity();
00252 
00261     K_DEPRECATED KFCurve* GetLightConeAngle();
00262 
00271     K_DEPRECATED KFCurve* GetLightFog();
00272 
00274 
00281 
00295     K_DEPRECATED KFCurve* GetCameraFieldOfView();
00296 
00305     K_DEPRECATED KFCurve* GetCameraFieldOfViewX();
00306 
00315     K_DEPRECATED KFCurve* GetCameraFieldOfViewY();
00316 
00323     K_DEPRECATED KFCurve* GetCameraFocalLength();
00324 
00333     KFCurve* GetCameraOpticalCenterX();
00334 
00343     K_DEPRECATED KFCurve* GetCameraOpticalCenterY();
00344 
00351     K_DEPRECATED KFCurve* GetCameraRoll();
00352 
00359     K_DEPRECATED KFCurve* GetCameraTurnTable();
00360 
00367     K_DEPRECATED KFCurve* GetBackgroundColorR();
00368 
00375     K_DEPRECATED KFCurve* GetBackgroundColorG();
00376 
00383     K_DEPRECATED KFCurve* GetBackgroundColorB();
00384 
00386 
00393 
00401     K_DEPRECATED KFCurve* GetCameraIndex();
00402 
00404 
00405 
00412 
00423     K_DEPRECATED KFCurve* GetShapeChannel(KFbxGeometry* pGeometry, int pShapeIndex);
00424 
00426 
00433 
00441     K_DEPRECATED KFCurve* GetOcclusion();
00442 
00450     K_DEPRECATED KFCurve* GetIKReachTranslation();
00451 
00459     K_DEPRECATED KFCurve* GetIKReachRotation();
00460 
00462 
00468 
00474     K_DEPRECATED KFCurve* GetTextureTranslationX();
00480     K_DEPRECATED KFCurve const* GetTextureTranslationX() const;
00481 
00487     K_DEPRECATED KFCurve* GetTextureTranslationY();
00493     K_DEPRECATED KFCurve const* GetTextureTranslationY() const;
00494 
00500     K_DEPRECATED KFCurve* GetTextureTranslationZ();
00506     K_DEPRECATED KFCurve const* GetTextureTranslationZ() const;
00507 
00513     K_DEPRECATED KFCurve* GetTextureEulerRotationX();
00519     K_DEPRECATED KFCurve const* GetTextureEulerRotationX() const;
00520 
00526     K_DEPRECATED KFCurve* GetTextureEulerRotationY();
00532     K_DEPRECATED KFCurve const* GetTextureEulerRotationY() const;
00533 
00539     K_DEPRECATED KFCurve* GetTextureEulerRotationZ();
00545     K_DEPRECATED KFCurve const* GetTextureEulerRotationZ() const;
00546 
00552     K_DEPRECATED KFCurve* GetTextureScaleX();
00558     K_DEPRECATED KFCurve const* GetTextureScaleX() const;
00559 
00565     K_DEPRECATED KFCurve* GetTextureScaleY();
00571     K_DEPRECATED KFCurve const* GetTextureScaleY() const;
00572 
00578     K_DEPRECATED KFCurve* GetTextureScaleZ();
00584     K_DEPRECATED KFCurve const* GetTextureScaleZ() const;
00585 
00591     K_DEPRECATED KFCurve* GetTextureAlpha();
00592 
00594 
00600 
00606     K_DEPRECATED KFCurve* GetMaterialEmissiveColorR();
00607 
00613     K_DEPRECATED KFCurve* GetMaterialEmissiveColorG();
00614 
00620     K_DEPRECATED KFCurve* GetMaterialEmissiveColorB();
00621 
00627     K_DEPRECATED KFCurve* GetMaterialAmbientColorR();
00628 
00634     K_DEPRECATED KFCurve* GetMaterialAmbientColorG();
00635 
00641     K_DEPRECATED KFCurve* GetMaterialAmbientColorB();
00642 
00648     K_DEPRECATED KFCurve* GetMaterialDiffuseColorR();
00649 
00655     K_DEPRECATED KFCurve* GetMaterialDiffuseColorG();
00656 
00662     K_DEPRECATED KFCurve* GetMaterialDiffuseColorB();
00663 
00669     K_DEPRECATED KFCurve* GetMaterialSpecularColorR();
00670 
00676     K_DEPRECATED KFCurve* GetMaterialSpecularColorG();
00677 
00683     K_DEPRECATED KFCurve* GetMaterialSpecularColorB();
00684 
00690     K_DEPRECATED KFCurve* GetMaterialOpacity();
00691 
00697     K_DEPRECATED KFCurve* GetMaterialReflectivity();
00698 
00704     K_DEPRECATED KFCurve* GetMaterialShininess();
00705 
00707 
00713 
00719     K_DEPRECATED KFCurve* GetConstraintObjectWeight(KFbxObject* pObject);
00720 
00726     K_DEPRECATED KFCurve* GetPositionConstraintOffsetX();
00727 
00733     K_DEPRECATED KFCurve* GetPositionConstraintOffsetY();
00734 
00740     K_DEPRECATED KFCurve* GetPositionConstraintOffsetZ();
00741 
00747     K_DEPRECATED KFCurve* GetRotationConstraintOffsetX();
00748 
00754     K_DEPRECATED KFCurve* GetRotationConstraintOffsetY();
00755 
00761     K_DEPRECATED KFCurve* GetRotationConstraintOffsetZ();
00762 
00768     K_DEPRECATED KFCurve* GetScaleConstraintOffsetX();
00769 
00775     K_DEPRECATED KFCurve* GetScaleConstraintOffsetY();
00776 
00782     K_DEPRECATED KFCurve* GetScaleConstraintOffsetZ();
00783 
00789     K_DEPRECATED KFCurve* GetParentConstraintRotationOffsetX(KFbxObject* pObject);
00790 
00796     K_DEPRECATED KFCurve* GetParentConstraintRotationOffsetY(KFbxObject* pObject);
00797 
00803     K_DEPRECATED KFCurve* GetParentConstraintRotationOffsetZ(KFbxObject* pObject);
00804 
00810     K_DEPRECATED KFCurve* GetParentConstraintTranslationOffsetX(KFbxObject* pObject);
00811 
00817     K_DEPRECATED KFCurve* GetParentConstraintTranslationOffsetY(KFbxObject* pObject);
00818 
00824     K_DEPRECATED KFCurve* GetParentConstraintTranslationOffsetZ(KFbxObject* pObject);
00825 
00831     K_DEPRECATED KFCurve* GetAimConstraintOffsetX();
00832 
00838     K_DEPRECATED KFCurve* GetAimConstraintOffsetY();
00839 
00845     K_DEPRECATED KFCurve* GetAimConstraintOffsetZ();
00846 
00852     K_DEPRECATED KFCurve* GetAimConstraintWorldUpVectorX();
00853 
00859     K_DEPRECATED KFCurve* GetAimConstraintWorldUpVectorY();
00860 
00866     K_DEPRECATED KFCurve* GetAimConstraintWorldUpVectorZ();
00867 
00873     K_DEPRECATED KFCurve* GetAimConstraintAimVectorX();
00874 
00880     K_DEPRECATED KFCurve* GetAimConstraintAimVectorY();
00881 
00887     K_DEPRECATED KFCurve* GetAimConstraintAimVectorZ();
00888 
00894     K_DEPRECATED KFCurve* GetAimConstraintUpVectorX();
00895 
00901     K_DEPRECATED KFCurve* GetAimConstraintUpVectorY();
00902 
00908     K_DEPRECATED KFCurve* GetAimConstraintUpVectorZ();
00909 
00915     K_DEPRECATED KFCurve* GetSCIKConstraintWeight();
00916 
00922     K_DEPRECATED KFCurve* GetSCIKConstraintTwist();
00923 
00929     K_DEPRECATED KFCurve* GetSCIKConstraintPoleVectorX();
00930 
00936     K_DEPRECATED KFCurve* GetSCIKConstraintPoleVectorY();
00937 
00943     K_DEPRECATED KFCurve* GetSCIKConstraintPoleVectorZ();
00944 
00946 
00951 
00958     K_DEPRECATED KFCurveNode* GetPropertyAnimation(KFbxProperty* pProperty);
00959 
00967     K_DEPRECATED KFCurve* GetPropertyAnimation(KFbxProperty* pProperty, kUInt pComponentIndex);
00968 
00970 
00975 
00979     KError& GetError();
00980 
00983     typedef enum
00984     {
00985         eNO_CURVE_FOUND, 
00986         eERROR_COUNT     
00987     } EError;
00988 
00992     EError GetLastErrorID() const;
00993 
00997     const char* GetLastErrorString() const;
00998 
01000 
01006 
01014     bool GetAnimationInterval(KTime& pStart, KTime& pStop);
01015 
01020     bool AddRotationToTranslation(KFbxVector4 pRotation);
01021 
01022 
01024 
01026 //
01027 //  WARNING!
01028 //
01029 //  Anything beyond these lines may not be documented accurately and is
01030 //  subject to change without notice.
01031 //
01033 
01034 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01035 
01036 public:
01037 
01038     bool IsChannelAnimated(char* pGroup, char* pSubGroup, char* pName);
01039     bool IsChannelAnimated(char* pGroup, char* pSubGroup, KDataType* pDataType);
01040 
01041 private:
01042 
01043     void DeleteRecursive(KFCurveNode* pNode);
01044     KFCurve* GetKFCurve(char* pGroup, char* pSubGroup, char* pName);
01045     KFCurve const* GetKFCurve(char* pGroup, char* pSubGroup, char* pName) const;
01046     KFCurve* GetKFCurve(char* pGroup, char* pSubGroup, KDataType* pDataType);
01047     KFCurve const* GetKFCurve(char* pGroup, char* pSubGroup, KDataType* pDataType) const;
01048 
01049     KString mName;
01050     KFCurveNode* mNode;
01051 
01052     KError mError;
01053 
01054     friend class KFbxTakeNodeContainer;
01055 
01056 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
01057 
01058 };
01059 
01060 typedef KFbxTakeNode* HKFbxTakeNode;
01061 
01062 #include <fbxfilesdk_nsend.h>
01063 
01064 #endif // #ifndef _FBXSDK_TAKE_NODE_H_
01065 
01066