VTK
9.1.0
|
Helper functions for glTF parsing and validation. More...
Typedefs | |
using | ChunkInfoType = std::pair< std::string, uint32_t > |
Functions | |
bool | ValidateGLBFile (const std::string &magic, uint32_t version, uint32_t fileLength, std::vector< vtkGLTFUtils::ChunkInfoType > chunkInfo) |
Checks various binary glTF elements for validity. | |
bool | ExtractGLBFileInformation (const std::string &fileName, std::string &magic, uint32_t &version, uint32_t &fileLength, std::vector< vtkGLTFUtils::ChunkInfoType > &chunkInfo) |
Extract all header information from a binary glTF file. | |
bool | GetIntValue (const Json::Value &root, int &value) |
Get int value from Json variable, with existence and type checks. | |
bool | GetUIntValue (const Json::Value &root, unsigned int &value) |
Get int value from Json variable, with existence and type checks. | |
bool | GetDoubleValue (const Json::Value &root, double &value) |
Get double value from Json variable, with existence and type checks. | |
bool | GetStringValue (const Json::Value &root, std::string &value) |
Get string value from Json variable, with existence and type checks. | |
bool | GetBoolValue (const Json::Value &root, bool &value) |
Get bool value from Json variable, with existence and type checks. | |
bool | GetIntArray (const Json::Value &root, std::vector< int > &value) |
Get int array from Json variable, with existence and type checks. | |
bool | GetUIntArray (const Json::Value &root, std::vector< unsigned int > &value) |
Get int array from Json variable, with existence and type checks. | |
bool | GetFloatArray (const Json::Value &root, std::vector< float > &value) |
Get float array from Json variable, with existence and type checks. | |
bool | GetDoubleArray (const Json::Value &root, std::vector< double > &value) |
Get double array from Json variable, with existence and type checks. | |
bool | CheckVersion (const Json::Value &glTFAsset) |
Check document version. | |
std::string | GetResourceFullPath (const std::string &resourcePath, const std::string &glTFFilePath) |
Compute the path to a resource from its path as specified in the glTF file, and the glTF file's path. | |
bool | GetBinaryBufferFromUri (const std::string &uri, const std::string &glTFFileName, std::vector< char > &buffer, size_t bufferSize) |
Load binary buffer from uri information. | |
std::string | GetDataUriMimeType (const std::string &uri) |
Extract MIME-Type from data-uri. | |
Variables | |
const uint32_t | GLBWordSize = 4 |
const uint32_t | GLBHeaderSize = 12 |
const uint32_t | GLBChunkHeaderSize = 8 |
const uint32_t | GLBVersion = 2 |
Helper functions for glTF parsing and validation.
vtkGLTFUtils is a helper namespace that contains various functions to help with the parsing and validation of JSON-formatted glTF files. More specifically, these functions add existence and type verifications before extracting Json values. Another function helps check the document's version against supported glTF versions
using vtkGLTFUtils::ChunkInfoType = typedef std::pair<std::string, uint32_t> |
Definition at line 36 of file vtkGLTFUtils.h.
bool vtkGLTFUtils::ValidateGLBFile | ( | const std::string & | magic, |
uint32_t | version, | ||
uint32_t | fileLength, | ||
std::vector< vtkGLTFUtils::ChunkInfoType > | chunkInfo | ||
) |
Checks various binary glTF elements for validity.
Checks: version, file length, JSON chunk presence as first chunk, chunk type name size, chunk data size
bool vtkGLTFUtils::ExtractGLBFileInformation | ( | const std::string & | fileName, |
std::string & | magic, | ||
uint32_t & | version, | ||
uint32_t & | fileLength, | ||
std::vector< vtkGLTFUtils::ChunkInfoType > & | chunkInfo | ||
) |
Extract all header information from a binary glTF file.
bool vtkGLTFUtils::GetIntValue | ( | const Json::Value & | root, |
int & | value | ||
) |
Get int value from Json variable, with existence and type checks.
bool vtkGLTFUtils::GetUIntValue | ( | const Json::Value & | root, |
unsigned int & | value | ||
) |
Get int value from Json variable, with existence and type checks.
bool vtkGLTFUtils::GetDoubleValue | ( | const Json::Value & | root, |
double & | value | ||
) |
Get double value from Json variable, with existence and type checks.
bool vtkGLTFUtils::GetStringValue | ( | const Json::Value & | root, |
std::string & | value | ||
) |
Get string value from Json variable, with existence and type checks.
bool vtkGLTFUtils::GetBoolValue | ( | const Json::Value & | root, |
bool & | value | ||
) |
Get bool value from Json variable, with existence and type checks.
bool vtkGLTFUtils::GetIntArray | ( | const Json::Value & | root, |
std::vector< int > & | value | ||
) |
Get int array from Json variable, with existence and type checks.
bool vtkGLTFUtils::GetUIntArray | ( | const Json::Value & | root, |
std::vector< unsigned int > & | value | ||
) |
Get int array from Json variable, with existence and type checks.
bool vtkGLTFUtils::GetFloatArray | ( | const Json::Value & | root, |
std::vector< float > & | value | ||
) |
Get float array from Json variable, with existence and type checks.
bool vtkGLTFUtils::GetDoubleArray | ( | const Json::Value & | root, |
std::vector< double > & | value | ||
) |
Get double array from Json variable, with existence and type checks.
bool vtkGLTFUtils::CheckVersion | ( | const Json::Value & | glTFAsset | ) |
Check document version.
Currently supporting glTF 2.0 only.
std::string vtkGLTFUtils::GetResourceFullPath | ( | const std::string & | resourcePath, |
const std::string & | glTFFilePath | ||
) |
Compute the path to a resource from its path as specified in the glTF file, and the glTF file's path.
bool vtkGLTFUtils::GetBinaryBufferFromUri | ( | const std::string & | uri, |
const std::string & | glTFFileName, | ||
std::vector< char > & | buffer, | ||
size_t | bufferSize | ||
) |
Load binary buffer from uri information.
Uri can be a base 64 data-uri or file path.
std::string vtkGLTFUtils::GetDataUriMimeType | ( | const std::string & | uri | ) |
Extract MIME-Type from data-uri.
const uint32_t vtkGLTFUtils::GLBWordSize = 4 |
Definition at line 38 of file vtkGLTFUtils.h.
const uint32_t vtkGLTFUtils::GLBHeaderSize = 12 |
Definition at line 39 of file vtkGLTFUtils.h.
const uint32_t vtkGLTFUtils::GLBChunkHeaderSize = 8 |
Definition at line 40 of file vtkGLTFUtils.h.
const uint32_t vtkGLTFUtils::GLBVersion = 2 |
Definition at line 41 of file vtkGLTFUtils.h.