All files / Sources/Proxy/Core/ProxyManager index.js

100% Statements 13/13
0% Branches 0/1
100% Functions 1/1
100% Lines 13/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56                    3x                                 3x 3x         3x 3x 3x   3x 3x 3x 3x     3x   3x         1x          
import macro from 'vtk.js/Sources/macros';
 
import core from './core';
import state from './state';
import view from './view';
import properties from './properties';
 
// ----------------------------------------------------------------------------
 
export function extend(publicAPI, model, initialValues = {}) {
  Object.assign(
    model,
    {
      proxyIdMapping: {},
      proxyByGroup: {},
      proxyConfiguration: {}, // { definitions: {}, representations: { viewName: { sourceType: representationName } } }
      sv2rMapping: {}, // sv2rMapping[sourceId][viewId] = rep
      r2svMapping: {}, // r2svMapping[representationId] = { sourceId, viewId }
      collapseState: {},
      lookupTables: {},
      piecewiseFunctions: {},
      animating: false,
    },
    initialValues
  );
 
  // Object methods
  macro.obj(publicAPI, model);
  macro.setGet(publicAPI, model, [
    'proxyConfiguration',
    'activeSource',
    'activeView',
  ]);
  macro.event(publicAPI, model, 'ActiveSourceChange');
  macro.event(publicAPI, model, 'ActiveViewChange');
  macro.event(publicAPI, model, 'ProxyRegistrationChange');
 
  core(publicAPI, model);
  state(publicAPI, model);
  view(publicAPI, model);
  properties(publicAPI, model);
 
  // Add proxy API
  macro.proxy(publicAPI, model);
 
  model.classHierarchy.push('vtkProxyManager');
}
 
// ----------------------------------------------------------------------------
 
export const newInstance = macro.newInstance(extend, 'vtkProxyManager');
 
// ----------------------------------------------------------------------------
 
export default { newInstance, extend };