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 fbxentryview.h
13#ifndef _FBXSDK_SCENE_SHADING_ENTRY_VIEW_H_
14#define _FBXSDK_SCENE_SHADING_ENTRY_VIEW_H_
15
16#include <fbxsdk/fbxsdk_def.h>
17
18#include <fbxsdk/fbxsdk_nsbegin.h>
19
20class FbxBindingTableEntry;
21
22/** Entry view class represents binding entry in entry tables.
23 * \see FbxBindingTableEntry and FbxBindingTable.
24 * \nosubgrouping
25 */
26class FBXSDK_DLL FbxEntryView
27{
28public:
29
30 //! Entry type.
31 static const char* sEntryType;
32
33 /**
34 * \name Constructor and Destructor.
35 */
36 //@{
37
38 /** Constructor.
39 * \param pEntry The binding table entry to create the entry view for.
40 * \param pAsSource \c true to create the entry view as source, \c false as destination.
41 * \param pCreate \c true to create the entry view, \c false otherwise.
42 */
43 FbxEntryView( FbxBindingTableEntry* pEntry, bool pAsSource, bool pCreate = false );
44
45 //! Destructor.
46 virtual ~FbxEntryView();
47 //@}
48
49
50 /** Check whether this entry view is valid or not.
51 * If this entry view corresponds with an valid entry which is not NULL, and the
52 * entry type of this entry view is the same as that of the entry it corresponds with,
53 * then this entry view is valid.
54 * \return \c true if the entry view is valid, \c false otherwise.
55 */
56 virtual bool IsValid() const;
57
58 /** Create a new entry view.
59 * \return \c true if the entry view is created successfully, \c false otherwise.
60 */
61 virtual bool Create();
62
63 /** Get the entry type of this entry view.
64 */
65 virtual const char* EntryType() const;
66
67/*****************************************************************************************************************************
68** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
69*****************************************************************************************************************************/
70#ifndef DOXYGEN_SHOULD_SKIP_THIS
71protected:
72 bool mAsSource;
73 FbxBindingTableEntry* mEntry;
74#endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
75};
76
77#include <fbxsdk/fbxsdk_nsend.h>
78
79#endif /* _FBXSDK_SCENE_SHADING_ENTRY_VIEW_H_ */
80