Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:04:42

0001 // Author: Kirill Gavrilov
0002 // Copyright (c) 2016-2019 OPEN CASCADE SAS
0003 //
0004 // This file is part of Open CASCADE Technology software library.
0005 //
0006 // This library is free software; you can redistribute it and/or modify it under
0007 // the terms of the GNU Lesser General Public License version 2.1 as published
0008 // by the Free Software Foundation, with special exception defined in the file
0009 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0010 // distribution for complete text of the license and disclaimer of any warranty.
0011 //
0012 // Alternatively, this file may be used under the terms of Open CASCADE
0013 // commercial license or contractual agreement.
0014 
0015 #ifndef _RWGltf_GltfRootElement_HeaderFile
0016 #define _RWGltf_GltfRootElement_HeaderFile
0017 
0018 //! Root elements within glTF JSON document.
0019 enum RWGltf_GltfRootElement
0020 {
0021   RWGltf_GltfRootElement_Asset,        //!< "asset"       element, mandatory
0022   RWGltf_GltfRootElement_Scenes,       //!< "scenes"      element, mandatory
0023   RWGltf_GltfRootElement_Scene,        //!< "scene"       element, optional
0024   RWGltf_GltfRootElement_Nodes,        //!< "nodes"       element, mandatory
0025   RWGltf_GltfRootElement_Meshes,       //!< "meshes"      element, mandatory
0026   RWGltf_GltfRootElement_Accessors,    //!< "accessors"   element, mandatory
0027   RWGltf_GltfRootElement_BufferViews,  //!< "bufferViews" element, mandatory
0028   RWGltf_GltfRootElement_Buffers,      //!< "buffers"     element, mandatory
0029   RWGltf_GltfRootElement_NB_MANDATORY, //!< number of mandatory elements
0030   // optional elements
0031   RWGltf_GltfRootElement_Animations = RWGltf_GltfRootElement_NB_MANDATORY,  //!< "animations" element
0032   RWGltf_GltfRootElement_Materials,    //!< "materials"  element,
0033   RWGltf_GltfRootElement_Programs,     //!< "programs"   element,
0034   RWGltf_GltfRootElement_Samplers,     //!< "samplers"   element,
0035   RWGltf_GltfRootElement_Shaders,      //!< "shaders"    element,
0036   RWGltf_GltfRootElement_Skins,        //!< "skins"      element,
0037   RWGltf_GltfRootElement_Techniques,   //!< "techniques" element,
0038   RWGltf_GltfRootElement_Textures,     //!< "textures"   element,
0039   RWGltf_GltfRootElement_Images,       //!< "images"     element,
0040   RWGltf_GltfRootElement_ExtensionsUsed,     //!< "extensionsUsed"     element,
0041   RWGltf_GltfRootElement_ExtensionsRequired, //!< "extensionsRequired" element,
0042   RWGltf_GltfRootElement_NB            //!< overall number of elements
0043 };
0044 
0045 //! Root elements within glTF JSON document - names array.
0046 inline const char* RWGltf_GltfRootElementName (RWGltf_GltfRootElement theElem)
0047 {
0048   static const char* THE_ROOT_NAMES[RWGltf_GltfRootElement_NB] =
0049   {
0050     "asset",
0051     "scenes",
0052     "scene",
0053     "nodes",
0054     "meshes",
0055     "accessors",
0056     "bufferViews",
0057     "buffers",
0058     "animations",
0059     "materials",
0060     "programs",
0061     "samplers",
0062     "shaders",
0063     "skins",
0064     "techniques",
0065     "textures",
0066     "images",
0067     "extensionsUsed",
0068     "extensionsRequired"
0069   };
0070   return THE_ROOT_NAMES[theElem];
0071 }
0072 
0073 #endif // _RWGltf_GltfRootElement_HeaderFile