1 | /**************************************************************************************** |
2 | |
3 | Copyright (C) 2015 Autodesk, Inc. |
4 | All rights reserved. |
5 | |
6 | Use of this software is subject to the terms of the Autodesk license agreement |
7 | provided at the time of installation or download, or which otherwise accompanies |
8 | this software in either electronic or hard copy form. |
9 | |
10 | ****************************************************************************************/ |
11 | |
12 | //! \file fbxdocumentinfo.h |
13 | #ifndef _FBXSDK_SCENE_DOCUMENT_INFO_H_ |
14 | #define _FBXSDK_SCENE_DOCUMENT_INFO_H_ |
15 | |
16 | #include <fbxsdk/fbxsdk_def.h> |
17 | |
18 | #include <fbxsdk/core/fbxobject.h> |
19 | |
20 | #include <fbxsdk/fbxsdk_nsbegin.h> |
21 | |
22 | class FbxThumbnail; |
23 | |
24 | /** This class contains scene thumbnails and user-defined summary data. |
25 | */ |
26 | class FBXSDK_DLL FbxDocumentInfo : public FbxObject |
27 | { |
28 | FBXSDK_OBJECT_DECLARE(FbxDocumentInfo, FbxObject); |
29 | |
30 | public: |
31 | /** |
32 | * \name Public properties |
33 | */ |
34 | //@{ |
35 | /** This property contains the last saved URL. |
36 | * |
37 | * To retrieve the value of this property, use LastSavedUrl.Get(). |
38 | * To set the value of this property, use LastSavedUrl.Set(FbxString). |
39 | * |
40 | * The default value is empty. |
41 | */ |
42 | FbxPropertyT<FbxString> LastSavedUrl; |
43 | |
44 | /** This property contains the URL. |
45 | * |
46 | * To retrieve the value of this property, use Url.Get(). |
47 | * To set the value of this property, use Url.Set(FbxString). |
48 | * |
49 | * The default value is empty. |
50 | */ |
51 | FbxPropertyT<FbxString> Url; |
52 | |
53 | /** Parent property for all properties related to creation. These properties |
54 | * should be set once when the file is created, and you should not change them |
55 | * during subsequent save or reload operations. |
56 | * The default properties are listed below, but application vendors can add new |
57 | * properties under this parent property. |
58 | */ |
59 | FbxProperty Original; |
60 | |
61 | /** This property contains the name of the original application vendor. |
62 | * |
63 | * To retrieve the value of this property, use Original_ApplicationVendor.Get(). |
64 | * To set the value of this property, use Original_ApplicationVendor.Set(FbxString). |
65 | * |
66 | * The default value is empty. |
67 | */ |
68 | FbxPropertyT<FbxString> Original_ApplicationVendor; |
69 | |
70 | /** This property contains the original application name. |
71 | * |
72 | * To retrieve the value of this property, use Original_ApplicationName.Get(). |
73 | * To set the value of this property, use Original_ApplicationName.Set(FbxString). |
74 | * |
75 | * The default value is empty. |
76 | */ |
77 | FbxPropertyT<FbxString> Original_ApplicationName; |
78 | |
79 | /** This property contains the version of the original application. |
80 | * |
81 | * To retrieve the value of this property, use Original_ApplicationVersion.Get(). |
82 | * To set the value of this property, use Original_ApplicationVersion.Set(FbxString). |
83 | * |
84 | * The default value is empty. |
85 | */ |
86 | FbxPropertyT<FbxString> Original_ApplicationVersion; |
87 | |
88 | /** This property contains the original file name. |
89 | * |
90 | * To retrieve the value of this property, use Original_FileName.Get(). |
91 | * To set the value of this property, use Original_FileName.Set(FbxString). |
92 | * |
93 | * The default value is empty. |
94 | */ |
95 | FbxPropertyT<FbxString> Original_FileName; |
96 | |
97 | /** This property contains the original date and time. |
98 | * |
99 | * To retrieve the value of this property, use Original_DateTime_GMT.Get(). |
100 | * To set the value of this property, use Original_DateTime_GMT.Set(FbxString). |
101 | * |
102 | * The default value is 0. |
103 | * \remarks The date/time should use GMT time format. |
104 | */ |
105 | FbxPropertyT<FbxDateTime> Original_DateTime_GMT; |
106 | |
107 | /** The parent property for all last saved-related properties. |
108 | * These properties update every time a file is saved. |
109 | * The default properties are below, but application vendors can add new |
110 | * properties under this parent property. |
111 | * The file creator must set both the original and last saved properties. |
112 | */ |
113 | FbxProperty LastSaved; |
114 | |
115 | /** This property contains the last saved application vendor. |
116 | * |
117 | * To retrieve the value of this property, use LastSaved_ApplicationVendor.Get(). |
118 | * To set the value of this property, use LastSaved_ApplicationVendor.Set(FbxString). |
119 | * |
120 | * The default value is empty. |
121 | */ |
122 | FbxPropertyT<FbxString> LastSaved_ApplicationVendor; |
123 | |
124 | /** This property contains the last saved application name. |
125 | * |
126 | * To retrieve the value of this property, use LastSaved_ApplicationName.Get(). |
127 | * To set the value of this property, use LastSaved_ApplicationName.Set(FbxString). |
128 | * |
129 | * The default value is empty. |
130 | */ |
131 | FbxPropertyT<FbxString> LastSaved_ApplicationName; |
132 | |
133 | /** This property contains the last saved application version. |
134 | * |
135 | * To retrieve the value of this property, use LastSaved_ApplicationVersion.Get(). |
136 | * To set the value of this property, use LastSaved_ApplicationVersion.Set(FbxString). |
137 | * |
138 | * The default value is empty. |
139 | */ |
140 | FbxPropertyT<FbxString> LastSaved_ApplicationVersion; |
141 | |
142 | /** This property contains the last saved date and time. |
143 | * |
144 | * To retrieve the value of this property, use LastSaved_DateTime_GMT.Get(). |
145 | * To set the value of this property, use LastSaved_DateTime_GMT.Set(FbxString). |
146 | * |
147 | * The default value is 0. |
148 | * |
149 | * \remarks The date/time should use GMT time format. |
150 | */ |
151 | FbxPropertyT<FbxDateTime> LastSaved_DateTime_GMT; |
152 | |
153 | /** This property points at the ".fbm" folder that is created when |
154 | * reading a FBX file that has embedded data. The embedded data |
155 | * is not saved in the FBX file. |
156 | * |
157 | * The default value is empty. |
158 | */ |
159 | FbxPropertyT<FbxString> EmbeddedUrl; |
160 | //@} |
161 | |
162 | /** \name User-defined summary data. |
163 | * These are user-completed fields that identify or classify the files. |
164 | */ |
165 | //@{ |
166 | FbxString mTitle; //! Title. |
167 | FbxString mSubject; //! Subject. |
168 | FbxString mAuthor; //! Author |
169 | FbxString mKeywords; //! Keywords. |
170 | FbxString mRevision; //! Revision. |
171 | FbxString ; //! Comment. |
172 | //@} |
173 | |
174 | /** |
175 | * \name Scene Thumbnail. |
176 | */ |
177 | //@{ |
178 | /** Returns the thumbnail for the scene. |
179 | * \return Pointer to the thumbnail. |
180 | */ |
181 | FbxThumbnail* GetSceneThumbnail(); |
182 | |
183 | /** Sets the thumbnail for the scene. |
184 | * \param pSceneThumbnail Pointer to the thumbnail. |
185 | */ |
186 | void SetSceneThumbnail(FbxThumbnail* pSceneThumbnail); |
187 | //@} |
188 | |
189 | /** Clears the content. |
190 | * Resets all the strings to an empty string and clears |
191 | * the pointer to the thumbnail. |
192 | */ |
193 | void Clear(); |
194 | |
195 | /***************************************************************************************************************************** |
196 | ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! ** |
197 | *****************************************************************************************************************************/ |
198 | #ifndef DOXYGEN_SHOULD_SKIP_THIS |
199 | virtual FbxObject& Copy(const FbxObject& pObject); |
200 | |
201 | protected: |
202 | virtual void Destruct(bool pRecursive); |
203 | virtual void ConstructProperties(bool pForceSet); |
204 | |
205 | FbxPropertyT<FbxReference> SceneThumbnail; |
206 | #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/ |
207 | }; |
208 | |
209 | #include <fbxsdk/fbxsdk_nsend.h> |
210 | |
211 | #endif /* _FBXSDK_SCENE_DOCUMENT_INFO_H_ */ |
212 | |