jsketcher/modules/math/axis.ts
2022-06-25 15:19:47 -07:00

31 lines
550 B
TypeScript

import Vector from "math/vector";
export default class Axis {
origin: Vector;
direction: Vector;
constructor(origin, direction) {
this.origin = origin;
this.direction = direction;
}
copy(axis: Axis) {
this.origin.setV(axis.origin);
this.direction.setV(axis.direction);
return this;
}
clone() {
return new Axis(this.origin.copy(), this.direction.copy());
}
move(x, y, z) {
this.origin.set(x, y, z);
return this;
}
invert() {
return new Axis(this.origin, this.direction.negate());
}
}