react-three-nurbs
Version:
A React component library for NURBS (Non-Uniform Rational B-Spline) curves, surfaces, and solids in Three.js. Built with React Three Fiber, zero external NURBS dependencies — all math implemented from scratch. Boolean operations powered by OpenCASCADE WAS
32 lines (31 loc) • 799 B
TypeScript
import { NurbsSolid } from "../core";
import type { SolidData, FaceData } from "../core";
export type SolidPrimitive = {
type: "box";
dx: number;
dy: number;
dz: number;
origin?: [number, number, number];
} | {
type: "cylinder";
radius: number;
height: number;
axis?: [number, number, number];
origin?: [number, number, number];
} | {
type: "sphere";
radius: number;
center?: [number, number, number];
} | {
type: "custom";
faces: FaceData[];
};
export interface UseNurbsSolidOptions {
primitive: SolidPrimitive;
}
export interface UseNurbsSolidResult {
solid: NurbsSolid | null;
data: SolidData | null;
faces: FaceData[];
}
export declare function useNurbsSolid({ primitive, }: UseNurbsSolidOptions): UseNurbsSolidResult;