fbxsdk/scene/geometry/fbxlayercontainer.h Source File

fbxlayercontainer.h
Go to the documentation of this file.
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 
13 #ifndef _FBXSDK_SCENE_GEOMETRY_LAYER_CONTAINER_H_
14 #define _FBXSDK_SCENE_GEOMETRY_LAYER_CONTAINER_H_
15 
16 #include <fbxsdk/fbxsdk_def.h>
17 
20 
21 #include <fbxsdk/fbxsdk_nsbegin.h>
22 
30 {
32 public:
33 
37 
42 
46  int CreateLayer();
47 
49  void ClearLayers();
50 
54  int GetLayerCount() const;
55 
61  int GetLayerCount(FbxLayerElement::EType pType, bool pUVCount=false) const;
62 
67  FbxLayer* GetLayer(int pIndex);
68 
73  const FbxLayer* GetLayer(int pIndex) const;
74 
83  FbxLayer* GetLayer(int pIndex, FbxLayerElement::EType pType, bool pIsUV=false);
84 
93  const FbxLayer* GetLayer(int pIndex, FbxLayerElement::EType pType, bool pIsUV=false) const;
94 
103  int GetLayerIndex(int pIndex, FbxLayerElement::EType pType, bool pIsUV=false) const;
104 
111  int GetLayerTypedIndex(int pGlobalIndex, FbxLayerElement::EType pType, bool pIsUV=false) const;
113 
119  bool ConvertDirectToIndexToDirect(int pLayer);
120 
121 /*****************************************************************************************************************************
122 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
123 *****************************************************************************************************************************/
124 #ifndef DOXYGEN_SHOULD_SKIP_THIS
125  virtual FbxObject& Copy(const FbxObject& pObject);
126 
127  int GTC(FbxUInt i, int j);
128  void* GT (int i, FbxUInt l, int j);
129  int AT (void* t, FbxUInt l, int j);
130  int GTI(const char* n, FbxUInt l, int j);
131  int GMC(FbxUInt i, void* n = NULL);
132  void* GM (int i, FbxUInt l, void* n = NULL);
133  int AM (void* m, FbxUInt l, void* n = NULL, bool b = false);
134  int GMI(const char* n, FbxUInt l, void* d = NULL);
135 
136  int AddToLayerElementsList(FbxLayerElement* pLEl);
137  void RemoveFromLayerElementsList(FbxLayerElement* pLEl);
138 
139 protected:
140  virtual void Destruct(bool pRecursive);
141 
142  void CopyLayers(const FbxLayerContainer* pLayerContainer);
143 
144  virtual void SetDocument(FbxDocument* pDocument);
145  virtual bool ConnectNotify (FbxConnectEvent const &pEvent);
146 
147  FbxArray<FbxLayer*> mLayerArray;
148  FbxArray<FbxLayerElement*> mLayerElementsList;
149 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
150 };
151 
152 #include <fbxsdk/fbxsdk_nsend.h>
153 
154 #endif /* _FBXSDK_SCENE_GEOMETRY_LAYER_CONTAINER_H_ */
unsigned int FbxUInt
Definition: fbxtypes.h:40
#define FBXSDK_OBJECT_DECLARE(Class, Parent)
Macro used to declare a new class derived from FbxObject.
Definition: fbxobject.h:61
FBX SDK environment definition.
FbxLayer class provides a base for the layering mechanism.
Definition: fbxlayer.h:2362
#define NULL
Definition: fbxarch.h:210
virtual FbxObject & Copy(const FbxObject &pObject)
Copy an object content into this object.
FbxDocument is a base class for FbxScene and FbxLibrary classes.
Definition: fbxdocument.h:46
Contains a collection of FbxLayer objects.
EType
Node attribute types.
The base class of most FBX objects.
Definition: fbxobject.h:157
EType
Layer Element type identifier.
Definition: fbxlayer.h:75
virtual FbxNodeAttribute::EType GetAttributeType() const
Return the type of node attribute.
#define FBXSDK_DLL
Definition: fbxarch.h:173
virtual void Destruct(bool pRecursive)
Optional destructor override, automatically called by default destructor.
This class is the base class to all types of node attributes.
Base class for elements of layers (FbxLayer).
Definition: fbxlayer.h:38
Class for array of basic elements such as pointers and basic types.
Definition: fbxarray.h:23