You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
WebCAD/__test__/FileSystem/file.test.ts

138 lines
2.8 KiB

import { Vector3 } from "three";
import { Database, Line, CADFactory, BlockTableRecord, CADFile } from '../../src/DatabaseServices/FileSystem';
test('id分配', () =>
{
CADFactory.RegisterObject(Line);
let db = new Database();
let line = new Line();
line.StartPoint = new Vector3(10, 3, 2);
let id = db.ModelSpace.Append(line);
expect(id != undefined).toBeTruthy();
expect(id.Object === line).toBeTruthy();
db.hm.Undo();
expect(id.IsErase).toBeTruthy();
expect(db.ModelSpace.Cout()).toBe(0);
db.hm.Redo();
expect(db.ModelSpace.Cout()).toBe(1);
expect(!id.IsErase).toBeTruthy();
let file = db.FileWrite();
let db2 = new Database();
db2.FileRead(file);
console.log(db2.GetObjectId(0));
db2.GetObjectId(0).Object.ClassName //?
console.log(db2.ModelSpace.Cout());
console.log(file);
});
test('changev', () =>
{
let db = new Database();
let l1 = new Line();
let id = db.ModelSpace.Append(l1);
db.hm.Undo();
db.hm.Redo();
console.log(id.Object === l1);
(id.Object as Line).StartPoint = new Vector3(2, 3, 4);
let file = db.FileWrite();
console.log(file.ToString());
});
test('xxx', () =>
{
let db = new Database();
db.hm.StartCmd("");
let l1 = new Line();
let l2 = new Line();
let id1 = db.ModelSpace.Append(l1);
let in2 = db.ModelSpace.Append(l2);
db.hm.Undo(); //?
db.hm.Redo(); //?
db.hm.StartCmd("");
db.ModelSpace.Remove(db.GetObjectId(1).Object);
db.hm.Undo(); //?
db.hm.Undo(); //?
db.hm.Redo(); //?
// db.hm.StartCmd("");
(id1.Object as Line).StartPoint = new Vector3(10, 4, 2);
(id1.Object as Line).EndPoint = new Vector3(2, 2, 2);
let file = db.FileWrite();
console.log(file.ToString());
db.hm.StartCmd("");
(id1.Object as Line).StartPoint = new Vector3(100, 300, 400);
(id1.Object as Line).EndPoint = new Vector3(2000, 3000, 4000);
console.log((id1.Object as Line).StartPoint);
console.log((id1.Object as Line).EndPoint);
db.hm.Undo();
console.log((id1.Object as Line).StartPoint);
console.log((id1.Object as Line).EndPoint);
db.hm.Redo();
console.log((id1.Object as Line).StartPoint);
console.log((id1.Object as Line).EndPoint);
let f = new CADFile();
db.hm.WriteFile(f);
console.log(f.Data);
console.log(f.ToString());
7 years ago
});
7 years ago
CADFactory.RegisterObject(Line);
CADFactory.RegisterObject(BlockTableRecord);
7 years ago
let l = CADFactory.CreateObject("Line");
l.ClassName //?
// function createLine()
// {
// for (let i = 0; i < 5000; i++)
// {
// let l = CADFactory.CreateObject("Line") as Line;
// }
// }
// // createLine(); //?.
// function undoRedo()
// {
// for (let i = 0; i < 5000; i++)
// {
// db.hm.Undo();
// db.hm.Redo();
// }
// }
// // undoRedo(); //?.