pull/383/head
ChenX 5 years ago
parent 2dd5fc963b
commit 5d95050069

@ -1,11 +1,10 @@
import { Vector3 } from "three";
import { app } from "../../ApplicationServices/Application";
import { Board } from "../../DatabaseServices/Entity/Board";
import { Line } from "../../DatabaseServices/Entity/Line";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Command } from "../../Editor/CommandMachine";
import { PromptStatus } from "../../Editor/PromptResult";
import { equaln } from "../../Geometry/GeUtils";
import { equaln, ZeroVec } from "../../Geometry/GeUtils";
import { RegionParse } from "../../Geometry/RegionParse";
import { IntersectOption } from "../../GraphicsSystem/IntersectWith";
import { ModalPosition, ModalState } from "../../UI/Components/Modal/ModalsManage";
@ -92,7 +91,7 @@ export class ReferenceCutting implements Command
}
//切割刀线 方向的投影
let cutLineDir = brNorm.cross(brKnifNorm).applyMatrix4(br.OCSInv.setPosition(new Vector3()));
let cutLineDir = brNorm.cross(brKnifNorm).applyMatrix4(br.OCSInv.setPosition(ZeroVec));
let brContour = br.ContourCurve;

@ -13,7 +13,6 @@ import { ZeroVec } from "../../Geometry/GeUtils";
export function Board2Regions(br: Board): Region[]
{
let ocs = br.OCS;
let ocsRotate = ocs.clone().setPosition(ZeroVec);
let cu = br.ContourCurve.Clone();
@ -40,7 +39,7 @@ export function Board2Regions(br: Board): Region[]
let reg = Region.CreateFromCurves([rectPl]);
let p = l.StartPoint.applyMatrix4(ocs);
let x = l.GetFistDeriv(0).normalize().applyMatrix4(ocsRotate);
let x = l.GetFistDeriv(0).transformDirection(ocs);
let y = br.Normal;
let z = new Vector3().crossVectors(x, y);

@ -103,3 +103,13 @@ export function GetMirrorMat(v: Vector3)
mirrorMat.makeBasis(xAxis, yAxis, zAxis);
return mirrorMat;
}
export function ApplyMatrix4IgnorePosition(vec: { x: number, y: number, z: number }, m: Matrix4)
{
let { x, y, z } = vec;
let e = m.elements;
vec.x = e[0] * x + e[4] * y + e[8] * z;
vec.y = e[1] * x + e[5] * y + e[9] * z;
vec.z = e[2] * x + e[6] * y + e[10] * z;
return vec;
}

@ -1,18 +1,18 @@
import { Math as TMath, Mesh, Object3D, Vector3, Line as TLine, BufferGeometry, Matrix3 } from "three";
import { BufferGeometry, Line as TLine, Math as TMath, Matrix3, Mesh, Object3D, Vector3 } from "three";
import { arrayRemoveDuplicateBySort, arraySortByNumber } from "../../Common/ArrayExt";
import { ColorMaterial } from "../../Common/ColorPalette";
import { FixedNotZero, FixIndex } from "../../Common/Utils";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { BufferGeometryUtils } from "../../Geometry/BufferGeometryUtils";
import { angle, equalv3, equaln } from "../../Geometry/GeUtils";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { angle, equaln, equalv3, ZeroVec } from "../../Geometry/GeUtils";
import { IntersectOption } from "../../GraphicsSystem/IntersectWith";
import { Arc } from "../Entity/Arc";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { Factory } from "../CADFactory";
import { CADFiler } from "../CADFiler";
import { Arc } from "../Entity/Arc";
import { Entity } from "../Entity/Entity";
import { Line } from "../Entity/Line";
import { Text, TextAligen } from "../Text/Text";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
/**
* 线
@ -102,7 +102,7 @@ export class LineAngularDimension extends Entity
this.m_L2EndPoint,
this.m_DimPoint,
];
let ocsinv = this.OCSInv.setPosition(new Vector3());
let ocsinv = this.OCSInv.setPosition(ZeroVec);
vec = vec.clone().applyMatrix4(ocsinv);

@ -3,7 +3,7 @@ import { ColorMaterial } from "../../Common/ColorPalette";
import { FixedNotZero } from "../../Common/Utils";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { BufferGeometryUtils } from "../../Geometry/BufferGeometryUtils";
import { angle, angleAndX, midPoint } from "../../Geometry/GeUtils";
import { angle, angleAndX, midPoint, ZeroVec } from "../../Geometry/GeUtils";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { Factory } from "../CADFactory";
import { CADFiler } from "../CADFiler";
@ -231,7 +231,7 @@ export class AlignedDimension extends Entity
}
else
{
vec = vec.clone().applyMatrix4(this.OCSInv.clone().setPosition(new Vector3()));
vec = vec.clone().applyMatrix4(this.OCSInv.clone().setPosition(ZeroVec));
if (i === 0)
this.m_FootP1.add(vec);
else

@ -2,12 +2,7 @@ import { Vector3 } from "three";
import { ToFixed } from "../Common/Utils";
import { CSG } from "../csg/core/CSG";
import { Polygon } from "../csg/core/math/Polygon3";
interface Vec3
{
x: number;
y: number;
z: number;
}
import { Vec3 } from "./IVec3";
/**
* THREEBSP(CSG) .

@ -0,0 +1,7 @@
export interface Vec3
{
x: number;
y: number;
z: number;
}

@ -1,16 +1,10 @@
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { arrayRemoveIf } from "../../Common/ArrayExt";
import { FixIndex } from "../../Common/Utils";
import { IntersectOption } from "../IntersectWith";
import { Arc } from "../../DatabaseServices/Entity/Arc";
import { Line } from "../../DatabaseServices/Entity/Line";
interface Vec3
{
x: number;
y: number;
z: number;
}
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Vec3 } from "../../Geometry/IVec3";
import { IntersectOption } from "../IntersectWith";
/**
* V

@ -53,7 +53,7 @@ export class AngleDynamicInput extends RealDynamicInput
super.Destroy();
this.angleSymbolEl.remove();
}
SetPosition(x, y)
SetPosition(x: number, y: number)
{
super.SetPosition(x, y);
this.angleSymbolEl.style.display = "block";

@ -154,7 +154,7 @@ export class DynamicInput
this.Lock = false;
}
//设置位置
SetPosition(x, y)
SetPosition(x: number, y: number)
{
if (DynamicInputManage.GetManage().IsInputing) return;
this.container.style.left = `${x}px`;

Loading…
Cancel
Save