initializeState()

in modules/layers/src/traffic-light-layer/traffic-light-layer.js [65:102]


  initializeState() {
    const {gl} = this.context;
    const modelsByName = this._getModels(gl);
    this.setState({
      models: [modelsByName.box, modelsByName.lights],
      modelsByName
    });

    const attributeManager = this.getAttributeManager();
    /* eslint-disable max-len */
    attributeManager.addInstanced({
      instancePositions: {
        size: 3,
        type: GL.DOUBLE,
        fp64: this.use64bitPositions(),
        accessor: 'getPosition'
      },
      instanceAngles: {size: 1, accessor: 'getAngle'},
      instanceShapes: {
        size: 1,
        type: GL.UNSIGNED_BYTE,
        accessor: 'getShape',
        transform: shape => LIGHT_SHAPE[shape] || 0
      },
      instanceColors: {
        size: 3,
        type: GL.UNSIGNED_BYTE,
        accessor: 'getColor',
        transform: color => LIGHT_COLOR[color] || LIGHT_COLOR.invalid
      },
      instanceStates: {
        size: 1,
        type: GL.UNSIGNED_BYTE,
        accessor: 'getState'
      }
    });
    /* eslint-enable max-len */
  }