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 fbxsurfacematerial.h
13#ifndef _FBXSDK_SCENE_SHADING_SURFACE_MATERIAL_H_
14#define _FBXSDK_SCENE_SHADING_SURFACE_MATERIAL_H_
15
16#include <fbxsdk/fbxsdk_def.h>
17
18#include <fbxsdk/core/fbxobject.h>
19
20#include <fbxsdk/fbxsdk_nsbegin.h>
21
22/** This class contains material settings.
23 * \nosubgrouping
24 */
25class FBXSDK_DLL FbxSurfaceMaterial : public FbxObject
26{
27 FBXSDK_OBJECT_DECLARE(FbxSurfaceMaterial, FbxObject);
28
29public:
30 /**
31 * \name Standard Material Property Names
32 */
33 //@{
34
35 static const char* sShadingModel;
36 static const char* sMultiLayer;
37
38 static const char* sEmissive;
39 static const char* sEmissiveFactor;
40
41 static const char* sAmbient;
42 static const char* sAmbientFactor;
43
44 static const char* sDiffuse;
45 static const char* sDiffuseFactor;
46
47 static const char* sSpecular;
48 static const char* sSpecularFactor;
49 static const char* sShininess;
50
51 static const char* sBump;
52 static const char* sNormalMap;
53 static const char* sBumpFactor;
54
55 static const char* sTransparentColor;
56 static const char* sTransparencyFactor;
57
58 static const char* sReflection;
59 static const char* sReflectionFactor;
60
61 static const char* sDisplacementColor;
62 static const char* sDisplacementFactor;
63
64 static const char* sVectorDisplacementColor;
65 static const char* sVectorDisplacementFactor;
66 //@}
67
68 /**
69 * \name Material Properties
70 */
71 //@{
72 FbxPropertyT<FbxString> ShadingModel;
73 FbxPropertyT<FbxBool> MultiLayer;
74 //@}
75
76 //////////////////////////////////////////////////////////////////////////
77 // Static values
78 //////////////////////////////////////////////////////////////////////////
79
80 /**
81 * \name Default property values
82 */
83 //@{
84
85 static const FbxBool sMultiLayerDefault;
86 static const char* sShadingModelDefault;
87
88 //@}
89
90/*****************************************************************************************************************************
91** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
92*****************************************************************************************************************************/
93#ifndef DOXYGEN_SHOULD_SKIP_THIS
94protected:
95 bool SetColorParameter(FbxProperty pProperty, FbxColor const& pColor);
96 bool GetColorParameter(FbxProperty pProperty, FbxColor& pColor) const;
97 bool SetDoubleParameter(FbxProperty pProperty, double pDouble);
98 bool GetDoubleParameter(FbxProperty pProperty, double pDouble) const;
99
100 virtual void ConstructProperties(bool pForceSet);
101#endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
102};
103
104#include <fbxsdk/fbxsdk_nsend.h>
105
106#endif /* _FBXSDK_SCENE_SHADING_SURFACE_MATERIAL_H_ */
107