|
|
|
@ -16,6 +16,7 @@ import { ExtrudeHole } from '../DatabaseServices/3DSolid/ExtrudeHole';
|
|
|
|
|
import { RevolveSolid } from '../DatabaseServices/3DSolid/RevolveSolid';
|
|
|
|
|
import { SweepSolid } from "../DatabaseServices/3DSolid/SweepSolid";
|
|
|
|
|
import { CADFiler } from '../DatabaseServices/CADFiler';
|
|
|
|
|
import { CameraSnapshootRecord } from '../DatabaseServices/CameraSnapshoot/CameraSnapshootRecord';
|
|
|
|
|
import { Arc } from '../DatabaseServices/Entity/Arc';
|
|
|
|
|
import { Board } from "../DatabaseServices/Entity/Board";
|
|
|
|
|
import { Circle } from "../DatabaseServices/Entity/Circle";
|
|
|
|
@ -170,6 +171,17 @@ export class Command_ExportData implements Command
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//添加快照数据
|
|
|
|
|
if (app.Database.CameraSnapshoots.length)
|
|
|
|
|
{
|
|
|
|
|
d.Snapshoots = [];
|
|
|
|
|
for (let id of app.Database.CameraSnapshoots)
|
|
|
|
|
{
|
|
|
|
|
let snapshoot = ConverSnapshootData(id);
|
|
|
|
|
d.Snapshoots.push(snapshoot);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
d.Clear = isClear;
|
|
|
|
|
AppendUserInfo(d);
|
|
|
|
|
let dstr = JSON.stringify(d);
|
|
|
|
@ -188,6 +200,7 @@ export class Command_ExportData implements Command
|
|
|
|
|
export type Data = {
|
|
|
|
|
Entitys: any[];
|
|
|
|
|
Materials: Object[];
|
|
|
|
|
Snapshoots?: Object[];
|
|
|
|
|
Url?: string;
|
|
|
|
|
Clear?: boolean;
|
|
|
|
|
shopid?: string;
|
|
|
|
@ -442,6 +455,24 @@ function ConverShape2Data(e: Shape)
|
|
|
|
|
return d;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ConverSnapshootData(snapshoot: CameraSnapshootRecord)
|
|
|
|
|
{
|
|
|
|
|
//坐标
|
|
|
|
|
let position = new Vector3();
|
|
|
|
|
position.copy(snapshoot.CameraData.Target);
|
|
|
|
|
let distens = (snapshoot.CameraData.ViewHeight / 2) / (Math.tan(MathUtils.degToRad(snapshoot.CameraData.Fov) / 2));
|
|
|
|
|
position.sub(snapshoot.CameraData.Direction.clone().multiplyScalar(distens));
|
|
|
|
|
let d = {
|
|
|
|
|
name: snapshoot.Name,
|
|
|
|
|
position: position.toArray(),
|
|
|
|
|
rotation: [snapshoot.CameraData.Orbit.RoX, snapshoot.CameraData.Orbit.theta, 0],
|
|
|
|
|
fov: snapshoot.CameraData.Fov,
|
|
|
|
|
aspect: snapshoot.CameraData.Aspect,
|
|
|
|
|
near: Math.max(100, snapshoot.CameraData.Near),
|
|
|
|
|
};
|
|
|
|
|
return d;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function ConverMaterialData(material: PhysicalMaterialRecord)
|
|
|
|
|
{
|
|
|
|
|
let d: any = {};
|
|
|
|
|