52#ifndef vtkGLTFReader_h
53#define vtkGLTFReader_h
55#include "vtkIOGeometryModule.h"
64VTK_ABI_NAMESPACE_BEGIN
114 vtkSetMacro(GLBStart, vtkTypeInt64);
115 vtkGetMacro(GLBStart, vtkTypeInt64);
136 vtkGetMacro(ApplyDeformationsToGeometry,
bool);
137 vtkBooleanMacro(ApplyDeformationsToGeometry,
bool);
191 vtkGetMacro(FrameRate,
unsigned int);
192 vtkSetMacro(FrameRate,
unsigned int);
203 vtkSetMacro(OutputPointsPrecision,
int);
204 vtkGetMacro(OutputPointsPrecision,
int);
227 std::vector<vtkSmartPointer<vtkGLTFTexture>>
Textures;
240 char* FileName =
nullptr;
242 vtkTypeInt64 GLBStart = 0;
247 unsigned int FrameRate = 60;
251 bool IsModelLoaded =
false;
252 bool IsMetaDataLoaded =
false;
254 bool ApplyDeformationsToGeometry =
true;
Store on/off settings for data arrays, etc.
Represents and manipulates a collection of data arrays.
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.
vtkSmartPointer< vtkGLTFTexture > GetTexture(vtkIdType textureIndex)
Materials are not directly applied to this reader's output.
std::string GetAnimationName(vtkIdType animationIndex)
glTF models can contain multiple animations, with various names and duration.
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,...
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...
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.
vtkIdType GetNumberOfTextures()
Materials are not directly applied to this reader's output.
bool IsAnimationEnabled(vtkIdType animationIndex)
Enable/Disable an animation.
std::vector< vtkSmartPointer< vtkGLTFTexture > > Textures
virtual void InitializeLoader()
Initialize the document loader.
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.
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
handles properties associated with a texture map
Helper class for readers and importer that need to load more than one resource.
vtkTypeUInt32 vtkMTimeType