How to use the @xviz/parser.parseBinaryXVIZ function in @xviz/parser

To help you get started, we’ve selected a few @xviz/parser examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github uber / xviz / test / modules / builder / xviz-loader / xviz-encode-parse.spec.js View on Github external
test('XVIZLoader#encode-and-parse', t => {
  for (const tcName in TEST_CASES) {
    const TEST_JSON = TEST_CASES[tcName];

    const glbFileBuffer = encodeBinaryXVIZ(TEST_JSON, {flattenArrays: true});
    const json = parseBinaryXVIZ(glbFileBuffer);

    t.ok(
      !Array.isArray(json.buffers),
      `${tcName} Encoded and parsed XVIZ - has no JSON buffers field`
    );
    t.ok(
      !Array.isArray(json.bufferViews),
      `${tcName} Encoded and parsed XVIZ - has no JSON bufferViews field`
    );
    t.ok(
      !Array.isArray(json.accessors),
      `${tcName} Encoded and parsed XVIZ - has no JSON accessors field`
    );

    // const reference = toLowPrecision(packJsonArrays(TEST_JSON));
    // t.deepEqual(
github uber / xviz / test / modules / io / writers / xviz-encode-parse.spec.js View on Github external
const extensions = {};
  extensions[XVIZ_GLTF_EXTENSION] = EXPECTED_STATE_UPDATE_ACCESSOR;

  const extensionGlbJsonObject = {
    extensions,
    extensionsUsed: [XVIZ_GLTF_EXTENSION],
    ...JSON_GLB_CHUNK
  };

  const extensionArrayBuffer = encodeSync(
    {json: extensionGlbJsonObject, binary: BINARY_GLB_CHUNK},
    GLBWriter,
    {}
  );

  const extensionJson = parseBinaryXVIZ(extensionArrayBuffer);

  delete extensionJson.data.updates[0].primitives['/object/points'].points[0].colors.accessor;

  t.deepEqual(extensionJson, EXPECTED_STATE_UPDATE, 'Parse extension GLB correctly');

  // Now make sure we are using the XVIZ extension
  const options = {useAVSXVIZExtension: true};
  const encodedArrayBuffer = encodeBinaryXVIZ(EXPECTED_STATE_UPDATE, options);
  const resultStr = buffer2String(encodedArrayBuffer);

  t.notEqual(-1, resultStr.indexOf(XVIZ_GLTF_EXTENSION), 'AVS extension encoding check');

  t.end();
});
github uber / xviz / test / modules / builder / xviz-loader / xviz-encode-parse.spec.js View on Github external
]
  };

  const xvizBinary = encodeBinaryXVIZ(sample_lidar, options);
  const xvizBinaryDecoded = parseBinaryXVIZ(xvizBinary);

  validateLidarData(t, xvizBinaryDecoded);

  frame.state_updates[0].primitives.lidarPoints = xvizBinaryDecoded;

  const frameBinary = encodeBinaryXVIZ(frame, options);
  // TODO/ib - might be interesting to check why this has increased.
  // Should make effort to keep overhead small in loaders.gl
  t.equal(frameBinary.byteLength, 584);

  const xvizBinaryDecoded2 = parseBinaryXVIZ(frameBinary);
  const lidar = xvizBinaryDecoded2.state_updates[0].primitives.lidarPoints;
  validateLidarData(t, xvizBinaryDecoded);

  t.end();
});
github uber / xviz / test / modules / builder / xviz-loader / xviz-encode-parse.spec.js View on Github external
const extensions = {};
  extensions[XVIZ_GLTF_EXTENSION] = EXPECTED_STATE_UPDATE_ACCESSOR;

  const extensionGlbJsonObject = {
    extensions,
    extensionsUsed: [XVIZ_GLTF_EXTENSION],
    ...JSON_GLB_CHUNK
  };

  const extensionArrayBuffer = encodeSync(
    {json: extensionGlbJsonObject, binary: BINARY_GLB_CHUNK},
    GLBWriter,
    {}
  );

  const extensionJson = parseBinaryXVIZ(extensionArrayBuffer);

  delete extensionJson.data.updates[0].primitives['/object/points'].points[0].colors.accessor;

  t.deepEqual(extensionJson, EXPECTED_STATE_UPDATE, 'Parse extension GLB correctly');

  const conv = b => {
    const utf8decoder = new TextDecoder();
    return utf8decoder.decode(new Uint8Array(b));
  };

  // Now make sure we are using the XVIZ extension
  const options = {useAVSXVIZExtension: true};
  const encodedArrayBuffer = encodeBinaryXVIZ(EXPECTED_STATE_UPDATE, options);
  const resultStr = buffer2String(encodedArrayBuffer);

  t.notEqual(-1, resultStr.indexOf(XVIZ_GLTF_EXTENSION), 'AVS extension encoding check');
