- in FaceData, IsFaceRectangular e IsFaceRhomboid ricevono solamente il parametro Face; utilizzano il gruppo per geometrie temporanee invece di AddGroup

This commit is contained in:
luca.mazzoleni
2025-10-24 18:54:49 +02:00
parent 070ad50d73
commit 0afcd786d1
4 changed files with 45 additions and 18 deletions
+26 -14
View File
@@ -216,29 +216,41 @@ function FaceData.GetFacesInfo( Proc, Part, FacesToGet)
end
-------------------------------------------------------------------------------------------------------------
-- TODO valutare se scrivere in gruppo temporaneo che non richiede di passare ogni volta idPart
function FaceData.IsFaceRectangular( Proc, Face)
local nAddGrpId = BeamLib.GetAddGroup( Proc.idPart)
local nContourId, nContourCnt = EgtExtractSurfTmFacetLoops( Proc.id, Face.id, nAddGrpId)
function FaceData.IsFaceRectangular( Face)
-- recupero gruppo per geometrie temporanee
local bIsTempGroupToDelete = false
local idTempGroup = BeamLib.GetTempGroup()
if not idTempGroup then
idTempGroup = BeamLib.CreateTempGroup()
bIsTempGroupToDelete = true
end
local nContourId, nContourCnt = EgtExtractSurfTmFacetLoops( Face.idTrimesh, Face.id, idTempGroup)
if nContourCnt > 1 then
error( 'IsFaceRectangular : too many loops')
end
local bIsRectangular = EgtCurveIsARectangle( nContourId)
-- elimino curve create
for i = 1, nContourCnt do
EgtErase( nContourId + i - 1)
-- se necessario, elimino il gruppo temporaneo
if bIsTempGroupToDelete then
EgtErase( idTempGroup)
end
return bIsRectangular
end
-------------------------------------------------------------------------------------------------------------
-- TODO valutare se scrivere in gruppo temporaneo che non richiede di passare ogni volta idPart
function FaceData.IsFaceRhomboid( Proc, Face)
local nAddGrpId = BeamLib.GetAddGroup( Proc.idPart)
local nContourId, nContourCnt = EgtExtractSurfTmFacetLoops( Proc.id, Face.id, nAddGrpId)
function FaceData.IsFaceRhomboid( Face)
-- recupero gruppo per geometrie temporanee
local bIsTempGroupToDelete = false
local idTempGroup = BeamLib.GetTempGroup()
if not idTempGroup then
idTempGroup = BeamLib.CreateTempGroup()
bIsTempGroupToDelete = true
end
local nContourId, nContourCnt = EgtExtractSurfTmFacetLoops( Face.idTrimesh, Face.id, idTempGroup)
if nContourCnt > 1 then
error( 'IsFaceRhomboid : too many loops')
end
@@ -253,9 +265,9 @@ function FaceData.IsFaceRhomboid( Proc, Face)
bIsRhomboid = true
end
-- elimino curve create
for i = 1, nContourCnt do
EgtErase( nContourId + i - 1)
-- se necessario, elimino il gruppo temporaneo
if bIsTempGroupToDelete then
EgtErase( idTempGroup)
end
return bIsRhomboid