fbxsdk/scene/geometry/fbxlayercontainer.h Source File
 
 
 
fbxsdk/scene/geometry/fbxlayercontainer.h
Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2013 Autodesk, Inc.
00004    All rights reserved.
00005  
00006    Use of this software is subject to the terms of the Autodesk license agreement
00007    provided at the time of installation or download, or which otherwise accompanies
00008    this software in either electronic or hard copy form.
00009  
00010 ****************************************************************************************/
00011 
00013 #ifndef _FBXSDK_SCENE_GEOMETRY_LAYER_CONTAINER_H_
00014 #define _FBXSDK_SCENE_GEOMETRY_LAYER_CONTAINER_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/scene/geometry/fbxnodeattribute.h>
00019 #include <fbxsdk/scene/geometry/fbxlayer.h>
00020 
00021 #include <fbxsdk/fbxsdk_nsbegin.h>
00022 
00029 class FBXSDK_DLL FbxLayerContainer : public FbxNodeAttribute
00030 {
00031         FBXSDK_OBJECT_DECLARE(FbxLayerContainer,FbxNodeAttribute);
00032 public:
00033 
00036         virtual FbxNodeAttribute::EType GetAttributeType() const;
00037 
00042 
00046         int CreateLayer();
00047 
00049     void ClearLayers();
00050 
00054         int GetLayerCount() const;
00055 
00061         int GetLayerCount(FbxLayerElement::EType pType,  bool pUVCount=false) const;
00062 
00067         FbxLayer* GetLayer(int pIndex);
00068 
00073         const FbxLayer* GetLayer(int pIndex) const;
00074 
00083         FbxLayer* GetLayer(int pIndex, FbxLayerElement::EType pType, bool pIsUV=false);
00084 
00093         const FbxLayer* GetLayer(int pIndex, FbxLayerElement::EType pType, bool pIsUV=false) const;
00094 
00103         int GetLayerIndex(int pIndex, FbxLayerElement::EType pType, bool pIsUV=false) const;
00104 
00111         int GetLayerTypedIndex(int pGlobalIndex, FbxLayerElement::EType pType, bool pIsUV=false) const;
00113 
00119         bool ConvertDirectToIndexToDirect(int pLayer);
00120 
00121 /*****************************************************************************************************************************
00122 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
00123 *****************************************************************************************************************************/
00124 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00125         virtual FbxObject& Copy(const FbxObject& pObject);
00126 
00127         int  GTC(FbxUInt i, int j);
00128         void* GT (int  i,    FbxUInt l, int j); 
00129         int  AT (void* t,    FbxUInt l, int j);
00130         int  GTI(const char* n, FbxUInt l, int j);
00131         int  GMC(FbxUInt i, void* n = NULL);
00132         void* GM (int  i,    FbxUInt l, void* n = NULL);
00133         int  AM (void* m,    FbxUInt l, void* n = NULL, bool b = false);
00134         int  GMI(const char* n, FbxUInt l, void* d = NULL);
00135 
00136         int AddToLayerElementsList(FbxLayerElement* pLEl);
00137         void RemoveFromLayerElementsList(FbxLayerElement* pLEl);
00138 
00139 protected:
00140         virtual void Destruct(bool pRecursive);
00141 
00142         void CopyLayers(const FbxLayerContainer* pLayerContainer);
00143 
00144         virtual void SetDocument(FbxDocument* pDocument);
00145         virtual bool ConnectNotify (FbxConnectEvent const &pEvent);
00146 
00147         FbxArray<FbxLayer*> mLayerArray;
00148         FbxArray<FbxLayerElement*> mLayerElementsList;
00149 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
00150 };
00151 
00152 #include <fbxsdk/fbxsdk_nsend.h>
00153 
00154 #endif /* _FBXSDK_SCENE_GEOMETRY_LAYER_CONTAINER_H_ */