All files / core/src/loaders/utils/surface createSurface.ts

100% Statements 4/4
50% Branches 1/2
100% Functions 1/1
100% Lines 4/4

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                    4x   4x                 4x             4x    
import type { IGeometry, PublicSurfaceData } from '../../../types';
import { GeometryType } from '../../../enums';
import { validateSurface } from './validateSurface';
import { Surface } from '../../../cache/classes/Surface';
 
export function createSurface(
  geometryId: string,
  surfaceData: PublicSurfaceData
) {
  // validate the data to make sure it is a valid surface
  validateSurface(surfaceData);
 
  const surface = new Surface({
    id: surfaceData.id,
    points: surfaceData.points,
    polys: surfaceData.polys,
    color: surfaceData.color,
    frameOfReferenceUID: surfaceData.frameOfReferenceUID,
    segmentIndex: surfaceData.segmentIndex ?? 1,
  });
 
  const geometry: IGeometry = {
    id: geometryId,
    type: GeometryType.SURFACE,
    data: surface,
    sizeInBytes: surface.sizeInBytes,
  };
 
  return geometry;
}