fix #ILY9E 移除db存储view数据,改成app存储,更新测试数据精度.

pull/97/MERGE
ChenX 6 years ago
parent b19d69bd92
commit b1679f3959

@ -24,23 +24,23 @@ exports[`圆求交错误导致的线丢失 3`] = `4021.9003332433504`;
exports[`圆求交错误导致的线丢失 4`] = `4581.2242286506635`; exports[`圆求交错误导致的线丢失 4`] = `4581.2242286506635`;
exports[`圆求交错误导致的线丢失 5`] = `3900.6079069452912`; exports[`圆求交错误导致的线丢失 5`] = `3900.6079069452903`;
exports[`圆求交错误导致的线丢失 6`] = `4757.468532252381`; exports[`圆求交错误导致的线丢失 6`] = `4757.46853225238`;
exports[`圆求交错误导致的线丢失 7`] = `3783.748662100121`; exports[`圆求交错误导致的线丢失 7`] = `3783.74866210012`;
exports[`圆求交错误导致的线丢失 8`] = `4972.012479701851`; exports[`圆求交错误导致的线丢失 8`] = `4972.0124797018525`;
exports[`圆求交错误导致的线丢失 9`] = `1148.6632687596884`; exports[`圆求交错误导致的线丢失 9`] = `1148.6632687596896`;
exports[`圆求交错误导致的线丢失 10`] = `5979.881810920416`; exports[`圆求交错误导致的线丢失 10`] = `5979.881810920418`;
exports[`圆求交错误导致的线丢失 11`] = `1049.9599133172644`; exports[`圆求交错误导致的线丢失 11`] = `1049.959913317264`;
exports[`圆求交错误导致的线丢失 12`] = `6051.226641876329`; exports[`圆求交错误导致的线丢失 12`] = `6051.226641876329`;
exports[`圆求交错误导致的线丢失 13`] = `722.4732418587954`; exports[`圆求交错误导致的线丢失 13`] = `722.4732418587953`;
exports[`圆求交错误导致的线丢失 14`] = `6316.980887212943`; exports[`圆求交错误导致的线丢失 14`] = `6316.980887212943`;
@ -50,7 +50,7 @@ exports[`复杂圆盘选点 2`] = `197.02551075687774`;
exports[`复杂圆盘选点 3`] = `1`; exports[`复杂圆盘选点 3`] = `1`;
exports[`复杂圆盘选点 4`] = `190.82843823827844`; exports[`复杂圆盘选点 4`] = `190.82843823827838`;
exports[`复杂圆盘选点 5`] = `1`; exports[`复杂圆盘选点 5`] = `1`;
@ -58,11 +58,11 @@ exports[`复杂圆盘选点 6`] = `204.54080647675428`;
exports[`复杂圆盘选点 7`] = `1`; exports[`复杂圆盘选点 7`] = `1`;
exports[`复杂圆盘选点 8`] = `205.57027795132643`; exports[`复杂圆盘选点 8`] = `205.5702779513265`;
exports[`复杂圆盘选点 9`] = `1`; exports[`复杂圆盘选点 9`] = `1`;
exports[`复杂圆盘选点 10`] = `206.82332282556683`; exports[`复杂圆盘选点 10`] = `206.8233228255668`;
exports[`多段线因为合并问题造成的错误 1`] = `1`; exports[`多段线因为合并问题造成的错误 1`] = `1`;
@ -86,7 +86,7 @@ exports[`拱门偏移 4`] = `6.827433388230814`;
exports[`海豚圆选点导致的错误 1`] = `1`; exports[`海豚圆选点导致的错误 1`] = `1`;
exports[`海豚圆选点导致的错误 2`] = `1591.1982232513822`; exports[`海豚圆选点导致的错误 2`] = `1591.1982232513824`;
exports[`海豚圆选点导致的错误 3`] = `1`; exports[`海豚圆选点导致的错误 3`] = `1`;
@ -108,9 +108,9 @@ exports[`纯圆生成的多段线偏移 3`] = `1`;
exports[`纯圆生成的多段线偏移 4`] = `6328.578192723271`; exports[`纯圆生成的多段线偏移 4`] = `6328.578192723271`;
exports[`补充bug测试 1`] = `7385.123391644447`; exports[`补充bug测试 1`] = `7385.123391644452`;
exports[`补充bug测试 2`] = `7455.861403941378`; exports[`补充bug测试 2`] = `7455.861403941385`;
exports[`补圆弧测试 补圆弧测试1 1`] = `1`; exports[`补圆弧测试 补圆弧测试1 1`] = `1`;
@ -202,10 +202,10 @@ exports[`补圆弧测试 补圆弧测试1 44`] = `192.58327191623619`;
exports[`闭合多段线判断精度和重复交点参数导致偏移丢失 1`] = `54789.24964851233`; exports[`闭合多段线判断精度和重复交点参数导致偏移丢失 1`] = `54789.24964851233`;
exports[`闭合多段线判断精度和重复交点参数导致偏移丢失 2`] = `54907.28173780603`; exports[`闭合多段线判断精度和重复交点参数导致偏移丢失 2`] = `54907.28173780601`;
exports[`闭合多段线判断精度和重复交点参数导致偏移丢失 3`] = `55497.502122668855`; exports[`闭合多段线判断精度和重复交点参数导致偏移丢失 3`] = `55497.502122668855`;
exports[`闭合多段线判断精度和重复交点参数导致偏移丢失 4`] = `56678.241066044815`; exports[`闭合多段线判断精度和重复交点参数导致偏移丢失 4`] = `56678.24106604482`;
exports[`闭合多段线判断精度和重复交点参数导致偏移丢失 5`] = `57859.37443960542`; exports[`闭合多段线判断精度和重复交点参数导致偏移丢失 5`] = `57859.37443960541`;

