// Author: Kirill Gavrilov // Copyright (c) 2016-2019 OPEN CASCADE SAS // // This file is part of Open CASCADE Technology software library. // // This library is free software; you can redistribute it and/or modify it under // the terms of the GNU Lesser General Public License version 2.1 as published // by the Free Software Foundation, with special exception defined in the file // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT // distribution for complete text of the license and disclaimer of any warranty. // // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. #ifndef _RWGltf_GltfRootElement_HeaderFile #define _RWGltf_GltfRootElement_HeaderFile //! Root elements within glTF JSON document. enum RWGltf_GltfRootElement { RWGltf_GltfRootElement_Asset, //!< "asset" element, mandatory RWGltf_GltfRootElement_Scenes, //!< "scenes" element, mandatory RWGltf_GltfRootElement_Scene, //!< "scene" element, mandatory RWGltf_GltfRootElement_Nodes, //!< "nodes" element, mandatory RWGltf_GltfRootElement_Meshes, //!< "meshes" element, mandatory RWGltf_GltfRootElement_Accessors, //!< "accessors" element, mandatory RWGltf_GltfRootElement_BufferViews, //!< "bufferViews" element, mandatory RWGltf_GltfRootElement_Buffers, //!< "buffers" element, mandatory RWGltf_GltfRootElement_NB_MANDATORY, //!< number of mandatory elements // optional elements RWGltf_GltfRootElement_Animations = RWGltf_GltfRootElement_NB_MANDATORY, //!< "animations" element RWGltf_GltfRootElement_Materials, //!< "materials" element, RWGltf_GltfRootElement_Programs, //!< "programs" element, RWGltf_GltfRootElement_Samplers, //!< "samplers" element, RWGltf_GltfRootElement_Shaders, //!< "shaders" element, RWGltf_GltfRootElement_Skins, //!< "skins" element, RWGltf_GltfRootElement_Techniques, //!< "techniques" element, RWGltf_GltfRootElement_Textures, //!< "textures" element, RWGltf_GltfRootElement_Images, //!< "images" element, RWGltf_GltfRootElement_ExtensionsUsed, //!< "extensionsUsed" element, RWGltf_GltfRootElement_ExtensionsRequired, //!< "extensionsRequired" element, RWGltf_GltfRootElement_NB //!< overall number of elements }; //! Root elements within glTF JSON document - names array. inline const char* RWGltf_GltfRootElementName (RWGltf_GltfRootElement theElem) { static const char* THE_ROOT_NAMES[RWGltf_GltfRootElement_NB] = { "asset", "scenes", "scene", "nodes", "meshes", "accessors", "bufferViews", "buffers", "animations", "materials", "programs", "samplers", "shaders", "skins", "techniques", "textures", "images", "extensionsUsed", "extensionsRequired" }; return THE_ROOT_NAMES[theElem]; } #endif // _RWGltf_GltfRootElement_HeaderFile