All files / src/WebGL/objects Line.ts

33.33% Statements 3/9
40% Branches 2/5
33.33% Functions 1/3
33.33% Lines 3/9

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        18x 18x 18x                                                              
import { Material, LineBasicMaterial } from "../materials";
import type { Geometry } from "../core";
import { Object3D } from "../core";
 
export enum LineStyle {
  LineStrip = 0,
  LinePieces = 1,
}
 
export class Line extends Object3D {
  type: any;
  geometry: Geometry;
  material: Material;
  constructor(
    geometry: Geometry,
    material: Material = new LineBasicMaterial({
      color: Math.random() * 0xffffff,
    }) as Material,
    type: LineStyle = LineStyle.LineStrip
  ) {
    super();
 
    this.geometry = geometry;
    //TODO: update material and type to webgl
    this.material = material;
    this.type = type;
  }
 
  clone<T extends this>(
    object = new Line(this.geometry, this.material, this.type) as T
  ): T {
    super.clone.call(this, object);
    return object;
  }
}