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

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;
}
}