添加背板,优化顶底板,添加地脚板

pull/93/head
Zoe 6 years ago
parent e2cfeb67f4
commit 24be219cb5

@ -0,0 +1,56 @@
import { Matrix4, Vector3 } from 'three';
import { TopBottomBoardStore, ModalState, BehindBoardStore } from '../../UI/Store/BoardStore';
import { app } from '../../ApplicationServices/Application';
import { PromptStatus } from '../../Editor/PromptResult';
import { Board, BoardType } from '../../DatabaseServices/Board';
import { TopAndBottomSpaceParse } from '../../Geometry/SpaceParse';
import { Command } from '../../Editor/CommandMachine';
import { MoveMatrix } from '../../Geometry/GeUtils';
import { BehindBoardModal } from '../../UI/Components/Board/BehindBoardModal';
export class DrawBehindBoard implements Command
{
async exec()
{
let exSsRes = await app.m_Editor.GetSelection({ Msg: "请选择对象<全部选择>:", UseSelect: true });
if (exSsRes.Status === PromptStatus.Cancel)
return;
let boardCus = exSsRes.SelectSet.SelectEntityList.filter(en =>
en instanceof Board) as Board[];
if (boardCus.length >= 2)
{
let spaceParse = new TopAndBottomSpaceParse(boardCus, false);
await spaceParse.SpaceParse();
if (spaceParse.IsVail)
{
let store = BehindBoardStore.Store();
app.m_Editor.m_ModalManage.RenderBoardModal(store, BehindBoardModal);
let state = await store.GetBoardOption();
if (state === ModalState.Ok)
{
let board = Board.CreateBoard(spaceParse.BehindLength, spaceParse.SpaceLength, parseFloat(store.behindBoardOption.thickness), BoardType.Behind);
spaceParse.BaseBehindPoint.add(new Vector3(0, -parseFloat(store.behindBoardOption.thickness)))
board.ApplyMatrix(MoveMatrix(spaceParse.BaseBehindPoint));
let rot = new Matrix4().extractRotation(spaceParse.OCS)
board.ApplyMatrix(rot);
app.m_Database.ModelSpace.Append(board);
}
}
else
{
app.m_Editor.m_CommandStore.Prompt("选择板无效")
}
}
else
{
app.m_Editor.m_CommandStore.Prompt("不是选择2块板或者板类型不正确")
}
}
}

