5#include <CesiumGltf/Accessor.h>
6#include <CesiumGltf/Animation.h>
7#include <CesiumGltf/Asset.h>
8#include <CesiumGltf/Buffer.h>
9#include <CesiumGltf/BufferView.h>
10#include <CesiumGltf/Camera.h>
11#include <CesiumGltf/ExternalAsset.h>
12#include <CesiumGltf/File.h>
13#include <CesiumGltf/Image.h>
14#include <CesiumGltf/Library.h>
15#include <CesiumGltf/Material.h>
16#include <CesiumGltf/Mesh.h>
17#include <CesiumGltf/Node.h>
18#include <CesiumGltf/Sampler.h>
19#include <CesiumGltf/Scene.h>
20#include <CesiumGltf/Shape.h>
21#include <CesiumGltf/Skin.h>
22#include <CesiumGltf/Texture.h>
23#include <CesiumUtility/ExtensibleObject.h>
37 static constexpr const char*
TypeName =
"Model";
101 std::vector<CesiumGltf::File>
files;
127 std::vector<CesiumGltf::Node>
nodes;
158 std::vector<CesiumGltf::Skin>
skins;
176 accum += int64_t(
sizeof(std::string) * this->extensionsUsed.capacity());
177 accum += int64_t(
sizeof(std::string) * this->extensionsRequired.capacity());
Classes for working with glTF models.
This class is not meant to be instantiated directly. Use Accessor instead.
Metadata about the glTF asset.
int64_t getSizeBytes() const
Calculates the size in bytes of this object, including the contents of all collections,...
A view into a buffer generally representing a subset of the buffer.
This class is not meant to be instantiated directly. Use Buffer instead.
A camera's projection. A node MAY reference a camera to apply a transform to place the camera in the ...
An external asset that references a file in the files array and may be instantiated by any node.
A reference to an external file. Files MAY be referenced by a URI (or IRI) or a buffer view index.
This class is not meant to be instantiated directly. Use Image instead.
The material appearance of a primitive.
A set of primitives to be rendered. Its global transform is defined by a node that references it.
std::vector< CesiumGltf::Camera > cameras
An array of cameras.
std::vector< CesiumGltf::Scene > scenes
An array of scenes.
ModelSpec()=default
This class is not meant to be instantiated directly. Use Model instead.
std::vector< CesiumGltf::Skin > skins
An array of skins.
static constexpr const char * TypeName
The original name of this type.
std::vector< CesiumGltf::BufferView > bufferViews
An array of bufferViews.
std::vector< CesiumGltf::Animation > animations
An array of keyframe animations.
std::vector< CesiumGltf::Sampler > samplers
An array of samplers.
std::vector< CesiumGltf::Material > materials
An array of materials.
std::vector< CesiumGltf::Shape > shapes
An array of shapes.
CesiumGltf::Asset asset
Metadata about the glTF asset.
int32_t scene
The index of the default scene.
std::vector< std::string > extensionsRequired
Names of glTF extensions required to properly load this asset.
std::vector< CesiumGltf::Mesh > meshes
An array of meshes.
std::vector< CesiumGltf::Node > nodes
An array of nodes.
std::vector< CesiumGltf::Image > images
An array of images.
std::vector< CesiumGltf::Accessor > accessors
An array of accessors.
std::vector< CesiumGltf::Texture > textures
An array of textures.
std::vector< std::string > extensionsUsed
Names of glTF extensions used in this asset.
int64_t getSizeBytes() const
Calculates the size in bytes of this object, including the contents of all collections,...
std::vector< CesiumGltf::ExternalAsset > externalAssets
An array of external assets.
std::vector< CesiumGltf::File > files
An array of file references.
std::vector< CesiumGltf::Buffer > buffers
An array of buffers.
A node in the node hierarchy. When the node contains skin, all mesh.primitives MUST contain JOINTS_0 ...
Texture sampler properties for filtering and wrapping modes.
The root nodes of a scene.
A generic, re-usable shape definition with no inherent meaning attached to it.
Joints and matrices defining a skin.
A texture and its sampler.
The base class for objects that have extensions and extras.
int64_t getSizeBytes() const
Calculates the size in bytes of this ExtensibleObject, including all of its extras but NOT including ...