jsketcher/web/app/cad/assembly/dof/EEEEDOF.ts
Val Erastov (xibyte) f24a3f45a5 imports grooming
2020-07-19 23:09:46 -07:00

41 lines
No EOL
1.3 KiB
TypeScript

import Vector from "math/vector";
import { FaceTouchAlignConstraint } from "../constraints/faceTouchAlign";
import { Plane } from 'geom/impl/plane';
import { AssemblyDOF, ModificationResponse } from "./assemblyDOF";
import { ConflictDOF } from './conflictDOF';
import {EdgeAlignConstraint} from "../constraints/edgeAlign";
import {Matrix3x4} from "math/matrix";
export class EEEEDOF implements AssemblyDOF {
description = 'edge to edge twice';
origin1: Vector;
dir1: Vector;
origin2: Vector;
dir2: Vector;
constructor(origin1: Vector, dir1: Vector, origin2: Vector, dir2: Vector) {
this.origin1 = origin1;
this.dir1 = dir1;
this.origin2 = origin2;
this.dir2 = dir2;
}
rotate(axis: Vector, angle: number, location: Matrix3x4, strict: boolean): ModificationResponse {
return ModificationResponse.REJECTED;
}
translate(dir: Vector, location: Matrix3x4, strict: boolean): ModificationResponse {
return ModificationResponse.REJECTED;
}
applyTouchAlign(constr: FaceTouchAlignConstraint): AssemblyDOF {
return new ConflictDOF(constr, 'plane touch/align constraint cannot be applied when object is at ' + this.description + ' relationship');
}
applyEdgeAlign(constr: EdgeAlignConstraint): AssemblyDOF {
return this;
}
}