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 fbxnull.h
13#ifndef _FBXSDK_SCENE_GEOMETRY_NULL_H_
14#define _FBXSDK_SCENE_GEOMETRY_NULL_H_
15
16#include <fbxsdk/fbxsdk_def.h>
17
18#include <fbxsdk/scene/geometry/fbxnodeattribute.h>
19
20#include <fbxsdk/fbxsdk_nsbegin.h>
21
22/** \brief This node attribute contains the properties of a null node.
23 * \nosubgrouping
24 */
25class FBXSDK_DLL FbxNull : public FbxNodeAttribute
26{
27 FBXSDK_OBJECT_DECLARE(FbxNull, FbxNodeAttribute);
28
29public:
30 //! Returns the EType::eNull node attribute type.
31 virtual FbxNodeAttribute::EType GetAttributeType() const;
32
33 //! Resets the default values.
34 void Reset();
35
36 /**
37 * \name Null Node Properties
38 */
39 //@{
40
41 /** \enum ELook Null node look types.
42 * - \e eNone
43 * - \e eCross
44 */
45 enum ELook
46 {
47 eNone,
48 eCross,
49 };
50
51 /** Returns the default size value.
52 * \return The default size of this object (100).
53 */
54 double GetSizeDefaultValue() const;
55
56 //@}
57
58 /**
59 * \name Property Names
60 */
61 //@{
62 static const char* sSize;
63 static const char* sLook;
64 //@}
65
66 /**
67 * \name Property Default Values
68 */
69 //@{
70 static const FbxDouble sDefaultSize;
71 static const ELook sDefaultLook;
72 //@}
73
74
75 //////////////////////////////////////////////////////////////////////////
76 //
77 // Properties
78 //
79 //////////////////////////////////////////////////////////////////////////
80
81 /** This property handles the null node size.
82 *
83 * To access this property do: Size.Get().
84 * To set this property do: Size.Set(FbxDouble).
85 *
86 * The default value is 100.
87 */
88 FbxPropertyT<FbxDouble> Size;
89
90 /** This property handles the look of the null node.
91 *
92 * To access this property do: Look.Get().
93 * To set this property do: Look.Set(ELook).
94 *
95 * The default value is true
96 */
97 FbxPropertyT<ELook> Look;
98
99
100/*****************************************************************************************************************************
101** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
102*****************************************************************************************************************************/
103#ifndef DOXYGEN_SHOULD_SKIP_THIS
104 virtual FbxObject& Copy(const FbxObject& pObject);
105
106protected:
107 virtual void Construct(const FbxObject* pFrom);
108 virtual void ConstructProperties(bool pForceSet);
109
110public:
111 virtual FbxStringList GetTypeFlags() const;
112#endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
113};
114
115inline EFbxType FbxTypeOf(const FbxNull::ELook&){ return eFbxEnum; }
116
117#include <fbxsdk/fbxsdk_nsend.h>
118
119#endif /* _FBXSDK_SCENE_GEOMETRY_NULL_H_ */
120