jsketcher/modules/geom/surfaces/parametricSurface.ts
Val Erastov (xibyte) e11c1f7f4a geom module
2020-07-19 22:37:24 -07:00

34 lines
599 B
TypeScript

import {Matrix3x4Data} from "math/matrix";
import {Vec3} from "math/vec";
export type UV = [number, number];
export interface ParametricSurface {
domainU: [number, number];
domainV: [number, number];
knotsU: number[];
knotsV: number[];
uMin: number;
uMax: number;
vMin: number;
vMax: number;
isMirrored: boolean;
degreeU(): number;
degreeV(): number;
eval(u: number, v: number, num: number): number[][];
point(u: number, v: number): Vec3;
param(point: number[]): UV;
transform(tr: Matrix3x4Data): ParametricSurface;
normal(u:number, v:number): Vec3;
}