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 fbxcontainer.h
13#ifndef _FBXSDK_SCENE_CONTAINER_H_
14#define _FBXSDK_SCENE_CONTAINER_H_
15
16#include <fbxsdk/fbxsdk_def.h>
17
18#include <fbxsdk/core/fbxobject.h>
19#include <fbxsdk/scene/fbxcontainertemplate.h>
20
21#include <fbxsdk/fbxsdk_nsbegin.h>
22
23/** Generic container for object grouping and encapsulation.
24 * \nosubgrouping
25 */
26class FBXSDK_DLL FbxContainer : public FbxObject
27{
28 FBXSDK_OBJECT_DECLARE(FbxContainer, FbxObject);
29
30public:
31 /**
32 * \name Container dynamic attributes
33 */
34 //@{
35 /** Create a new property.
36 * \param pName Name of the property
37 * \param pType Type of the property
38 * \param pLabel Label of the property
39 * \return the newly created property
40 */
41 FbxProperty CreateProperty(FbxString pName, FbxDataType & pType, FbxString pLabel);
42 //@}
43
44 /**
45 * \name Public and fast access Properties
46 */
47 //@{
48 /** This property contains the template name information of the container
49 *
50 * To access this property do: TemplateName.Get().
51 * To set this property do: TemplateName.Set(FbxString).
52 *
53 * Default value is "".
54 */
55 FbxPropertyT<FbxString> TemplateName;
56
57 /** This property contains the template path information of the container
58 *
59 * To access this property do: TemplatePath.Get().
60 * To set this property do: TemplatePath.Set(FbxString).
61 *
62 * Default value is "".
63 */
64 FbxPropertyT<FbxString> TemplatePath;
65
66 /** This property contains the template version information of the container
67 *
68 * To access this property do: TemplateVersion.Get().
69 * To set this property do: TemplateVersion.Set(FbxString).
70 *
71 * Default value is "".
72 */
73 FbxPropertyT<FbxString> TemplateVersion;
74
75 /** This property contains the view name information of the container
76 *
77 * To access this property do: ViewName.Get().
78 * To set this property do: ViewName.Set(FbxString).
79 *
80 * Default value is "".
81 */
82 FbxPropertyT<FbxString> ViewName;
83 //@}
84
85/*****************************************************************************************************************************
86** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
87*****************************************************************************************************************************/
88#ifndef DOXYGEN_SHOULD_SKIP_THIS
89 FbxContainerTemplate* mContainerTemplate;
90
91protected:
92 virtual void Construct(const FbxObject* pFrom);
93 virtual void ConstructProperties(bool pForceSet);
94#endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
95};
96
97#include <fbxsdk/fbxsdk_nsend.h>
98
99#endif /* _FBXSDK_SCENE_CONTAINER_H_ */
100