@ -1,11 +1,10 @@
//绘制板件 //绘制板件
import * as THREE from 'three'; import * as THREE from 'three';
import { Command } from '../../Editor/CommandMachine';
import { app } from '../ApplicationServices/Application'; import { MaterialNeedUpdateKey } from '../../DatabaseServices/MaterialDictionary';
import { CreateBoardUtil } from '../ApplicationServices/mesh/createBoard'; import { MoveMatrix } from '../../Geometry/GeUtils';
import { MaterialNeedUpdateKey } from '../DatabaseServices/MaterialDictionary'; import { CreateBoardUtil } from '../../ApplicationServices/mesh/createBoard';
import { Command } from '../Editor/CommandMachine'; import { app } from '../../ApplicationServices/Application';
import { MoveMatrix } from '../Geometry/GeUtils';
export class Command_DrawBoard implements Command export class Command_DrawBoard implements Command
{ {

@ -1,24 +1,26 @@
import { Vector3 } from 'three'; import { Vector3 } from 'three';
import { app } from '../ApplicationServices/Application'; import { SideBoardStore, ModalState } from '../../UI/Store/BoardStore';
import { Board, BoardType } from '../DatabaseServices/Board'; import { BoardType, Board } from '../../DatabaseServices/Board';
import { Command } from '../Editor/CommandMachine'; import { Command } from '../../Editor/CommandMachine';
import { PromptStatus } from '../Editor/PromptResult'; import { app } from '../../ApplicationServices/Application';
import { MoveMatrix } from '../Geometry/GeUtils'; import { MoveMatrix } from '../../Geometry/GeUtils';
import { ModalState, SideBoardStore } from '../UI/Store/BoardStore'; import { PromptStatus } from '../../Editor/PromptResult';
import { LeftRightBoardModal } from '../../UI/Components/Board/leftRightBoardModal';
export class DrawLeftRight implements Command export class DrawLeftRight implements Command
{ {
async exec() async exec()
{ {
app.m_Editor.m_ModalManage.RenderLeftRightBoard(); let store = SideBoardStore.Store();
let sideBoardStore = SideBoardStore.Store();
let state = await sideBoardStore.GetBoardOption(); app.m_Editor.m_ModalManage.RenderBoardModal(store, LeftRightBoardModal);
let state = await store.GetBoardOption();
if (state === ModalState.Ok) if (state === ModalState.Ok)
{ {
let data = sideBoardStore.boardOption; let data = store.boardOption;
let lenght = data.lenght ? parseFloat(data.lenght) : 0; let lenght = data.lenght ? parseFloat(data.lenght) : 0;
let width = data.width ? parseFloat(data.width) : 0; let width = data.width ? parseFloat(data.width) : 0;
let thickness = data.thickness ? parseFloat(data.thickness) : 0; let thickness = data.thickness ? parseFloat(data.thickness) : 0;

@ -1,11 +1,13 @@
import { app } from '../ApplicationServices/Application';
import { Board, BoardType } from '../DatabaseServices/Board';
import { Command } from '../Editor/CommandMachine';
import { PromptStatus } from '../Editor/PromptResult';
import { MoveMatrix } from '../Geometry/GeUtils';
import { TopAndBottomSpaceParse } from '../Geometry/SpaceParse';
import { ModalState, TopBottomBoardStore } from '../UI/Store/BoardStore';
import { Matrix4, Vector3 } from 'three'; import { Matrix4, Vector3 } from 'three';
import { TopBottomBoardStore, ModalState } from '../../UI/Store/BoardStore';
import { app } from '../../ApplicationServices/Application';
import { PromptStatus } from '../../Editor/PromptResult';
import { Board, BoardType } from '../../DatabaseServices/Board';
import { TopAndBottomSpaceParse } from '../../Geometry/SpaceParse';
import { Command } from '../../Editor/CommandMachine';
import { MoveMatrix } from '../../Geometry/GeUtils';
import { TopBottomBoardModal } from '../../UI/Components/Board/TopBottomBoardModal';
export class DrawTopBottomBoard implements Command export class DrawTopBottomBoard implements Command
{ {
@ -16,9 +18,9 @@ export class DrawTopBottomBoard implements Command
return; return;
let boardCus = exSsRes.SelectSet.SelectEntityList.filter(en => let boardCus = exSsRes.SelectSet.SelectEntityList.filter(en =>
en instanceof Board && en.BoardType === BoardType.Vertical) as Board[]; en instanceof Board) as Board[];
if (boardCus.length === 2) if (boardCus.length >= 2)
{ {
let spaceParse = new TopAndBottomSpaceParse(boardCus); let spaceParse = new TopAndBottomSpaceParse(boardCus);
@ -26,9 +28,12 @@ export class DrawTopBottomBoard implements Command
if (spaceParse.IsVail) if (spaceParse.IsVail)
{ {
app.m_Editor.m_ModalManage.RenderTopBottomBoard();
let store = TopBottomBoardStore.Store(); let store = TopBottomBoardStore.Store();
app.m_Editor.m_ModalManage.RenderBoardModal(store, TopBottomBoardModal);
let state = await store.GetBoardOption(); let state = await store.GetBoardOption();
if (state === ModalState.Ok) if (state === ModalState.Ok)
{ {
let topOpt = store.topBoardOption; let topOpt = store.topBoardOption;
@ -49,12 +54,14 @@ export class DrawTopBottomBoard implements Command
app.m_Editor.m_CommandStore.Prompt("不是选择2块板或者板类型不正确") app.m_Editor.m_CommandStore.Prompt("不是选择2块板或者板类型不正确")
} }
} }
buildTBBoard(spaceParse: TopAndBottomSpaceParse, opt, wrapPt: Vector3, noWrapPt: Vector3, isTop = false) buildTBBoard(spaceParse: TopAndBottomSpaceParse, opt: any, wrapPt: Vector3, noWrapPt: Vector3, isTop = false)
{ {
let board: Board; let board: Board;
let basePt: Vector3; let basePt: Vector3;
let length; let length;
let rot = new Matrix4().extractRotation(spaceParse.OCS)
if (opt.isWrapSide) if (opt.isWrapSide)
{ {
length = spaceParse.TotalLength; length = spaceParse.TotalLength;
@ -67,12 +74,17 @@ export class DrawTopBottomBoard implements Command
basePt = noWrapPt; basePt = noWrapPt;
!isTop && basePt.add(new Vector3(0, 0, parseFloat(opt.thickness))); !isTop && basePt.add(new Vector3(0, 0, parseFloat(opt.thickness)));
basePt.add(new Vector3(0, 0, parseFloat(opt.offset) * (isTop ? -1 : 1))); basePt.add(new Vector3(0, 0, parseFloat(opt.offset) * (isTop ? -1 : 1)));
if (!isTop)
{
let footBoard = Board.CreateBoard(parseFloat(opt.offset), spaceParse.SpaceLength, parseFloat(opt.footThickness), BoardType.Behind);
footBoard.ApplyMatrix(MoveMatrix(spaceParse.BaseFootPoint));
footBoard.ApplyMatrix(rot);
app.m_Database.ModelSpace.Append(footBoard);
}
} }
board = Board.CreateBoard(length, spaceParse.SpaceWidth - parseFloat(opt.forwardDistance) + parseFloat(opt.behindDistance), parseFloat(opt.thickness), BoardType.Layer) board = Board.CreateBoard(length, spaceParse.SpaceWidth - parseFloat(opt.forwardDistance) + parseFloat(opt.behindDistance), parseFloat(opt.thickness), BoardType.Layer)
board.ApplyMatrix(MoveMatrix(basePt)); board.ApplyMatrix(MoveMatrix(basePt));
let rot = new Matrix4().extractRotation(spaceParse.OCS)
board.ApplyMatrix(rot); board.ApplyMatrix(rot);
app.m_Database.ModelSpace.Append(board); app.m_Database.ModelSpace.Append(board);
} }

@ -25,9 +25,9 @@ export class Test implements Command
b1.ApplyMatrix(MoveMatrix(new Vector3(10, 10, 10))) b1.ApplyMatrix(MoveMatrix(new Vector3(10, 10, 10)))
b2.ApplyMatrix(MoveMatrix(new Vector3(10, 10, 10))) b2.ApplyMatrix(MoveMatrix(new Vector3(10, 10, 10)))
b3.ApplyMatrix(MoveMatrix(new Vector3(10, 10, 10))) b3.ApplyMatrix(MoveMatrix(new Vector3(10, 10, 10)))
b1.ApplyMatrix(rotate) // b1.ApplyMatrix(rotate)
b2.ApplyMatrix(rotate) // b2.ApplyMatrix(rotate)
b3.ApplyMatrix(rotate) // b3.ApplyMatrix(rotate)
app.m_Database.ModelSpace.Append(b1); app.m_Database.ModelSpace.Append(b1);
app.m_Database.ModelSpace.Append(b2); app.m_Database.ModelSpace.Append(b2);

@ -8,6 +8,7 @@ import { Entity } from './Entity';
import { Line } from './Line'; import { Line } from './Line';
import { DbPhysicalMaterial } from './PhysicalMaterial'; import { DbPhysicalMaterial } from './PhysicalMaterial';
import { Shape } from './Shape'; import { Shape } from './Shape';
import { ColorMaterial } from '../Common/ColorPalette';
@ -86,6 +87,7 @@ export class Board extends Entity
let roMat = board.getRotateMatrix4(boardType); let roMat = board.getRotateMatrix4(boardType);
board.ApplyMatrix(roMat); board.ApplyMatrix(roMat);
board.ColorIndex = boardType + 1;
return board; return board;
} }
getRotateMatrix4(boardType: BoardType) getRotateMatrix4(boardType: BoardType)
@ -201,7 +203,7 @@ export class Board extends Entity
} }
InitDrawObject(renderType: RenderType = RenderType.Wireframe): Object3D InitDrawObject(renderType: RenderType = RenderType.Wireframe): Object3D
{ {
return new THREE.Mesh(this.UpdateGeometry()); return new THREE.Mesh(this.UpdateGeometry(), ColorMaterial.GetLineMaterial(this.ColorIndex));
} }
private UpdateGeometry() private UpdateGeometry()
{ {

@ -7,7 +7,7 @@ import { CopyClip } from '../Add-on/CopyClip';
import { Command_CopyPoint } from '../Add-on/CopyPoint'; import { Command_CopyPoint } from '../Add-on/CopyPoint';
import { CustomUcs } from '../Add-on/CostumUCS'; import { CustomUcs } from '../Add-on/CostumUCS';
import { DrawArc } from '../Add-on/DrawArc'; import { DrawArc } from '../Add-on/DrawArc';
import { Command_DrawBoard } from '../Add-on/DrawBoard'; import { Command_DrawBoard } from '../Add-on/DrawBoard/DrawBoard';
import { DrawAlignedDimension } from '../Add-on/DrawDim/DrawAlignedDimension'; import { DrawAlignedDimension } from '../Add-on/DrawDim/DrawAlignedDimension';
import { DrawLineAngularDimension } from '../Add-on/DrawDim/DrawLineAngularDimension'; import { DrawLineAngularDimension } from '../Add-on/DrawDim/DrawLineAngularDimension';
import { DrawLinearDimension } from '../Add-on/DrawDim/DrawLinearDimension'; import { DrawLinearDimension } from '../Add-on/DrawDim/DrawLinearDimension';
@ -64,8 +64,9 @@ import { Command_DimTest } from '../DatabaseServices/Dimension/dimTest';
import { commandMachine } from './CommandMachine'; import { commandMachine } from './CommandMachine';
import { Union } from '../Add-on/CSGUnion'; import { Union } from '../Add-on/CSGUnion';
import { Command_Ssget } from '../Add-on/ssget'; import { Command_Ssget } from '../Add-on/ssget';
import { DrawLeftRight } from '../Add-on/DrawLeftRightBoard'; import { DrawLeftRight } from '../Add-on/DrawBoard/DrawLeftRightBoard';
import { DrawTopBottomBoard } from '../Add-on/DrawTopBottomBoard'; import { DrawTopBottomBoard } from '../Add-on/DrawBoard/DrawTopBottomBoard';
import { DrawBehindBoard } from '../Add-on/DrawBoard/DrawBehindBoard';
export function registerCommand() export function registerCommand()
{ {
@ -166,6 +167,7 @@ export function registerCommand()
commandMachine.RegisterCommand("pe", new Pedit()); commandMachine.RegisterCommand("pe", new Pedit());
commandMachine.RegisterCommand("zyc", new DrawLeftRight()); commandMachine.RegisterCommand("zyc", new DrawLeftRight());
commandMachine.RegisterCommand("dd", new DrawTopBottomBoard()); commandMachine.RegisterCommand("dd", new DrawTopBottomBoard());
commandMachine.RegisterCommand("bb", new DrawBehindBoard());
/*******test ↓↓↓*********/ /*******test ↓↓↓*********/

@ -29,11 +29,13 @@ export class SpaceParse
private m_BehindBoard: Board; private m_BehindBoard: Board;
protected boardMap: Map<BoardType, Board[]> = new Map(); protected boardMap: Map<BoardType, Board[]> = new Map();
protected m_StandardBoard: Board; protected m_StandardBoard: Board;
protected isSetStandardBoard: boolean = true;
constructor(boards: Board[]) constructor(boards: Board[], isSet?: boolean)
{ {
this.m_Boards = boards || []; this.m_Boards = boards || [];
if (isSet !== undefined)
this.isSetStandardBoard = isSet;
} }
SpaceParse() SpaceParse()
{ {
@ -77,10 +79,11 @@ export class TopAndBottomSpaceParse extends SpaceParse
//底包侧底板基点 //底包侧底板基点
private m_BaseBottomUpPoint: Vector3; private m_BaseBottomUpPoint: Vector3;
constructor(boards: Board[]) //背板基点
{ private m_BaseBehindPoint: Vector3;
super(boards); private m_BehindLength: number;
} private m_BaseFootPoint: Vector3;
get IsVail() get IsVail()
{ {
return this.m_IsVail; return this.m_IsVail;
@ -97,6 +100,10 @@ export class TopAndBottomSpaceParse extends SpaceParse
{ {
return this.m_SpaceWidth return this.m_SpaceWidth
} }
get BehindLength()
{
return this.m_BehindLength;
}
get BaseTopDownPoint() get BaseTopDownPoint()
{ {
return this.m_BaseTopDownPoint; return this.m_BaseTopDownPoint;
@ -113,6 +120,14 @@ export class TopAndBottomSpaceParse extends SpaceParse
{ {
return this.m_BaseBottomUpPoint; return this.m_BaseBottomUpPoint;
} }
get BaseBehindPoint()
{
return this.m_BaseBehindPoint;
}
get BaseFootPoint()
{
return this.m_BaseFootPoint;
}
get OCS() get OCS()
{ {
return this.m_StandardBoard ? this.m_StandardBoard.BoardOCS : new Matrix4(); return this.m_StandardBoard ? this.m_StandardBoard.BoardOCS : new Matrix4();
@ -174,9 +189,14 @@ export class TopAndBottomSpaceParse extends SpaceParse
{ {
let lMinPt = b1.MinPoint; let lMinPt = b1.MinPoint;
let rMinPt = b2.MinPoint; let rMinPt = b2.MinPoint;
let lMaxPt = b1.MaxPoint; let lMaxPt = b1.MaxPoint;
let rMaxPt = b2.MaxPoint; let rMaxPt = b2.MaxPoint;
let sMinPt: Vector3;
let sMaxPt: Vector3;
//左右侧板之间的垂直距离
let vec = rMinPt.clone().sub(lMinPt); let vec = rMinPt.clone().sub(lMinPt);
let ang = b1.Normal.angleTo(vec); let ang = b1.Normal.angleTo(vec);
let dist = vec.length() * Math.cos(ang); let dist = vec.length() * Math.cos(ang);
@ -189,25 +209,42 @@ export class TopAndBottomSpaceParse extends SpaceParse
//空间宽度 //空间宽度
this.m_SpaceWidth = this.m_StandardBoard.Width; this.m_SpaceWidth = this.m_StandardBoard.Width;
//顶底板基点位置
if (this.m_StandardBoard === this.m_LeftBoard) if (this.m_StandardBoard === this.m_LeftBoard)
{ {
[sMinPt, sMaxPt] = [lMinPt, lMaxPt];
this.m_BaseTopDownPoint = new Vector3(rMinPt.x, lMinPt.y); this.m_BaseTopDownPoint = new Vector3(rMinPt.x, lMinPt.y);
this.m_BaseTopUpPoint = new Vector3(rMinPt.x + b2.Thickness, lMinPt.y); this.m_BaseTopUpPoint = new Vector3(rMinPt.x + b2.Thickness, lMinPt.y);
} }
else else
{ {
[sMinPt, sMaxPt] = [rMinPt, rMaxPt];
this.m_BaseTopDownPoint = new Vector3(rMinPt.x, rMinPt.y); this.m_BaseTopDownPoint = new Vector3(rMinPt.x, rMinPt.y);
this.m_BaseTopUpPoint = new Vector3(rMinPt.x + b2.Thickness, rMinPt.y) this.m_BaseTopUpPoint = new Vector3(rMinPt.x + b2.Thickness, rMinPt.y)
} }
this.m_BaseTopDownPoint.setZ(lMaxPt.z < rMaxPt.z ? lMaxPt.z : rMaxPt.z);
this.m_BaseTopUpPoint.setZ(lMaxPt.z > rMaxPt.z ? lMaxPt.z : rMaxPt.z);
this.m_BaseBottomUpPoint = this.m_BaseTopDownPoint.clone(); this.m_BaseBottomUpPoint = this.m_BaseTopDownPoint.clone();
this.m_BaseBottomDownPoint = this.m_BaseTopUpPoint.clone(); this.m_BaseBottomDownPoint = this.m_BaseTopUpPoint.clone();
this.m_BaseBottomUpPoint.setZ(lMinPt.z > rMinPt.z ? lMinPt.z : rMinPt.z); this.m_BaseTopDownPoint.setZ(Math.min(lMaxPt.z, rMaxPt.z));
this.m_BaseBottomDownPoint.setZ(lMinPt.z < rMinPt.z ? lMinPt.z : rMinPt.z)
this.m_BaseTopUpPoint.setZ(Math.max(lMaxPt.z, rMaxPt.z));
this.m_BaseBottomUpPoint.setZ(Math.max(lMinPt.z, rMinPt.z));
this.m_BaseBottomDownPoint.setZ(Math.min(lMinPt.z, rMinPt.z));
//背板基点位置
this.m_BaseBehindPoint = new Vector3(b1.Position.x, Math.min(lMaxPt.y, rMaxPt.y), Math.min(lMinPt.z, rMinPt.z));
//地脚板基点位置
this.m_BaseFootPoint = this.m_BaseBottomDownPoint.clone();
this.m_BaseFootPoint.setX(b1.Position.x);
//背板长
this.m_BehindLength =
Math.min(lMaxPt.z, rMaxPt.z) - Math.min(lMinPt.z, rMinPt.z);
//分析背板 //分析背板
let behindBoards = this.boardMap.get(BoardType.Behind); let behindBoards = this.boardMap.get(BoardType.Behind);
@ -215,16 +252,31 @@ export class TopAndBottomSpaceParse extends SpaceParse
{ {
let behindBoard = behindBoards[0]; let behindBoard = behindBoards[0];
let b3 = behindBoard.Clone() as Board;
let behindNormal = b3.Normal;
let bMinPt = b3.MinPoint;
//背板和左右侧板垂直
if (equaln(behindNormal.angleTo(b1.Normal), Math.PI / 2, 1e-6))
{
if (bMinPt.y < sMaxPt.y - b3.Thickness && bMinPt.y > sMinPt.y + b3.Thickness)
{
// 背板在左右侧板上,更新空间的宽度
this.m_SpaceWidth = Math.abs(bMinPt.y - sMinPt.y + b3.Thickness)
}
}
} }
} }
async GetStandardBoard(b1: Board, b2: Board) async GetStandardBoard(b1: Board, b2: Board)
{ {
let lMinPt = b1.MinPoint; let lMinPt = b1.MinPoint;
let rMinPt = b2.MinPoint; let rMinPt = b2.MinPoint;
if (equaln(lMinPt.y, rMinPt.y) if ((equaln(lMinPt.y, rMinPt.y)
&& equaln(lMinPt.z, rMinPt.z) && equaln(lMinPt.z, rMinPt.z)
&& equaln(b1.Width, b2.Width) && equaln(b1.Width, b2.Width)
&& equaln(b1.Lenght, b2.Lenght)) && equaln(b1.Lenght, b2.Lenght))
|| !this.isSetStandardBoard
)
{ {
this.m_StandardBoard = this.m_LeftBoard; this.m_StandardBoard = this.m_LeftBoard;
return true; return true;

@ -0,0 +1,75 @@
import { Button, Dialog } from '@blueprintjs/core';
import { inject, observer } from 'mobx-react';
import * as React from 'react';
import { KeyBoard } from '../../../Common/KeyEnum';
import { BehindBoardStore, ModalState } from '../../Store/BoardStore';
@inject("store")
@observer
export class BehindBoardModal extends React.Component<{ store?: BehindBoardStore }, {}> {
constructor(props)
{
super(props);
}
render()
{
let store = this.props.store;
return (
<Dialog
iconName="inbox"
isOpen={true}
onClose={() => store.OnOk(ModalState.Cancel)}
canOutsideClickClose={false}
enforceFocus={false}
title="背板"
>
<div className="pt-dialog-body" onKeyDown={e =>
{
if (e.keyCode === KeyBoard.Enter)
{
store.OnOk(ModalState.Ok);
}
e.stopPropagation();
}
}>
{
Array.from(store.m_Parameter.keys()).map(k =>
{
return (
<div key={k}>
<label htmlFor="">{store.m_Parameter.get(k)}:</label>
<input
type="number"
value={store.behindBoardOption[k]}
onChange={e =>
{
store.behindBoardOption[k] = e.target.value;
}}
/>
</div>
)
})
}
</div>
<div className="pt-dialog-footer">
<div className="pt-dialog-footer-actions">
<Button className="LeftRightBtn" text="确定" onClick={() =>
{
store.OnOk(ModalState.Ok);
}} />
<Button className="LeftRightBtn" text="取消" onClick={() =>
{
store.OnOk(ModalState.Cancel);
}} />
</div>
</div>
</ Dialog>
);
}
}

@ -5,7 +5,11 @@ import { inject, observer } from 'mobx-react';
@inject("store") @inject("store")
@observer @observer
export class TopBottomBaordDiaLog extends React.Component<{ store?: TopBottomBoardStore }> { export class TopBottomBoardModal extends React.Component<{ store?: TopBottomBoardStore }> {
constructor(props)
{
super(props);
}
render() render()
{ {
let store = this.props.store; let store = this.props.store;

@ -4,27 +4,13 @@ import * as React from 'react';
import { KeyBoard } from '../../../Common/KeyEnum'; import { KeyBoard } from '../../../Common/KeyEnum';
import { ModalState, SideBoardStore } from '../../Store/BoardStore'; import { ModalState, SideBoardStore } from '../../Store/BoardStore';
interface LRState
{
lenght: string,
width: string,
thickness: string,
spacing: string
}
@inject("store") @inject("store")
@observer @observer
export class LeftRightBaordDialog extends React.Component<{ store?: SideBoardStore }, LRState> { export class LeftRightBoardModal extends React.Component<{ store?: SideBoardStore }, {}> {
constructor(props) constructor(props)
{ {
super(props); super(props);
let store = this.props.store;
this.state = {
lenght: store.boardOption.lenght + "",
width: store.boardOption.width + "",
thickness: store.boardOption.thickness + "",
spacing: store.boardOption.spacing + ""
}
} }
render() render()
{ {

@ -9,11 +9,12 @@ import { PointLight } from '../../../DatabaseServices/PointLight';
import { Text } from '../../../DatabaseServices/Text/Text'; import { Text } from '../../../DatabaseServices/Text/Text';
import { Editor } from '../../../Editor/Editor'; import { Editor } from '../../../Editor/Editor';
import { PointPick } from '../../../Editor/PointPick'; import { PointPick } from '../../../Editor/PointPick';
import { SideBoardStore, TopBottomBoardStore } from '../../Store/BoardStore'; import { SideBoardStore, TopBottomBoardStore, BoardStore, BehindBoardStore } from '../../Store/BoardStore';
import { LeftRightBaordDialog } from '../Board/leftRightBaordDlg'; import { LeftRightBoardModal } from '../Board/leftRightBoardModal';
import { LightModal } from './LightModal'; import { LightModal } from './LightModal';
import './Modal.css'; import './Modal.css';
import { TopBottomBaordDiaLog } from '../Board/TopBottomBaord'; import { TopBottomBoardModal } from '../Board/TopBottomBoardModal';
import { BehindBoardModal } from '../Board/BehindBoardModal';
export class ModalManage export class ModalManage
@ -44,19 +45,11 @@ export class ModalManage
this.OnMouseDbClick() this.OnMouseDbClick()
}) })
} }
RenderLeftRightBoard() RenderBoardModal(store: BoardStore, Com: any)
{ {
ReactDOM.render( ReactDOM.render(
<Provider store={SideBoardStore.Store()}> <Provider store={store}>
<LeftRightBaordDialog /> <Com />
</Provider>,
this.m_ModalContainer);
}
RenderTopBottomBoard()
{
ReactDOM.render(
<Provider store={TopBottomBoardStore.Store()}>
<TopBottomBaordDiaLog />
</Provider>, </Provider>,
this.m_ModalContainer); this.m_ModalContainer);
} }

@ -21,7 +21,7 @@ export enum ModalState
Cancel = -1 Cancel = -1
} }
class BoardStore export class BoardStore
{ {
protected m_PromisRes; protected m_PromisRes;
constructor() constructor()
@ -106,3 +106,24 @@ export class TopBottomBoardStore extends BoardStore
return this._store; return this._store;
} }
} }
export class BehindBoardStore extends BoardStore
{
@observable behindBoardOption = {
leftExt: "0",
rightExt: "0",
topExt: "0",
bottomExt: "0",
thickness: "0.18",
};
m_Parameter = new Map([
["leftExt", "左延伸"], ["rightExt", "右延伸"], ["topExt", "顶延伸"],
["bottomExt", "底延伸"], ["thickness", "板厚"],
]);
private static _store: BehindBoardStore;
static Store()
{
if (!this._store) this._store = new BehindBoardStore();
return this._store;
}
}

Loading…
Cancel
Save