brepjs API Reference
    Preparing search index...

    Interface KernelSurfaceOps

    interface KernelSurfaceOps {
        approximateSurfaceLspia(
            coords: number[],
            rows: number,
            cols: number,
            degreeU: number,
            degreeV: number,
            numCpsU: number,
            numCpsV: number,
            tolerance: number,
            maxIterations: number,
        ): any;
        classifyPointOnFace(
            face: any,
            u: number,
            v: number,
            tolerance?: number,
        ): "in" | "on" | "out";
        classifyPointRobust(
            shape: any,
            point: [number, number, number],
            tolerance: number,
        ): string;
        classifyPointWinding(
            shape: any,
            point: [number, number, number],
            tolerance: number,
        ): string;
        detectSmallFeatures(
            shape: any,
            areaThreshold: number,
            tolerance: number,
        ): any[];
        getNurbsSurfaceData?(face: any): NurbsSurfaceData | null;
        getSurfaceCylinderData(
            surface: any,
        ): { isDirect: boolean; radius: number } | null;
        outerWire(face: any): any;
        pointOnSurface(face: any, u: number, v: number): [number, number, number];
        projectEdges(
            shape: any,
            cameraOrigin: [number, number, number],
            cameraDirection: [number, number, number],
            cameraXAxis?: [number, number, number],
        ): {
            hidden: { outline: any; sharp: any; smooth: any };
            visible: { outline: any; sharp: any; smooth: any };
        };
        projectPointOnFace(
            face: any,
            point: [number, number, number],
        ): [number, number, number];
        recognizeFeatures(shape: any, tolerance: number): string;
        reverseSurfaceU(surface: any): any;
        surfaceNormal(face: any, u: number, v: number): [number, number, number];
        surfaceType(face: any): SurfaceType;
        untrimFace(
            face: any,
            samplesPerCurve: number,
            interiorSamples: number,
        ): any;
        uvBounds(
            face: any,
        ): { uMax: number; uMin: number; vMax: number; vMin: number };
        uvFromPoint(
            face: any,
            point: [number, number, number],
        ): [number, number] | null;
        vertexPosition(vertex: any): [number, number, number];
    }
    Index

    Methods

    • Approximate a surface via LSPIA.

      Parameters

      • coords: number[]
      • rows: number
      • cols: number
      • degreeU: number
      • degreeV: number
      • numCpsU: number
      • numCpsV: number
      • tolerance: number
      • maxIterations: number

      Returns any

    • Parameters

      • face: any
      • u: number
      • v: number
      • Optionaltolerance: number

      Returns "in" | "on" | "out"

    • Classify a point using robust dual-method.

      Parameters

      • shape: any
      • point: [number, number, number]
      • tolerance: number

      Returns string

    • Classify a point using winding numbers.

      Parameters

      • shape: any
      • point: [number, number, number]
      • tolerance: number

      Returns string

    • Detect small features (faces below area threshold). Returns face shapes.

      Parameters

      • shape: any
      • areaThreshold: number
      • tolerance: number

      Returns any[]

    • Extract cylinder data from a surface handle. Returns null if not a cylinder.

      Parameters

      • surface: any

      Returns { isDirect: boolean; radius: number } | null

    • Parameters

      • face: any
      • u: number
      • v: number

      Returns [number, number, number]

    • Project 3D edges onto a 2D plane (hidden line removal).

      Parameters

      • shape: any
      • cameraOrigin: [number, number, number]
      • cameraDirection: [number, number, number]
      • OptionalcameraXAxis: [number, number, number]

      Returns {
          hidden: { outline: any; sharp: any; smooth: any };
          visible: { outline: any; sharp: any; smooth: any };
      }

    • Parameters

      • face: any
      • point: [number, number, number]

      Returns [number, number, number]

    • Recognize geometric features. Returns JSON description.

      Parameters

      • shape: any
      • tolerance: number

      Returns string

    • Parameters

      • face: any
      • u: number
      • v: number

      Returns [number, number, number]

    • Untrim a NURBS face to its full surface domain.

      Parameters

      • face: any
      • samplesPerCurve: number
      • interiorSamples: number

      Returns any

    • Parameters

      • face: any

      Returns { uMax: number; uMin: number; vMax: number; vMin: number }

    • Parameters

      • face: any
      • point: [number, number, number]

      Returns [number, number] | null