52#ifndef vtkGLTFReader_h
53#define vtkGLTFReader_h
55#include "vtkIOGeometryModule.h"
64VTK_ABI_NAMESPACE_BEGIN
132 vtkGetMacro(ApplyDeformationsToGeometry,
bool);
133 vtkBooleanMacro(ApplyDeformationsToGeometry,
bool);
187 vtkGetMacro(FrameRate,
unsigned int);
188 vtkSetMacro(FrameRate,
unsigned int);
218 char* FileName =
nullptr;
224 unsigned int FrameRate = 60;
228 bool IsModelLoaded =
false;
229 bool IsMetaDataLoaded =
false;
231 bool ApplyDeformationsToGeometry =
true;
Store on/off settings for data arrays, etc.
represent and manipulate fields of data
Deserialize a GLTF model file.
vtkSmartPointer< vtkGLTFDocumentLoader > Loader
void DisableAnimation(vtkIdType animationIndex)
Enable/Disable an animation.
~vtkGLTFReader() override
vtkSetFilePathMacro(FileName)
Set/Get the name of the file from which to read points.
std::string GetAnimationName(vtkIdType animationIndex)
glTF models can contain multiple animations, with various names and duration.
vtkGetSmartPointerMacro(URILoader, vtkURILoader)
Set/Get the URI loader to use when reading from a Stream.
std::vector< GLTFTexture > Textures
vtkSmartPointer< vtkResourceStream > Stream
void StoreTextureData()
Create and store GLTFTexture struct for each image present in the model.
void SetScene(const std::string &scene)
Get/Set the scene to be used by the reader.
void CreateSceneNamesArray()
Create the SceneNames array, generate unique identifiers for each scene based on their glTF name,...
GLTFTexture GetGLTFTexture(vtkIdType textureIndex)
vtkSmartPointer< vtkDataArraySelection > AnimationSelection
float GetAnimationDuration(vtkIdType animationIndex)
glTF models can contain multiple animations, with various names and duration.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetApplyDeformationsToGeometry(bool flag)
The model's skinning transforms are computed and added to the different vtkPolyData objects' field da...
vtkDataArraySelection * GetAnimationSelection()
Get the vtkDataArraySelection object to enable/disable animations.
vtkSmartPointer< vtkStringArray > SceneNames
std::string GetSceneName(vtkIdType sceneIndex)
glTF models can contain multiple scene descriptions.
void CreateAnimationSelection()
Fill the AnimationSelection vtkDataArraySelection with animation names.
vtkStringArray * GetAllSceneNames()
Get a list all scenes names as a vtkStringArray, with duplicate names numbered and empty names replac...
vtkSetSmartPointerMacro(Stream, vtkResourceStream)
Set/Get the stream from which to read the glTF.
vtkSmartPointer< vtkMultiBlockDataSet > OutputDataSet
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSmartPointer< vtkURILoader > URILoader
void EnableAnimation(vtkIdType animationIndex)
Enable/Disable an animation.
vtkSetSmartPointerMacro(URILoader, vtkURILoader)
Set/Get the URI loader to use when reading from a Stream.
vtkIdType GetNumberOfTextures()
bool IsAnimationEnabled(vtkIdType animationIndex)
Enable/Disable an animation.
vtkGetFilePathMacro(FileName)
Set/Get the name of the file from which to read points.
static vtkGLTFReader * New()
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkGetSmartPointerMacro(Stream, vtkResourceStream)
Set/Get the stream from which to read the glTF.
vtkSmartPointer< vtkDataArraySelection > PreviousAnimationSelection
topologically and geometrically regular array of data
a simple class to control print indentation
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
Abstract class used for custom streams.
Hold a reference to a vtkObjectBase instance.
a vtkAbstractArray subclass for strings
Helper class for readers and importer that need to load more than one resource.
Materials are not directly applied to this reader's output.
unsigned short WrapSValue
unsigned short MinFilterValue
unsigned short MaxFilterValue
vtkSmartPointer< vtkImageData > Image
unsigned short WrapTValue
vtkTypeUInt32 vtkMTimeType