From d578194d43d148bb226f5aae31f3d84515f51863 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Wed, 20 Nov 2024 11:50:10 +0100 Subject: [PATCH] In DiceCut migliorato controllo rimozione del primo cubetto molto piccolo --- LuaLibs/DiceCut.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/LuaLibs/DiceCut.lua b/LuaLibs/DiceCut.lua index d53cad2..ce6bd85 100644 --- a/LuaLibs/DiceCut.lua +++ b/LuaLibs/DiceCut.lua @@ -275,12 +275,15 @@ local function VerifyFirstOrthoCut( CutTable, OffsetP, BBoxRawPart, dNzLimDwnUp) -- normale alla faccia ortogonale local _, vtO = EgtSurfTmFacetCenter( CutOId, 0, GDB_ID.ROOT) vtO = vtO - vtO * vtN1 * vtN1 ; vtO:normalize() + local dMaxElev = EgtSurfTmFacetElevationInBBox( CutOId, 0, BBoxRawPart, true, GDB_ID.ROOT) -- calcolo lunghezza prima semi-faccia local asseX1 = vtO local asseY1 = vtN1 ^ asseX1 local Frame1 = Frame3d( ptC1, ptC1+asseX1, ptC1+asseY1) local Box1 = EgtGetBBoxRef( Cut1Id, GDB_BB.STANDARD, Frame1) local x1 = Box1:getDimX() + -- prendo il massimo tra la lugnhezza della faccia parallela e l'elevazione della corrispondente ortogonale + x1 = max( x1, dMaxElev) -- calcolo lunghezza seconda semi-faccia local asseX2 = vtO local asseY2 = vtN2 ^ asseX2 @@ -430,7 +433,7 @@ function DiceCut.GetDice( nParent, BBoxRawPart, ptCPlanes, vtNPlanes, bGetOrtoPl if dElevO then local m = ceil( dElevO / OffsetO) OffsetO = dElevO / m - end + end -- elenco di tutte le superfici generate dai tagli local TabFUCHSIA = {}