fix: 平移功能 Free 路径物体中心对齐起点

MoveObjectToPathStartPreservingInitialPose 无 Free 分支,Free 落入
else(Ground)逻辑加了半高偏移,导致平移后物体中心不在起点。
新增 Free 分支:路径点即物体几何中心,仅叠加上下偏移。
257 单测全过
This commit is contained in:
tian 2026-08-01 12:48:32 +08:00
parent 7fd57832e5
commit fc8ff51ae1

View File

@ -1049,7 +1049,12 @@ namespace NavisworksTransport.Core.Animation
Point3D pathStartPoint = _pathPoints[0];
Point3D startPosition = pathStartPoint;
if (_route.PathType == PathType.Hoisting)
if (_route.PathType == PathType.Free)
{
// 自由路径:路径点即物体几何中心,无需半高偏移,仅叠加上下偏移
startPosition = ApplyGroundPathObjectLiftOffset(startPosition);
}
else if (_route.PathType == PathType.Hoisting)
{
startPosition = ResolveGroundTrackedCenter(startPosition, GetAnimatedObjectGroundContactHeight());
}