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[`圆求交错误导致的线丢失 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[`圆求交错误导致的线丢失 13`] = `722.4732418587954`;
exports[`圆求交错误导致的线丢失 13`] = `722.4732418587953`;
exports[`圆求交错误导致的线丢失 14`] = `6316.980887212943`;
@ -50,7 +50,7 @@ exports[`复杂圆盘选点 2`] = `197.02551075687774`;
exports[`复杂圆盘选点 3`] = `1`;
exports[`复杂圆盘选点 4`] = `190.82843823827844`;
exports[`复杂圆盘选点 4`] = `190.82843823827838`;
exports[`复杂圆盘选点 5`] = `1`;
@ -58,11 +58,11 @@ exports[`复杂圆盘选点 6`] = `204.54080647675428`;
exports[`复杂圆盘选点 7`] = `1`;
exports[`复杂圆盘选点 8`] = `205.57027795132643`;
exports[`复杂圆盘选点 8`] = `205.5702779513265`;
exports[`复杂圆盘选点 9`] = `1`;
exports[`复杂圆盘选点 10`] = `206.82332282556683`;
exports[`复杂圆盘选点 10`] = `206.8233228255668`;
exports[`多段线因为合并问题造成的错误 1`] = `1`;
@ -86,7 +86,7 @@ exports[`拱门偏移 4`] = `6.827433388230814`;
exports[`海豚圆选点导致的错误 1`] = `1`;
exports[`海豚圆选点导致的错误 2`] = `1591.1982232513822`;
exports[`海豚圆选点导致的错误 2`] = `1591.1982232513824`;
exports[`海豚圆选点导致的错误 3`] = `1`;
@ -108,9 +108,9 @@ exports[`纯圆生成的多段线偏移 3`] = `1`;
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`;
@ -202,10 +202,10 @@ exports[`补圆弧测试 补圆弧测试1 44`] = `192.58327191623619`;
exports[`闭合多段线判断精度和重复交点参数导致偏移丢失 1`] = `54789.24964851233`;
exports[`闭合多段线判断精度和重复交点参数导致偏移丢失 2`] = `54907.28173780603`;
exports[`闭合多段线判断精度和重复交点参数导致偏移丢失 2`] = `54907.28173780601`;
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
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`;
@ -18,8 +18,8 @@ exports[`补充bug测试#IKWGF 8`] = `2.168984971098264`;
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()
{
let cadFile = app.m_Database.FileWrite();
let cadFile = app.FileOut();
let store = await IndexedDbStore.CADStore();
let fileId = store.m_CurrentFileId;

@ -1,6 +1,7 @@
import * as THREE from 'three';
import { Vector3 } from 'three';
import * as xaop from 'xaop';
import { KeyBoard } from '../Common/KeyEnum';
import { CADFile } from '../DatabaseServices/CADFile';
import { Database } from '../DatabaseServices/Database';
import { CameraControls } from '../Editor/CameraControls';
import { commandMachine } from '../Editor/CommandMachine';
@ -11,14 +12,9 @@ import { Viewer } from '../GraphicsSystem/Viewer';
import { layoutOnsizeEvent } from '../UI/Layout/LayoutOnSizeEventManage';
export var app: ApplicationService
export var ed: Editor
export var db: Database
/**
*
*
* @export
* @class ApplicationService
* webCAD.
*/
export class ApplicationService
{
@ -28,7 +24,6 @@ export class ApplicationService
m_Editor: Editor;
constructor()
{
ApplicationService.Application = this;
app = this;
//数据
this.m_Database = new Database();
@ -89,8 +84,6 @@ export class ApplicationService
this.m_Viewer.m_GripScene.visible = true;
})
ed = this.m_Editor;
db = this.m_Database
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++)
// {
// let temp = points[index].clone();
// app.m_Viewer.WorldToScreen(temp);
// if (Math.abs(temp.x - pt.x) < 7.5
// && Math.abs(temp.y - pt.y) < 7.5
// )
// {
// if (lastIndex != index)
// {
// selectPts.position.copy(points[index])
// }
// haveShow = true;
// break;
// }
// }
// selectPts.visible = haveShow;
ed.UpdateScreen()
}
//创建一张新图纸.
CreateDocument()
{
this.m_Viewer.m_CameraCtrl.LookAt(new Vector3(0, 0, -1));
this.m_Viewer.m_CameraCtrl.ViewHeight = 1000;
this.m_Viewer.m_CameraCtrl.Update();
window["viewtop"] = function ()
{
app.m_Viewer.ViewToTop();
}
this.m_Database.FileRead(new Database().FileWrite());
}
window["viewfont"] = function ()
{
app.m_Viewer.ViewToFront();
}
FileOut(): CADFile
{
let f = this.m_Database.FileWrite();
let vf = new CADFile();
this.m_Viewer.m_CameraCtrl.WriteFile(vf);
window["viewxn"] = () =>
{
app.m_Viewer.ViewToSwiso();
f.Write(vf.Data);
return f;
}
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
{
private readIndex: number = 0;
private dataList: any[] = [];
private dataList: any[];
constructor(data: any[] = [])
{
this.dataList = data;
}
Destroy()
{

@ -7,7 +7,6 @@ import { MaerialTableRecord } from './MaerialTableRecord';
import { ObjectCollection } from './ObjectCollection';
import { ObjectId } from './ObjectId';
import { DbTexture } from './Texture';
import { app } from '../ApplicationServices/Application';
@Factory
export class Database
@ -54,16 +53,13 @@ export class Database
FileWrite(): CADFile
{
let file = new CADFile();
file.Write(2);//ver;
file.Write(1);//ver;
file.Write(this.idCout);
file.WriteObject(this.ModelSpace);
file.WriteObject(this.MaterialDict);
file.WriteObject(this.TextureTableCol);
this.hm.WriteFile(file);
let viewData = new CADFile();
app.m_Viewer.m_CameraCtrl.WriteFile(viewData);
file.Write(viewData.Data);
return file;
}
FileRead(file: CADFile)
@ -81,12 +77,6 @@ export class Database
}
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列表中.

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

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

Loading…
Cancel
Save