github uber / xviz / test / modules / builder / xviz-loader / xviz-encode-parse.spec.js View on Github external
test('XVIZLoader#parse-legacy-glb', t => {
  const legacyGlbJsonObject = {
    xviz: EXPECTED_STATE_UPDATE_ACCESSOR,
    ...JSON_GLB_CHUNK
  };

  const arrayBuffer = encodeSync(
    {json: legacyGlbJsonObject, binary: BINARY_GLB_CHUNK},
    GLBWriter,
    {}
  );

  const json = parseBinaryXVIZ(arrayBuffer);
  delete json.data.updates[0].primitives['/object/points'].points[0].colors.accessor;

  t.deepEqual(json, EXPECTED_STATE_UPDATE, 'Parse legacy GLB correctly');

  t.end();
});
github uber / xviz / test / modules / io / writers / xviz-encode-parse.spec.js View on Github external
test('XVIZLoader#parse-legacy-glb', t => {
  const legacyGlbJsonObject = {
    xviz: EXPECTED_STATE_UPDATE_ACCESSOR,
    ...JSON_GLB_CHUNK
  };

  const arrayBuffer = encodeSync(
    {json: legacyGlbJsonObject, binary: BINARY_GLB_CHUNK},
    GLBWriter,
    {}
  );

  const json = parseBinaryXVIZ(arrayBuffer);
  delete json.data.updates[0].primitives['/object/points'].points[0].colors.accessor;

  t.deepEqual(json, EXPECTED_STATE_UPDATE, 'Parse legacy GLB correctly');

  t.end();
});
github uber / xviz / test / modules / io / writers / xviz-encode-parse.spec.js View on Github external
color: [255, 0, 0, 255],
    vertices: new Float32Array([1, 2, 3, 4, 5, 6, 7, 8, 9]),
    reflectance: new Float32Array([9, 8, 7])
  };

  const frame = {
    state_updates: [
      {
        timestamps: 1317042272459,
        primitives: {}
      }
    ]
  };

  const xvizBinary = encodeBinaryXVIZ(sample_lidar, options);
  const xvizBinaryDecoded = parseBinaryXVIZ(xvizBinary);

  validateLidarData(t, xvizBinaryDecoded);

  frame.state_updates[0].primitives.lidarPoints = xvizBinaryDecoded;

  const frameBinary = encodeBinaryXVIZ(frame, options);
  t.equal(frameBinary.byteLength, 584);

  const xvizBinaryDecoded2 = parseBinaryXVIZ(frameBinary);
  const lidar = xvizBinaryDecoded2.state_updates[0].primitives.lidarPoints;
  validateLidarData(t, xvizBinaryDecoded);

  t.end();
});
github uber / xviz / test / modules / io / writers / xviz-encode-parse.spec.js View on Github external
primitives: {}
      }
    ]
  };

  const xvizBinary = encodeBinaryXVIZ(sample_lidar, options);
  const xvizBinaryDecoded = parseBinaryXVIZ(xvizBinary);

  validateLidarData(t, xvizBinaryDecoded);

  frame.state_updates[0].primitives.lidarPoints = xvizBinaryDecoded;

  const frameBinary = encodeBinaryXVIZ(frame, options);
  t.equal(frameBinary.byteLength, 584);

  const xvizBinaryDecoded2 = parseBinaryXVIZ(frameBinary);
  const lidar = xvizBinaryDecoded2.state_updates[0].primitives.lidarPoints;
  validateLidarData(t, xvizBinaryDecoded);

  t.end();
});
github uber / xviz / examples / server / xviz-serve-data.js View on Github external
function unpackFrame(frame, options = {}) {
  const shouldThrow = options.shouldThrow || true;

  let json;
  let isBinary = false;

  if (frame instanceof Buffer) {
    json = parseBinaryXVIZ(
      frame.buffer.slice(frame.byteOffset, frame.byteOffset + frame.byteLength)
    );
    isBinary = true;
  } else if (typeof frame === 'string') {
    json = JSON.parse(frame);
  } else if (shouldThrow) {
    throw new Error('Unknown frame type');
  }

  return {json, isBinary};
}
github uber / streetscape.gl / examples / server / xviz-serve-data.js View on Github external
const timings = frames.map(frame => {
    const data = getFrameData(frame);
    let jsonFrame = null;
    if (data instanceof Buffer) {
      jsonFrame = parseBinaryXVIZ(
        data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength)
      );
    } else if (typeof data === 'string') {
      jsonFrame = JSON.parse(data);
    }

    const ts = getTimestamp(jsonFrame);
    if (Number.isFinite(ts)) {
      lastTime = ts;
    }

    return lastTime;
  });