42
42
struct AAssetManager ;
43
43
#endif
44
44
45
+ #include < simdjson.h>
45
46
namespace simdjson ::dom {
46
47
class array ;
47
48
class object ;
@@ -683,7 +684,7 @@ namespace fastgltf {
683
684
class Parser {
684
685
// The simdjson parser object. We want to share it between runs, so it does not need to
685
686
// reallocate over and over again. We're hiding it here to not leak the simdjson header.
686
- std::unique_ptr<simdjson::dom ::parser> jsonParser;
687
+ std::unique_ptr<simdjson::ondemand ::parser> jsonParser;
687
688
688
689
ParserInternalConfig config = {};
689
690
DataSource glbBuffer;
@@ -701,22 +702,23 @@ namespace fastgltf {
701
702
702
703
Error generateMeshIndices (Asset& asset) const ;
703
704
704
- Error parseAccessors (simdjson::dom::array& array, Asset& asset);
705
- Error parseAnimations (simdjson::dom::array& array, Asset& asset);
706
- Error parseBuffers (simdjson::dom::array& array, Asset& asset);
707
- Error parseBufferViews (simdjson::dom::array& array, Asset& asset);
708
- Error parseCameras (simdjson::dom::array& array, Asset& asset);
709
- Error parseExtensions (simdjson::dom::object& extensionsObject, Asset& asset);
710
- Error parseImages (simdjson::dom::array& array, Asset& asset);
711
- Error parseLights (simdjson::dom::array& array, Asset& asset);
712
- Error parseMaterials (simdjson::dom::array& array, Asset& asset);
713
- Error parseMeshes (simdjson::dom::array& array, Asset& asset);
714
- Error parseNodes (simdjson::dom::array& array, Asset& asset);
715
- Error parseSamplers (simdjson::dom::array& array, Asset& asset);
716
- Error parseScenes (simdjson::dom::array& array, Asset& asset);
717
- Error parseSkins (simdjson::dom::array& array, Asset& asset);
718
- Error parseTextures (simdjson::dom::array& array, Asset& asset);
719
- Expected<Asset> parse (simdjson::dom::object root, Category categories);
705
+ Error parseAccessors (simdjson::ondemand::array& array, Asset& asset);
706
+ Error parseAnimations (simdjson::ondemand::array& array, Asset& asset);
707
+ Error parseBuffers (simdjson::ondemand::array& array, Asset& asset);
708
+ Error parseBufferViews (simdjson::ondemand::array& array, Asset& asset);
709
+ Error parseCameras (simdjson::ondemand::array& array, Asset& asset);
710
+ Error parseExtensions (simdjson::ondemand::object& extensionsObject, Asset& asset);
711
+ Error parseImages (simdjson::ondemand::array& array, Asset& asset);
712
+ Error parseLights (simdjson::ondemand::array& array, Asset& asset);
713
+ Error parseMaterials (simdjson::ondemand::array& array, Asset& asset);
714
+ Error parseMeshPrimitives (simdjson::ondemand::array& array, Asset& asset, Mesh& mesh);
715
+ Error parseMeshes (simdjson::ondemand::array& array, Asset& asset);
716
+ Error parseNodes (simdjson::ondemand::array& array, Asset& asset);
717
+ Error parseSamplers (simdjson::ondemand::array& array, Asset& asset);
718
+ Error parseScenes (simdjson::ondemand::array& array, Asset& asset);
719
+ Error parseSkins (simdjson::ondemand::array& array, Asset& asset);
720
+ Error parseTextures (simdjson::ondemand::array& array, Asset& asset);
721
+ Expected<Asset> parse (simdjson::ondemand::object root, Category categories);
720
722
721
723
public:
722
724
explicit Parser (Extensions extensionsToLoad = Extensions::None) noexcept ;
0 commit comments