2026-05-20-11-07-27 取消最佳位姿并生成软著材料
This commit is contained in:
@@ -117,15 +117,6 @@ const defaultModelPose: ModelPoseValue = {
|
||||
translateZ: 0,
|
||||
scale: 1,
|
||||
};
|
||||
const headCtBestPose: ModelPoseValue = {
|
||||
rotateX: -180,
|
||||
rotateY: 0,
|
||||
rotateZ: 1,
|
||||
translateX: -0.03,
|
||||
translateY: -0.155,
|
||||
translateZ: 0.005,
|
||||
scale: 1,
|
||||
};
|
||||
|
||||
interface DicomAttributes {
|
||||
patientName: string;
|
||||
@@ -236,7 +227,6 @@ function buildModuleStyles(
|
||||
function defaultModelPoses(): ModelPoseRecord[] {
|
||||
return [
|
||||
{ id: 'default', name: '默认', pose: { ...defaultModelPose } },
|
||||
{ id: 'best', name: '最佳位姿', pose: { ...headCtBestPose } },
|
||||
{ id: 'top', name: '俯视', pose: { ...defaultModelPose, rotateX: 0, rotateY: 0, rotateZ: 0 } },
|
||||
{ id: 'side', name: '侧视', pose: { ...defaultModelPose, rotateX: 0, rotateY: 90, rotateZ: 0 } },
|
||||
];
|
||||
@@ -281,6 +271,7 @@ function normalizeModelPoses(existing?: Partial<ModelPoseRecord>[]) {
|
||||
name: `位姿${index + 1}`,
|
||||
pose: defaultModelPose,
|
||||
}))
|
||||
.filter((record) => record.id !== 'best' && record.name !== '最佳位姿')
|
||||
.filter((record) => record.id)
|
||||
: [];
|
||||
const incomingById = new Map(incoming.map((record) => [record.id, record]));
|
||||
|
||||
@@ -72,19 +72,9 @@ const defaultModelPose: ModelPose = {
|
||||
translateZ: 0,
|
||||
scale: 1,
|
||||
};
|
||||
const headCtBestPose: ModelPose = {
|
||||
rotateX: -180,
|
||||
rotateY: 0,
|
||||
rotateZ: 1,
|
||||
translateX: -0.03,
|
||||
translateY: -0.155,
|
||||
translateZ: 0.005,
|
||||
scale: 1,
|
||||
};
|
||||
|
||||
const defaultSavedPoses: SavedModelPose[] = [
|
||||
{ id: 'default', name: '默认', pose: defaultModelPose },
|
||||
{ id: 'best', name: '最佳位姿', pose: headCtBestPose },
|
||||
{ id: 'top', name: '俯视', pose: { ...defaultModelPose, rotateX: 0, rotateY: 0, rotateZ: 0 } },
|
||||
{ id: 'side', name: '侧视', pose: { ...defaultModelPose, rotateX: 0, rotateY: 90, rotateZ: 0 } },
|
||||
];
|
||||
@@ -2077,18 +2067,15 @@ export default function ReverseWorkspace({ projectId }: { projectId: string }) {
|
||||
setSliceEnd(maxIndex);
|
||||
setMappingSlice(maxIndex);
|
||||
const nextPoses = item.modelPoses?.length ? item.modelPoses : defaultSavedPoses;
|
||||
const preferredPose = nextPoses.find((pose) => pose.id === 'best')
|
||||
?? nextPoses.find((pose) => pose.name.includes('最佳'))
|
||||
?? nextPoses.find((pose) => pose.name === '位姿2')
|
||||
?? nextPoses[0];
|
||||
setModelPose(preferredPose?.pose ?? headCtBestPose);
|
||||
const preferredPose = nextPoses.find((pose) => pose.id === 'default') ?? nextPoses[0];
|
||||
setModelPose(preferredPose?.pose ?? defaultModelPose);
|
||||
const nextStyles: Record<string, ModuleStyle> = {};
|
||||
(item.stlFiles ?? []).forEach((fileName, index) => {
|
||||
nextStyles[fileName] = makeDefaultModuleStyle(index, item.moduleStyles?.[fileName]);
|
||||
});
|
||||
setModuleStyles(nextStyles);
|
||||
setSavedPoses(nextPoses);
|
||||
setSelectedPoseId(preferredPose?.id ?? 'best');
|
||||
setSelectedPoseId(preferredPose?.id ?? 'default');
|
||||
}).catch(() => {
|
||||
setProject(null);
|
||||
setFusionVolume(null);
|
||||
|
||||
Reference in New Issue
Block a user