- tutte le chiamate a EgtSurfTmFacetOppositeSide sostituite con i lati letti in EdgesInfo

- correzioni e migliorie legate e GetBladeEngagement
This commit is contained in:
luca.mazzoleni
2025-11-05 11:02:02 +01:00
parent d9d505fc44
commit 43b096f531
7 changed files with 44 additions and 53 deletions
-22
View File
@@ -255,28 +255,6 @@ function FaceData.IsFaceParallelogram( Face)
return bIsRhomboid
end
-------------------------------------------------------------------------------------------------------------
-- calcola l'elevazione di un lato rispetto al box passato
function FaceData.GetEdgeElevationInBBox( Face, Edge, b3Box )
-- recupero gruppo per geometrie temporanee
local idTempGroup = BeamLib.GetTempGroup()
-- TODO sostituire EgtSurfTmFacetOppositeSide con punti direttamente in Edge
local ptEdge1, _, ptEdge2 = EgtSurfTmFacetOppositeSide( Face.idTrimesh, Face.id, -Edge.vtN, GDB_ID.ROOT)
-- ptMid è traslato leggermente all'interno per assicurare l'intersezione con il box
local dExtraLength = 500 * GEO.EPS_SMALL
local ptMid = ( ptEdge1 + ptEdge2) / 2 + Edge.vtN * dExtraLength
local idEdgeTrimesh
-- piano di taglio del box orientato come la normale del lato e passante da ptMid
idEdgeTrimesh = EgtSurfTmPlaneInBBox( idTempGroup, ptMid, Edge.vtN, b3Box, GDB_RT.GLOB)
-- al calcolo dell'elevazione devo aggiungere la lunghezza di cui avevo traslato il ptMid
local dElevation = EgtSurfTmFacetElevationInBBox( idEdgeTrimesh, 0, b3Box, true, GDB_ID.ROOT) + dExtraLength
return dElevation
end
-------------------------------------------------------------------------------------------------------------
local function CompareEdgesBottomFace( EdgeA, EdgeB)
-- prima i lati con facce adiacenti