@ -1,14 +1,14 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP // Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`补充bug测试#IKWGF 1`] = `1.1376403544773543`; exports[`补充bug测试#IKWGF 1`] = `1.1376403544773546`;
exports[`补充bug测试#IKWGF 2`] = `0.4457395323615238`; exports[`补充bug测试#IKWGF 2`] = `0.4457395323615243`;
exports[`补充bug测试#IKWGF 3`] = `10.73298136409425`; exports[`补充bug测试#IKWGF 3`] = `10.732981364094249`;
exports[`补充bug测试#IKWGF 4`] = `12.786911814880927`; exports[`补充bug测试#IKWGF 4`] = `12.786911814880924`;
exports[`补充bug测试#IKWGF 5`] = `0.6246933440840137`; exports[`补充bug测试#IKWGF 5`] = `0.6246933440840133`;
exports[`补充bug测试#IKWGF 6`] = `10.586693752451833`; exports[`补充bug测试#IKWGF 6`] = `10.586693752451833`;
@ -18,8 +18,8 @@ exports[`补充bug测试#IKWGF 8`] = `2.168984971098264`;
exports[`补充bug测试#IKWGF 9`] = `11.891017922899268`; exports[`补充bug测试#IKWGF 9`] = `11.891017922899268`;
exports[`补充bug测试#IKWGF 10`] = `1.0803374679586226`; exports[`补充bug测试#IKWGF 10`] = `1.0803374679586222`;
exports[`补充bug测试#IKWGF 11`] = `0.39474593983890766`; exports[`补充bug测试#IKWGF 11`] = `0.394745939838908`;
exports[`补充bug测试#IKWGF 12`] = `10.698868451254269`; exports[`补充bug测试#IKWGF 12`] = `10.69886845125427`;

@ -9,7 +9,7 @@ export class Save implements Command
{ {
async exec() async exec()
{ {
let cadFile = app.m_Database.FileWrite(); let cadFile = app.FileOut();
let store = await IndexedDbStore.CADStore(); let store = await IndexedDbStore.CADStore();
let fileId = store.m_CurrentFileId; let fileId = store.m_CurrentFileId;

@ -1,6 +1,7 @@
import * as THREE from 'three'; import { Vector3 } from 'three';
import * as xaop from 'xaop'; import * as xaop from 'xaop';
import { KeyBoard } from '../Common/KeyEnum'; import { KeyBoard } from '../Common/KeyEnum';
import { CADFile } from '../DatabaseServices/CADFile';
import { Database } from '../DatabaseServices/Database'; import { Database } from '../DatabaseServices/Database';
import { CameraControls } from '../Editor/CameraControls'; import { CameraControls } from '../Editor/CameraControls';
import { commandMachine } from '../Editor/CommandMachine'; import { commandMachine } from '../Editor/CommandMachine';
@ -11,14 +12,9 @@ import { Viewer } from '../GraphicsSystem/Viewer';
import { layoutOnsizeEvent } from '../UI/Layout/LayoutOnSizeEventManage'; import { layoutOnsizeEvent } from '../UI/Layout/LayoutOnSizeEventManage';
export var app: ApplicationService export var app: ApplicationService
export var ed: Editor
export var db: Database
/** /**
* * webCAD.
*
* @export
* @class ApplicationService
*/ */
export class ApplicationService export class ApplicationService
{ {
@ -28,7 +24,6 @@ export class ApplicationService
m_Editor: Editor; m_Editor: Editor;
constructor() constructor()
{ {
ApplicationService.Application = this;
app = this; app = this;
//数据 //数据
this.m_Database = new Database(); this.m_Database = new Database();
@ -46,7 +41,7 @@ export class ApplicationService
//性能测试 //性能测试
// new RenderPerformanceStatus(this.m_Viewer); // new RenderPerformanceStatus(this.m_Viewer);
//相机控制 //相机控制
new CameraControls(this.m_Viewer); new CameraControls(this.m_Viewer);
this.gui = new DatGUI(); this.gui = new DatGUI();
@ -89,8 +84,6 @@ export class ApplicationService
this.m_Viewer.m_GripScene.visible = true; this.m_Viewer.m_GripScene.visible = true;
}) })
ed = this.m_Editor;
db = this.m_Database
window["app"] = this; window["app"] = this;
//撤销 重做 //撤销 重做
@ -124,48 +117,31 @@ export class ApplicationService
} }
}) })
} }
static Application: ApplicationService;
}
export function MouseMove(pt: THREE.Vector3)
{
// let points = (<THREE.Geometry>pts.geometry).vertices;
// let haveShow = false; //创建一张新图纸.
// for (let index = 0; index < points.length; index++) CreateDocument()
// { {
// let temp = points[index].clone(); this.m_Viewer.m_CameraCtrl.LookAt(new Vector3(0, 0, -1));
// app.m_Viewer.WorldToScreen(temp); this.m_Viewer.m_CameraCtrl.ViewHeight = 1000;
// if (Math.abs(temp.x - pt.x) < 7.5 this.m_Viewer.m_CameraCtrl.Update();
// && Math.abs(temp.y - pt.y) < 7.5
// )
// {
// if (lastIndex != index)
// {
// selectPts.position.copy(points[index])
// }
// haveShow = true;
// break;
// }
// }
// selectPts.visible = haveShow;
ed.UpdateScreen()
}
window["viewtop"] = function () this.m_Database.FileRead(new Database().FileWrite());
{ }
app.m_Viewer.ViewToTop();
}
window["viewfont"] = function () FileOut(): CADFile
{ {
app.m_Viewer.ViewToFront(); let f = this.m_Database.FileWrite();
}
let vf = new CADFile();
this.m_Viewer.m_CameraCtrl.WriteFile(vf);
window["viewxn"] = () => f.Write(vf.Data);
{ return f;
app.m_Viewer.ViewToSwiso(); }
OpenFile(f: CADFile)
{
f.Reset();
this.m_Database.FileRead(f);
this.m_Viewer.m_CameraCtrl.ReadFile(new CADFile(f.Read()));
}
} }

