mirror of
https://github.com/xibyte/jsketcher
synced 2025-12-06 08:25:19 +01:00
54 lines
967 B
TypeScript
54 lines
967 B
TypeScript
import {ParametricSurface, UV} from "./parametricSurface";
|
|
import {Matrix3x4Data} from "math/matrix";
|
|
import {Vec3} from "math/vec";
|
|
|
|
export default class NullSurface implements ParametricSurface {
|
|
|
|
domainU: [number, number];
|
|
domainV: [number, number];
|
|
|
|
knotsU: number[];
|
|
knotsV: number[];
|
|
|
|
uMin: number;
|
|
uMax: number;
|
|
vMin: number;
|
|
vMax: number;
|
|
isMirrored: boolean;
|
|
|
|
constructor() {
|
|
this.domainU = [0, 1];
|
|
this.domainV = [0, 1];
|
|
this.knotsU = [0, 1];
|
|
this.knotsV = [0, 1];
|
|
this.isMirrored = false;
|
|
}
|
|
|
|
degreeU(): number {
|
|
return 1;
|
|
}
|
|
|
|
degreeV(): number {
|
|
return 1;
|
|
}
|
|
|
|
param(point: Vec3): UV {
|
|
return [0, 0];
|
|
}
|
|
|
|
point(u: number, v: number): Vec3 {
|
|
return [0, 0, 0];
|
|
}
|
|
|
|
eval(u: number, v: number, order: number): Vec3[] {
|
|
return [[0, 0, 0]];
|
|
}
|
|
|
|
normal(u: number, v: number): Vec3 {
|
|
return [0, 0, 1];
|
|
}
|
|
|
|
transform(tr: Matrix3x4Data): ParametricSurface {
|
|
return this;
|
|
}
|
|
}
|