!2728 功能:发送快照信息到渲染器

pull/2704/MERGE
罗春太 5 months ago committed by ChenX
parent 9de55c8344
commit 06b83c7ddf

@ -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 = {};

Loading…
Cancel
Save