@ -12,7 +12,11 @@ import { ObjectId } from './ObjectId';
export class CADFile export class CADFile
{ {
private readIndex: number = 0; private readIndex: number = 0;
private dataList: any[] = []; private dataList: any[];
constructor(data: any[] = [])
{
this.dataList = data;
}
Destroy() Destroy()
{ {

@ -7,7 +7,6 @@ import { MaerialTableRecord } from './MaerialTableRecord';
import { ObjectCollection } from './ObjectCollection'; import { ObjectCollection } from './ObjectCollection';
import { ObjectId } from './ObjectId'; import { ObjectId } from './ObjectId';
import { DbTexture } from './Texture'; import { DbTexture } from './Texture';
import { app } from '../ApplicationServices/Application';
@Factory @Factory
export class Database export class Database
@ -54,16 +53,13 @@ export class Database
FileWrite(): CADFile FileWrite(): CADFile
{ {
let file = new CADFile(); let file = new CADFile();
file.Write(2);//ver; file.Write(1);//ver;
file.Write(this.idCout); file.Write(this.idCout);
file.WriteObject(this.ModelSpace); file.WriteObject(this.ModelSpace);
file.WriteObject(this.MaterialDict); file.WriteObject(this.MaterialDict);
file.WriteObject(this.TextureTableCol); file.WriteObject(this.TextureTableCol);
this.hm.WriteFile(file); this.hm.WriteFile(file);
let viewData = new CADFile();
app.m_Viewer.m_CameraCtrl.WriteFile(viewData);
file.Write(viewData.Data);
return file; return file;
} }
FileRead(file: CADFile) FileRead(file: CADFile)
@ -81,12 +77,6 @@ export class Database
} }
this.hm.ReadFile(file); this.hm.ReadFile(file);
if (ver > 1)
{
let viewData = new CADFile();
viewData.Data = file.Read();
app.m_Viewer.m_CameraCtrl.ReadFile(viewData);
}
} }
//创建一个id,自动递增它的索引号,并且会自动加入到db的id列表中. //创建一个id,自动递增它的索引号,并且会自动加入到db的id列表中.

@ -1,5 +1,5 @@
import * as THREE from 'three'; import * as THREE from 'three';
import { Vector3, OrthographicCamera } from 'three'; import { Vector3 } from 'three';
import * as xaop from 'xaop'; import * as xaop from 'xaop';
import { end } from 'xaop'; import { end } from 'xaop';
import { Database } from '../DatabaseServices/Database'; import { Database } from '../DatabaseServices/Database';

@ -124,14 +124,12 @@ export class FilePanel extends React.Component<FileProps, FileState>
if (!file) if (!file)
{ {
let db = new Database(); app.CreateDocument();
app.m_Database.FileRead(db.FileWrite());
} }
else else
{ {
let cadF = new CADFile(); let cadF = new CADFile(file);
cadF.Data = file; app.OpenFile(cadF);
app.m_Database.FileRead(cadF);
app.m_Editor.UpdateScreen(); app.m_Editor.UpdateScreen();
} }
store.Put(StoreName.Data, fid, fileData); store.Put(StoreName.Data, fid, fileData);

Loading…
Cancel
Save