修复 GiDrawUtility 逻辑缺陷 L7、B2-B5 #65

Merged
gjm merged 1 commits from home-lenovo-legion-r9000/fix-gidrawutility-l7-b2-b5 AGit into main 2026-10-25 18:48:15 +08:00
Collaborator
  • L7: 新增 TakeFirstRegion,createFromCurves 返回多个 region 时只取第一个并释放其余,
    createRegion(AcDbEntity*)、DrawDish、DrawPipe(curve,dR) 三处统一走此路径;
    DrawDish 同时在 DrawRevolve 失败时释放 region。
  • B2: RotateAndMove 的零向量防护原为 "*= 1" 空操作,改为显式判零并退化为 Z 轴。
  • B3: DrawTydf 的 tfdy 分支截面各自平移后未更新引导线,改为重设端点到变换后的截面中心。
  • B4: DrawMesh 增加入参校验(pVertexList 非空、rows>=2、columns>=3),避免越界读与空截面。
  • B5: DrawRevolve 建 region 失败时不再往模型空间塞红色曲线,改为直接释放克隆对象。
- L7: 新增 TakeFirstRegion,createFromCurves 返回多个 region 时只取第一个并释放其余, createRegion(AcDbEntity*)、DrawDish、DrawPipe(curve,dR) 三处统一走此路径; DrawDish 同时在 DrawRevolve 失败时释放 region。 - B2: RotateAndMove 的零向量防护原为 "*= 1" 空操作,改为显式判零并退化为 Z 轴。 - B3: DrawTydf 的 tfdy 分支截面各自平移后未更新引导线,改为重设端点到变换后的截面中心。 - B4: DrawMesh 增加入参校验(pVertexList 非空、rows>=2、columns>=3),避免越界读与空截面。 - B5: DrawRevolve 建 region 失败时不再往模型空间塞红色曲线,改为直接释放克隆对象。
home-laptop added 1 commit 2026-10-25 18:46:19 +08:00
- L7: 新增 TakeFirstRegion,createFromCurves 返回多个 region 时只取第一个并释放其余,
  createRegion(AcDbEntity*)、DrawDish、DrawPipe(curve,dR) 三处统一走此路径;
  DrawDish 同时在 DrawRevolve 失败时释放 region。
- B2: RotateAndMove 的零向量防护原为 "*= 1" 空操作,改为显式判零并退化为 Z 轴。
- B3: DrawTydf 的 tfdy 分支截面各自平移后未更新引导线,改为重设端点到变换后的截面中心。
- B4: DrawMesh 增加入参校验(pVertexList 非空、rows>=2、columns>=3),避免越界读与空截面。
- B5: DrawRevolve 建 region 失败时不再往模型空间塞红色曲线,改为直接释放克隆对象。
gjm approved these changes 2026-10-25 18:48:12 +08:00
gjm merged commit 01b21dfa0d into main 2026-10-25 18:48:15 +08:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gjm/envi-code#65