home-lenovo-legion-r9000/fix-gidraw-transfromregion-e3 AGit
main
原来对 AcDbRegion 连做两次 transformBy(先转到平面、再平移), region 是 ACIS body,每次变换都要重建拓扑,而该函数在 DrawPipe(pCurve, pRegion, ptCenInRgn) 里每个管件都会调用。
改为先算出 ptOnRegion 变换后的落点,把平移量用 preMultBy 合成进 同一个矩阵,region 只做一次 ACIS 变换;顺带删掉 plan.get(pt0,pt1,pt2) 这三个未使用的局部变量。
原来对 AcDbRegion 连做两次 transformBy(先转到平面、再平移), region 是 ACIS body,每次变换都要重建拓扑,而该函数在 DrawPipe(pCurve, pRegion, ptCenInRgn) 里每个管件都会调用。 改为先算出 ptOnRegion 变换后的落点,把平移量用 preMultBy 合成进 同一个矩阵,region 只做一次 ACIS 变换;顺带删掉 plan.get(pt0,pt1,pt2) 这三个未使用的局部变量。
No dependencies set.
The note is not visible to the blocked user.
原来对 AcDbRegion 连做两次 transformBy(先转到平面、再平移),
region 是 ACIS body,每次变换都要重建拓扑,而该函数在
DrawPipe(pCurve, pRegion, ptCenInRgn) 里每个管件都会调用。
改为先算出 ptOnRegion 变换后的落点,把平移量用 preMultBy 合成进
同一个矩阵,region 只做一次 ACIS 变换;顺带删掉 plan.get(pt0,pt1,pt2)
这三个未使用的局部变量。