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 fbxpropertyentryview.h
13#ifndef _FBXSDK_SCENE_SHADING_PROPERTY_ENTRY_VIEW_H_
14#define _FBXSDK_SCENE_SHADING_PROPERTY_ENTRY_VIEW_H_
15
16#include <fbxsdk/fbxsdk_def.h>
17
18#include <fbxsdk/scene/shading/fbxentryview.h>
19#include <fbxsdk/scene/shading/fbxbindingtableentry.h>
20
21#include <fbxsdk/fbxsdk_nsbegin.h>
22
23/** FbxPropertyEntryView represents property entry in entry tables.
24 * The property can be used as source or destination for the binding entry.
25 * Use this class to manipulate binding table's attributes.
26 *
27 * \code Here is a code snippet to show how it used.
28 * FbxProperty lProp;
29 * FbxBindingTable lTable;
30 * FbxBindingTableEntry& lEntry = lBindingTable.AddNewEntry();
31 * FbxPropertyEntryView lView( lEntry, true, true);
32 * lView.SetProperty( lProp.GetName());
33 * \endcode
34 *
35 * \see FbxBindingTableEntry and FbxBindingTable.
36 *
37 * \nosubgrouping
38 */
39class FBXSDK_DLL FbxPropertyEntryView : public FbxEntryView
40{
41public:
42
43 /** Name of the entry type used in the binding entry.
44 * It should be "FbxPropertyEntry" in this case.
45 */
46 static const char* sEntryType;
47
48 /**
49 * \name Constructor and Destructor.
50 */
51 //@{
52 /** Constructor.
53 * \param pEntry The binding table entry to create the entry view for.
54 * \param pAsSource \c true to create the entry view as source, \c false as destination.
55 * \param pCreate \c true to create the entry view, \c false otherwise.
56 */
57 FbxPropertyEntryView( FbxBindingTableEntry* pEntry, bool pAsSource, bool pCreate = false );
58
59 //! Destructor.
60 ~FbxPropertyEntryView();
61 //@}
62
63 /** Get the property name from the binding entry.
64 * \return The property name.
65 */
66 const char* GetProperty() const;
67
68 /** Set the property name to the binding entry.
69 * \param pPropertyName The property name to set.
70 */
71 void SetProperty(const char* pPropertyName);
72
73 /** Get the entry type.
74 * \return Entry type as string "FbxPropertyEntry".
75 * \remarks Always use EntryType() to get the right entry type.
76 */
77 virtual const char* EntryType() const;
78};
79
80#include <fbxsdk/fbxsdk_nsend.h>
81
82#endif /* _FBXSDK_SCENE_SHADING_PROPERTY_ENTRY_VIEW_H_ */
83