FBX SDK Reference Guide: kfbxtakenode.h Source File
Go to the documentation of this file.
00001 
00004 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXTAKENODE_H
00005 #define FBXFILESDK_KFBXPLUGINS_KFBXTAKENODE_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 <fbxfilesdk/components/kbaselib/kaydaradef_h.h>
00043 #include <fbxfilesdk/components/kbaselib/kaydara.h>
00044 
00045 #include <fbxfilesdk/components/kbaselib/klib/kerror.h>
00046 
00047 #include <fbxfilesdk/components/kbaselib/kbaselib_forward.h>
00048 
00049 #include <fbxfilesdk/components/kfcurve/kfcurve_forward.h>
00050 
00051 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00052 
00053 class KFbxGeometry;
00054 class KFbxVector4;
00055 class KFbxProperty;
00056 class KFbxObject;
00057 
00058 #define KFBXTAKENODE_DEFAULT_NAME           "Default"
00059 #define KFBXTAKENODE_ROOT_CURVE_NODE_NAME   "Defaults"
00060 
00061 
00077 class KFBX_DLL KFbxTakeNode
00078 {
00079 
00080 public:
00085 
00089     KFbxTakeNode(char* pName = KFBXTAKENODE_DEFAULT_NAME);
00090 
00094     KFbxTakeNode(KFbxTakeNode& pTakeNode);
00095 
00097     ~KFbxTakeNode();
00098 
00100 
00105 
00109     void SetName(char* pName);
00110 
00114     char* GetName();
00115 
00117 
00123 
00128     KFCurveNode* GetKFCurveNode();
00129 
00135     K_DEPRECATED KFCurve* GetTranslationX();
00136 
00142     K_DEPRECATED KFCurve* GetTranslationY();
00143 
00149     K_DEPRECATED KFCurve* GetTranslationZ();
00150 
00156     K_DEPRECATED KFCurve* GetEulerRotationX();
00157 
00163     K_DEPRECATED KFCurve* GetEulerRotationY();
00164 
00170     K_DEPRECATED KFCurve* GetEulerRotationZ();
00171 
00177     K_DEPRECATED KFCurve* GetScaleX();
00178 
00184     K_DEPRECATED KFCurve* GetScaleY();
00185 
00191     K_DEPRECATED KFCurve* GetScaleZ();
00192 
00199     K_DEPRECATED KFCurve* GetVisibility();
00200 
00202 
00209 
00216     K_DEPRECATED KFCurve* GetColorR();
00217 
00224     K_DEPRECATED KFCurve* GetColorG();
00225 
00232     K_DEPRECATED KFCurve* GetColorB();
00233 
00241     K_DEPRECATED KFCurve* GetLightIntensity();
00242 
00251     K_DEPRECATED KFCurve* GetLightConeAngle();
00252 
00261     K_DEPRECATED KFCurve* GetLightFog();
00262 
00264 
00271 
00285     K_DEPRECATED KFCurve* GetCameraFieldOfView();
00286 
00295     K_DEPRECATED KFCurve* GetCameraFieldOfViewX();
00296 
00305     K_DEPRECATED KFCurve* GetCameraFieldOfViewY();
00306 
00313     K_DEPRECATED KFCurve* GetCameraFocalLength();
00314 
00323     KFCurve* GetCameraOpticalCenterX();
00324 
00333     K_DEPRECATED KFCurve* GetCameraOpticalCenterY();
00334 
00341     K_DEPRECATED KFCurve* GetCameraRoll();
00342 
00349     K_DEPRECATED KFCurve* GetCameraTurnTable();
00350 
00357     K_DEPRECATED KFCurve* GetBackgroundColorR();
00358 
00365     K_DEPRECATED KFCurve* GetBackgroundColorG();
00366 
00373     K_DEPRECATED KFCurve* GetBackgroundColorB();
00374 
00376 
00383 
00391     K_DEPRECATED KFCurve* GetCameraIndex();
00392 
00394 
00395 
00402 
00413     K_DEPRECATED KFCurve* GetShapeChannel(KFbxGeometry* pGeometry, int pShapeIndex);
00414 
00416 
00423 
00431     K_DEPRECATED KFCurve* GetOcclusion();
00432 
00440     K_DEPRECATED KFCurve* GetIKReachTranslation();
00441 
00449     K_DEPRECATED KFCurve* GetIKReachRotation();
00450 
00452 
00458 
00464     K_DEPRECATED KFCurve* GetTextureTranslationX();
00470     K_DEPRECATED KFCurve const* GetTextureTranslationX() const;
00471 
00477     K_DEPRECATED KFCurve* GetTextureTranslationY();
00483     K_DEPRECATED KFCurve const* GetTextureTranslationY() const;
00484 
00490     K_DEPRECATED KFCurve* GetTextureTranslationZ();
00496     K_DEPRECATED KFCurve const* GetTextureTranslationZ() const;
00497 
00503     K_DEPRECATED KFCurve* GetTextureEulerRotationX();
00509     K_DEPRECATED KFCurve const* GetTextureEulerRotationX() const;
00510 
00516     K_DEPRECATED KFCurve* GetTextureEulerRotationY();
00522     K_DEPRECATED KFCurve const* GetTextureEulerRotationY() const;
00523 
00529     K_DEPRECATED KFCurve* GetTextureEulerRotationZ();
00535     K_DEPRECATED KFCurve const* GetTextureEulerRotationZ() const;
00536 
00542     K_DEPRECATED KFCurve* GetTextureScaleX();
00548     K_DEPRECATED KFCurve const* GetTextureScaleX() const;
00549 
00555     K_DEPRECATED KFCurve* GetTextureScaleY();
00561     K_DEPRECATED KFCurve const* GetTextureScaleY() const;
00562 
00568     K_DEPRECATED KFCurve* GetTextureScaleZ();
00574     K_DEPRECATED KFCurve const* GetTextureScaleZ() const;
00575 
00581     K_DEPRECATED KFCurve* GetTextureAlpha();
00582 
00584 
00590 
00596     K_DEPRECATED KFCurve* GetMaterialEmissiveColorR();
00597 
00603     K_DEPRECATED KFCurve* GetMaterialEmissiveColorG();
00604 
00610     K_DEPRECATED KFCurve* GetMaterialEmissiveColorB();
00611 
00617     K_DEPRECATED KFCurve* GetMaterialAmbientColorR();
00618 
00624     K_DEPRECATED KFCurve* GetMaterialAmbientColorG();
00625 
00631     K_DEPRECATED KFCurve* GetMaterialAmbientColorB();
00632 
00638     K_DEPRECATED KFCurve* GetMaterialDiffuseColorR();
00639 
00645     K_DEPRECATED KFCurve* GetMaterialDiffuseColorG();
00646 
00652     K_DEPRECATED KFCurve* GetMaterialDiffuseColorB();
00653 
00659     K_DEPRECATED KFCurve* GetMaterialSpecularColorR();
00660 
00666     K_DEPRECATED KFCurve* GetMaterialSpecularColorG();
00667 
00673     K_DEPRECATED KFCurve* GetMaterialSpecularColorB();
00674 
00680     K_DEPRECATED KFCurve* GetMaterialOpacity();
00681 
00687     K_DEPRECATED KFCurve* GetMaterialReflectivity();
00688 
00694     K_DEPRECATED KFCurve* GetMaterialShininess();
00695 
00697 
00703 
00709     K_DEPRECATED KFCurve* GetConstraintObjectWeight(KFbxObject* pObject);
00710 
00716     K_DEPRECATED KFCurve* GetPositionConstraintOffsetX();
00717 
00723     K_DEPRECATED KFCurve* GetPositionConstraintOffsetY();
00724 
00730     K_DEPRECATED KFCurve* GetPositionConstraintOffsetZ();
00731 
00737     K_DEPRECATED KFCurve* GetRotationConstraintOffsetX();
00738 
00744     K_DEPRECATED KFCurve* GetRotationConstraintOffsetY();
00745 
00751     K_DEPRECATED KFCurve* GetRotationConstraintOffsetZ();
00752 
00758     K_DEPRECATED KFCurve* GetScaleConstraintOffsetX();
00759 
00765     K_DEPRECATED KFCurve* GetScaleConstraintOffsetY();
00766 
00772     K_DEPRECATED KFCurve* GetScaleConstraintOffsetZ();
00773 
00779     K_DEPRECATED KFCurve* GetParentConstraintRotationOffsetX(KFbxObject* pObject);
00780 
00786     K_DEPRECATED KFCurve* GetParentConstraintRotationOffsetY(KFbxObject* pObject);
00787 
00793     K_DEPRECATED KFCurve* GetParentConstraintRotationOffsetZ(KFbxObject* pObject);
00794 
00800     K_DEPRECATED KFCurve* GetParentConstraintTranslationOffsetX(KFbxObject* pObject);
00801 
00807     K_DEPRECATED KFCurve* GetParentConstraintTranslationOffsetY(KFbxObject* pObject);
00808 
00814     K_DEPRECATED KFCurve* GetParentConstraintTranslationOffsetZ(KFbxObject* pObject);
00815 
00821     K_DEPRECATED KFCurve* GetAimConstraintOffsetX();
00822 
00828     K_DEPRECATED KFCurve* GetAimConstraintOffsetY();
00829 
00835     K_DEPRECATED KFCurve* GetAimConstraintOffsetZ();
00836 
00842     K_DEPRECATED KFCurve* GetAimConstraintWorldUpVectorX();
00843 
00849     K_DEPRECATED KFCurve* GetAimConstraintWorldUpVectorY();
00850 
00856     K_DEPRECATED KFCurve* GetAimConstraintWorldUpVectorZ();
00857 
00863     K_DEPRECATED KFCurve* GetAimConstraintAimVectorX();
00864 
00870     K_DEPRECATED KFCurve* GetAimConstraintAimVectorY();
00871 
00877     K_DEPRECATED KFCurve* GetAimConstraintAimVectorZ();
00878 
00884     K_DEPRECATED KFCurve* GetAimConstraintUpVectorX();
00885 
00891     K_DEPRECATED KFCurve* GetAimConstraintUpVectorY();
00892 
00898     K_DEPRECATED KFCurve* GetAimConstraintUpVectorZ();
00899 
00905     K_DEPRECATED KFCurve* GetSCIKConstraintWeight();
00906 
00912     K_DEPRECATED KFCurve* GetSCIKConstraintTwist();
00913 
00919     K_DEPRECATED KFCurve* GetSCIKConstraintPoleVectorX();
00920 
00926     K_DEPRECATED KFCurve* GetSCIKConstraintPoleVectorY();
00927 
00933     K_DEPRECATED KFCurve* GetSCIKConstraintPoleVectorZ();
00934 
00936 
00941 
00948     K_DEPRECATED KFCurveNode* GetPropertyAnimation(KFbxProperty* pProperty);
00949 
00957     K_DEPRECATED KFCurve* GetPropertyAnimation(KFbxProperty* pProperty, kUInt pComponentIndex);
00958 
00960 
00965 
00969     KError& GetError();
00970 
00973     typedef enum
00974     {
00975         eNO_CURVE_FOUND, 
00976         eERROR_COUNT     
00977     } EError;
00978 
00982     EError GetLastErrorID() const;
00983 
00987     const char* GetLastErrorString() const;
00988 
00990 
00996 
01004     bool GetAnimationInterval(KTime& pStart, KTime& pStop);
01005 
01010     bool AddRotationToTranslation(KFbxVector4 pRotation);
01011 
01012 
01014 
01016 //
01017 //  WARNING!
01018 //
01019 //  Anything beyond these lines may not be documented accurately and is
01020 //  subject to change without notice.
01021 //
01023 
01024 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01025 
01026 public:
01027 
01028     bool IsChannelAnimated(char* pGroup, char* pSubGroup, char* pName);
01029     bool IsChannelAnimated(char* pGroup, char* pSubGroup, KDataType* pDataType);
01030 
01031 private:
01032 
01033     void DeleteRecursive(KFCurveNode* pNode);
01034     KFCurve* GetKFCurve(char* pGroup, char* pSubGroup, char* pName);
01035     KFCurve const* GetKFCurve(char* pGroup, char* pSubGroup, char* pName) const;
01036     KFCurve* GetKFCurve(char* pGroup, char* pSubGroup, KDataType* pDataType);
01037     KFCurve const* GetKFCurve(char* pGroup, char* pSubGroup, KDataType* pDataType) const;
01038 
01039     KString mName;
01040     KFCurveNode* mNode;
01041 
01042     KError mError;
01043 
01044     friend class KFbxTakeNodeContainer;
01045 
01046 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
01047 
01048 };
01049 
01050 typedef KFbxTakeNode* HKFbxTakeNode;
01051 
01052 #include <fbxfilesdk/fbxfilesdk_nsend.h>
01053 
01054 #endif // FBXFILESDK_KFBXPLUGINS_KFBXTAKENODE_H
01055