MCPcopy Create free account
hub / github.com/Kitware/VTK / LoadBufferView

Method LoadBufferView

IO/Geometry/vtkGLTFDocumentLoaderInternals.cxx:470–509  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

468
469//------------------------------------------------------------------------------
470bool vtkGLTFDocumentLoaderInternals::LoadBufferView(
471 const nlohmann::json& root, vtkGLTFDocumentLoader::BufferView& bufferView)
472{
473 if (root.empty() || !root.is_object())
474 {
475 vtkErrorWithObjectMacro(this->Self, "Invalid bufferView value");
476 return false;
477 }
478 bufferView.Name = "";
479 vtkGLTFUtils::GetStringValue(root, "name", bufferView.Name);
480
481 if (!vtkGLTFUtils::GetIntValue(root, "buffer", bufferView.Buffer))
482 {
483 vtkErrorWithObjectMacro(
484 this->Self, "Invalid bufferView.buffer value for bufferView " << bufferView.Name);
485 return false;
486 }
487 if (!vtkGLTFUtils::GetIntValue(root, "byteLength", bufferView.ByteLength))
488 {
489 vtkErrorWithObjectMacro(
490 this->Self, "Invalid bufferView.bytelength value for bufferView " << bufferView.Name);
491 return false;
492 }
493 bufferView.ByteOffset = 0;
494 bufferView.ByteStride = 0;
495 bufferView.Target = 0;
496 vtkGLTFUtils::GetIntValue(root, "byteOffset", bufferView.ByteOffset);
497 vtkGLTFUtils::GetIntValue(root, "byteStride", bufferView.ByteStride);
498 vtkGLTFUtils::GetIntValue(root, "target", bufferView.Target);
499 if (bufferView.Target != 0 &&
500 bufferView.Target !=
501 static_cast<unsigned short>(vtkGLTFDocumentLoader::Target::ELEMENT_ARRAY_BUFFER) &&
502 bufferView.Target != static_cast<unsigned short>(vtkGLTFDocumentLoader::Target::ARRAY_BUFFER))
503 {
504 vtkErrorWithObjectMacro(this->Self,
505 "Invalid bufferView.target value. Expecting ARRAY_BUFFER or ELEMENT_ARRAY_BUFFER");
506 return false;
507 }
508 return true;
509}
510
511//------------------------------------------------------------------------------
512bool vtkGLTFDocumentLoaderInternals::LoadCamera(

Callers 1

LoadModelMetaDataMethod · 0.95

Calls 3

GetStringValueFunction · 0.70
GetIntValueFunction · 0.70
emptyMethod · 0.45

Tested by

no test coverage detected