00001 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXBINDINGTABLE_H 00002 #define FBXFILESDK_KFBXPLUGINS_KFBXBINDINGTABLE_H 00003 00004 /************************************************************************************** 00005 00006 Copyright © 2001 - 2008 Autodesk, Inc. and/or its licensors. 00007 All Rights Reserved. 00008 00009 The coded instructions, statements, computer programs, and/or related material 00010 (collectively the "Data") in these files contain unpublished information 00011 proprietary to Autodesk, Inc. and/or its licensors, which is protected by 00012 Canada and United States of America federal copyright law and by international 00013 treaties. 00014 00015 The Data may not be disclosed or distributed to third parties, in whole or in 00016 part, without the prior written consent of Autodesk, Inc. ("Autodesk"). 00017 00018 THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY. 00019 ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO 00020 WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR ARISING 00021 BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES OF TITLE, 00022 NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR USE. 00023 WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT WARRANT THAT THE OPERATION 00024 OF THE DATA WILL BE UNINTERRUPTED OR ERROR FREE. 00025 00026 IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS 00027 OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR EXPENSES 00028 OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE DAMAGES OR OTHER 00029 SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS OF PROFITS, REVENUE 00030 OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR DAMAGES OF ANY KIND), 00031 HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF LIABILITY, WHETHER DERIVED 00032 FROM CONTRACT, TORT (INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE), OR OTHERWISE, 00033 ARISING OUT OF OR RELATING TO THE DATA OR ITS USE OR ANY OTHER PERFORMANCE, 00034 WHETHER OR NOT AUTODESK HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS 00035 OR DAMAGE. 00036 00037 **************************************************************************************/ 00038 00039 #include <fbxfilesdk/components/kbaselib/kaydaradef_h.h> 00040 // FBX SDK includes 00041 #include <fbxfilesdk/kfbxplugins/kfbxbindingtablebase.h> 00042 00043 // FBX namespace 00044 #include <fbxfilesdk/fbxfilesdk_nsbegin.h> 00045 00051 class KFBX_DLL KFbxBindingTable : public KFbxBindingTableBase 00052 { 00053 KFBXOBJECT_DECLARE(KFbxBindingTable,KFbxBindingTableBase); 00054 00055 public: 00056 KFbxBindingTable& operator=(KFbxBindingTable const& pTable); 00057 00058 // Target name and type 00059 KFbxTypedProperty<fbxString> TargetName; 00060 KFbxTypedProperty<fbxString> TargetType; 00061 00062 // Relative URL of file containing the shader implementation description 00063 // eg.: ./shader.mi 00064 KFbxTypedProperty<fbxString> DescRelativeURL; 00065 00066 // Absolute URL of file containing the shader implementation description 00067 // eg.: file:///usr/tmp/shader.mi 00068 KFbxTypedProperty<fbxString> DescAbsoluteURL; 00069 00070 // Identifyies the shader to use in previous decription's URL 00071 // eg.: MyOwnShader 00072 KFbxTypedProperty<fbxString> DescTAG; 00073 00074 // Relative URL of file containing the shader implementation code 00075 // eg.: ./bin/shader.dll 00076 KFbxTypedProperty<fbxString> CodeRelativeURL; 00077 00078 // Absolute URL of file containing the shader implementation code 00079 // eg.: file:///usr/tmp/bin/shader.dll 00080 KFbxTypedProperty<fbxString> CodeAbsoluteURL; 00081 00082 // Identifyies the shader function entry to use in previous code's URL 00083 // eg.: MyOwnShaderFunc 00084 KFbxTypedProperty<fbxString> CodeTAG; 00085 00086 00088 // Static values 00090 00091 // property names 00092 static const char* sTargetName; 00093 static const char* sTargetType; 00094 static const char* sDescRelativeURL; 00095 static const char* sDescAbsoluteURL; 00096 static const char* sDescTAG; 00097 static const char* sCodeRelativeURL; 00098 static const char* sCodeAbsoluteURL; 00099 static const char* sCodeTAG; 00100 00101 // property default values 00102 static const char* sDefaultTargetName; 00103 static const char* sDefaultTargetType; 00104 static const char* sDefaultDescRelativeURL; 00105 static const char* sDefaultDescAbsoluteURL; 00106 static const char* sDefaultDescTAG; 00107 static const char* sDefaultCodeRelativeURL; 00108 static const char* sDefaultCodeAbsoluteURL; 00109 static const char* sDefaultCodeTAG; 00110 00111 00113 // 00114 // WARNING! 00115 // 00116 // Anything beyond these lines may not be documented accurately and is 00117 // subject to change without notice. 00118 // 00120 00121 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00122 00123 private: 00124 KFbxObject* Clone(KFbxObject* pContainer, KFbxObject::ECloneType pCloneType) const; 00125 KFbxBindingTable(KFbxSdkManager& pManager, char const* pName); 00126 virtual ~KFbxBindingTable(); 00127 00128 virtual bool ConstructProperties(bool pForceSet); 00129 00130 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS 00131 00132 }; 00133 00134 #include <fbxfilesdk/fbxfilesdk_nsend.h> 00135 00136 #endif // FBXFILESDK_KFBXPLUGINS_KFBXBINDINGTABLE_H 00137