00001 00003 #ifndef FBXFILESDK_FBXCORE_FBXCOLLECTION_KFBXDOCUMENTINFO_H 00004 #define FBXFILESDK_FBXCORE_FBXCOLLECTION_KFBXDOCUMENTINFO_H 00005 00006 /************************************************************************************** 00007 00008 Copyright (C) 2001 - 2009 Autodesk, Inc. and/or its licensors. 00009 All Rights Reserved. 00010 00011 The coded instructions, statements, computer programs, and/or related material 00012 (collectively the "Data") in these files contain unpublished information 00013 proprietary to Autodesk, Inc. and/or its licensors, which is protected by 00014 Canada and United States of America federal copyright law and by international 00015 treaties. 00016 00017 The Data may not be disclosed or distributed to third parties, in whole or in 00018 part, without the prior written consent of Autodesk, Inc. ("Autodesk"). 00019 00020 THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY. 00021 ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO 00022 WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR ARISING 00023 BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES OF TITLE, 00024 NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR USE. 00025 WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT WARRANT THAT THE OPERATION 00026 OF THE DATA WILL BE UNINTERRUPTED OR ERROR FREE. 00027 00028 IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS 00029 OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR EXPENSES 00030 OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE DAMAGES OR OTHER 00031 SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS OF PROFITS, REVENUE 00032 OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR DAMAGES OF ANY KIND), 00033 HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF LIABILITY, WHETHER DERIVED 00034 FROM CONTRACT, TORT (INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE), OR OTHERWISE, 00035 ARISING OUT OF OR RELATING TO THE DATA OR ITS USE OR ANY OTHER PERFORMANCE, 00036 WHETHER OR NOT AUTODESK HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS 00037 OR DAMAGE. 00038 00039 **************************************************************************************/ 00040 00041 #include <fbxfilesdk/components/kbaselib/kaydaradef_h.h> 00042 #include <fbxfilesdk/components/kbaselib/kaydara.h> 00043 00044 #include <fbxfilesdk/components/kbaselib/klib/kstring.h> 00045 #include <fbxfilesdk/kfbxplugins/kfbxobject.h> 00046 00047 class KStreamFbx; 00048 00049 #include <fbxfilesdk/fbxfilesdk_nsbegin.h> 00050 00051 class KFbxThumbnail; 00052 class KFbxSdkManager; 00053 00056 class KFBX_DLL KFbxDocumentInfo : public KFbxObject 00057 { 00058 KFBXOBJECT_DECLARE(KFbxDocumentInfo,KFbxObject); 00059 00064 public: 00065 KFbxTypedProperty<fbxString> LastSavedUrl; 00066 KFbxTypedProperty<fbxString> Url; 00067 00069 // should be set once, when the file is created, and should be left alone 00070 // on subsequent save/reload operations. 00071 // 00072 // Below are the default properties, but application vendors can add new 00073 // properties under this parent property. 00074 KFbxProperty Original; 00075 00076 KFbxTypedProperty<fbxString> Original_ApplicationVendor; // "CompanyName" 00077 KFbxTypedProperty<fbxString> Original_ApplicationName; // "UberGizmo" 00078 KFbxTypedProperty<fbxString> Original_ApplicationVersion; // "2009.10" 00079 00080 KFbxTypedProperty<fbxString> Original_FileName; // "foo.bar" 00081 00083 KFbxTypedProperty<fbxDateTime> Original_DateTime_GMT; 00084 00086 // should be updated every time a file is saved. 00087 // 00088 // Below are the default properties, but application vendors can add new 00089 // properties under this parent property. 00090 // 00091 // It is up to the file creator to set both the 'Original' and 00092 // 'Last Saved' properties. 00093 KFbxProperty LastSaved; 00094 00095 KFbxTypedProperty<fbxString> LastSaved_ApplicationVendor; 00096 KFbxTypedProperty<fbxString> LastSaved_ApplicationName; 00097 KFbxTypedProperty<fbxString> LastSaved_ApplicationVersion; 00098 00100 KFbxTypedProperty<fbxDateTime> LastSaved_DateTime_GMT; 00101 00107 KFbxTypedProperty<fbxString> EmbeddedUrl; 00109 00110 00116 public: 00118 KString mTitle; 00119 00121 KString mSubject; 00122 00124 KString mAuthor; 00125 00127 KString mKeywords; 00128 00130 KString mRevision; 00131 00133 KString mComment; 00135 00139 00143 KFbxThumbnail* GetSceneThumbnail(); 00144 00148 void SetSceneThumbnail(KFbxThumbnail* pSceneThumbnail); 00150 00155 void Clear(); 00156 00160 KFbxDocumentInfo& operator=(const KFbxDocumentInfo& pDocumentInfo); 00161 00163 // 00164 // WARNING! 00165 // 00166 // Anything beyond these lines may not be documented accurately and is 00167 // subject to change without notice. 00168 // 00170 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00171 00172 public: 00173 virtual KFbxObject* Clone(KFbxObject* pContainer, KFbxObject::ECloneType pCloneType) const; 00174 00175 protected: 00177 KFbxDocumentInfo(KFbxSdkManager& pManager,char const *pName); 00178 00179 bool ConstructProperties(bool pForceSet); 00180 00181 KFbxThumbnail* mSceneThumbnail; 00182 00183 friend class KStreamFbx; 00184 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS 00185 }; 00186 00187 typedef KFbxDocumentInfo* HKFbxDocumentInfo; 00188 00189 // Backward compatibility 00190 // -------------------------------------------------------------- 00191 00192 // typedef KFbxDocumentInfo* HKFbxDocumentInfo; 00193 // typedef KFbxDocumentInfo* HKFbxDocumentInfo; 00194 00195 #include <fbxfilesdk/fbxfilesdk_nsend.h> 00196 00197 #endif // FBXFILESDK_FBXCORE_FBXCOLLECTION_KFBXDOCUMENTINFO_H 00198