How to use the @xviz/parser.StreamSynchronizer 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 / parser / synchronizers / stream-synchronizer.spec.js View on Github external
// last entry for stream2
      timestamp: 121,
      streams: {
        stream2: {value: 40}
      }
    },
    {
      // empty entry for stream2
      timestamp: 122,
      streams: {
        stream2: null
      }
    }
  ];

  const streamSynchronizer = new StreamSynchronizer(STREAMS_WITH_NO_DATA_ENTRIES);

  // Test a time before any valid entries and with no entries within TIME_WINDOW
  streamSynchronizer.setTime(99);
  let data = streamSynchronizer.getLogSlice();
  t.equals(data.streams.stream1, undefined, 'stream1 is undefined at time 99');
  t.equals(data.streams.stream2, undefined, 'stream2 is undefined at time 99');

  // Test with a valid entry for stream1 and no entry in the window for stream2
  streamSynchronizer.setTime(100);
  data = streamSynchronizer.getLogSlice();
  t.equals(data.streams.stream1.value, 1, 'stream1 is 1 at time 100');
  t.equals(data.streams.stream2, undefined, 'stream2 is undefined at time 100');

  // Test with a valid entry for both logs
  streamSynchronizer.setTime(102);
  data = streamSynchronizer.getLogSlice();
github uber / xviz / test / modules / parser / synchronizers / stream-synchronizer.spec.js View on Github external
testBuffer.timeslices = [
    {
      timestamp: 50,
      streams: {
        log1: {value: 1},
        log2: {value: 10}
      },
      links: {
        log2: {
          target_pose: 'log1'
        }
      }
    }
  ];

  const streamSynchronizer = new StreamSynchronizer(testBuffer);

  streamSynchronizer.setTime(50);
  setXVIZConfig({ALLOW_MISSING_PRIMARY_POSE: true});
  const frame = streamSynchronizer.getCurrentFrame();

  t.ok(frame, 'frame is generated without vehicle pose');
  t.deepEquals(frame.links, {log2: {target_pose: 'log1'}}, 'frame contains correct links');

  t.end();
});
/* eslint-enable camelcase */
github uber / xviz / test / modules / parser / synchronizers / stream-synchronizer.spec.js View on Github external
tape('StreamSynchronizer#constructor', t => {
  const logSynchronizer = new StreamSynchronizer(TEST_BUFFER);
  t.ok(logSynchronizer instanceof StreamSynchronizer, 'Constructed');
  t.end();
});
github uber / xviz / test / modules / parser / synchronizers / stream-synchronizer.spec.js View on Github external
tape('StreamSynchronizer#getData', t => {
  resetXVIZConfigAndSettings();
  setXVIZConfig({TIME_WINDOW: 3});
  const logSynchronizer = new StreamSynchronizer(TEST_BUFFER);

  for (const tc of TEST_CASES) {
    const {time, log1, log2} = tc;
    logSynchronizer.setTime(time);
    t.comment(`Set time to ${time}`);
    const data = logSynchronizer.getLogSlice();
    if (log1) {
      if (log1 === 'empty_entry') {
        t.equals(data.streams.log1.value, undefined, 'Got correct empty entry for log1');
      } else {
        t.equals(data.streams.log1.value, log1, 'Got correct log1 value');
      }
    } else {
      t.equals(data.streams.log1, undefined, 'Got undefined log1 value');
    }
github uber / xviz / test / modules / parser / synchronizers / stream-synchronizer.spec.js View on Github external
tape('StreamSynchronizer#setTime', t => {
  const logSynchronizer = new StreamSynchronizer(TEST_BUFFER);
  logSynchronizer.setTime(10);
  t.equals(logSynchronizer.getTime(), 10, 'Set and retrieved time');
  t.end();
});
github uber / xviz / test / modules / parser / synchronizers / stream-synchronizer.spec.js View on Github external
tape('StreamSynchronizer#getCurrentFrame', t => {
  resetXVIZConfigAndSettings();
  setXVIZConfig({TIME_WINDOW: 3});
  const streamSynchronizer = new StreamSynchronizer(TEST_BUFFER);

  streamSynchronizer.setTime(100);
  let frame = streamSynchronizer.getCurrentFrame();

  t.notOk(frame, 'frame is null if no vehicle pose');

  setXVIZConfig({ALLOW_MISSING_PRIMARY_POSE: true});
  frame = streamSynchronizer.getCurrentFrame();

  t.ok(frame, 'frame is generated without vehicle pose');
  t.deepEquals(
    frame.streams,
    {log1: {value: 1}, log2: {value: 20}},
    'frame contains correct streams'
  );
  t.ok(
github uber / streetscape.gl / modules / core / src / loaders / xviz-loader-interface.js View on Github external
_onXVIZMetadata(metadata) {
    this.set('metadata', metadata);
    if (metadata.streams && Object.keys(metadata.streams).length > 0) {
      this.set('streamSettings', metadata.streams);
    }

    if (!this.streamBuffer) {
      throw new Error('streamBuffer is missing');
    }
    this.logSynchronizer = this.logSynchronizer || new StreamSynchronizer(this.streamBuffer);

    const timestamp = this.get('timestamp');
    const newTimestamp = Number.isFinite(timestamp) ? timestamp : metadata.start_time;
    if (Number.isFinite(newTimestamp)) {
      this.seek(newTimestamp);
    }
  }