|
|
|
@ -16,8 +16,10 @@ import { TemplateVisualSpace } from "../../../DatabaseServices/Template/ProgramT
|
|
|
|
|
import { Vector3 } from "three";
|
|
|
|
|
import { equaln, isParallelTo } from "../../../Geometry/GeUtils";
|
|
|
|
|
import { TemplateSizeBoard } from "../../../DatabaseServices/Template/ProgramTempate/TemplateSizeBoard";
|
|
|
|
|
import { openDirTitle } from "../../../UI/Store/DoorDrawerStore/DoorStore";
|
|
|
|
|
import { ExtureContourCurve } from "../../../DatabaseServices/Entity/Extrude";
|
|
|
|
|
import { DoorStore, openDirTitle } from "../../../UI/Store/DoorDrawerStore/DoorStore";
|
|
|
|
|
import { toJS } from "mobx";
|
|
|
|
|
import { INeedUpdateParams } from "../../../UI/Components/Template/TemplateComponent";
|
|
|
|
|
|
|
|
|
|
export class DrawDoorTool
|
|
|
|
|
{
|
|
|
|
@ -32,12 +34,17 @@ export class DrawDoorTool
|
|
|
|
|
/** 每个格子的信息Map*/
|
|
|
|
|
protected rowColIdMap: Map<string, IDoorInfo> = new Map();
|
|
|
|
|
private hingeSet: Set<ObjectId> = new Set();
|
|
|
|
|
protected option: IDoorConfigOption;
|
|
|
|
|
protected doorInfos: IDoorInfo[];
|
|
|
|
|
private currentHandleProps: INeedUpdateParams[];
|
|
|
|
|
constructor(
|
|
|
|
|
protected option: IDoorConfigOption,
|
|
|
|
|
store: DoorStore,
|
|
|
|
|
protected spaceParse: ISpaceParse,
|
|
|
|
|
protected doorInfos: IDoorInfo[],
|
|
|
|
|
)
|
|
|
|
|
{
|
|
|
|
|
this.option = store.m_Option;
|
|
|
|
|
this.doorInfos = toJS(store.doorDrawersInfo);
|
|
|
|
|
this.currentHandleProps = store.currentHandleProp;
|
|
|
|
|
}
|
|
|
|
|
private GetHeightExpr(expr: string)
|
|
|
|
|
{
|
|
|
|
@ -255,6 +262,20 @@ export class DrawDoorTool
|
|
|
|
|
handleSpace.PZParam.expr = zExpr;
|
|
|
|
|
|
|
|
|
|
let handleTemp = this._idTempMap.get(info.tempInfo.handleTemp.id);
|
|
|
|
|
|
|
|
|
|
//应用一次用户输入的拉手参数
|
|
|
|
|
if (this.currentHandleProps)
|
|
|
|
|
{
|
|
|
|
|
for (let prop of this.currentHandleProps)
|
|
|
|
|
{
|
|
|
|
|
if (DisableChangeParName.includes(prop.name)) continue;
|
|
|
|
|
let par = handleTemp.GetParam(prop.name);
|
|
|
|
|
if (par)
|
|
|
|
|
par.expr = prop.expr;
|
|
|
|
|
}
|
|
|
|
|
this.currentHandleProps = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
handleTemp = app.Database.WblockCloneObejcts([handleTemp], app.Database.TemplateTable, new Map(), DuplicateRecordCloning.Ignore)[0] as TemplateRecord;
|
|
|
|
|
handleSpace.Children.push(handleTemp.Id);
|
|
|
|
|
handleTemp.HParam.expr = "0";
|
|
|
|
|