Feature/FindMirroredFeatures:
- piccola correzione nel riconoscimento mortase specchiate
This commit is contained in:
@@ -1402,18 +1402,18 @@ local function CheckMirrorDtMortise( Proc, ProcMirror, b3Raw, AuxId)
|
||||
local ptCenRaw = b3Raw:getCenter()
|
||||
-- controllo che il centro delle due mortase sia allineato e che queste siano equidistanti dalla mezzeria della trave
|
||||
if AreSameOrOppositeVectorApprox( vtExtr, Y_AX()) then
|
||||
bIsMirror = vtDisplacement:getX() < 500 * GEO.EPS_SMALL and vtDisplacement:getZ() < 500 * GEO.EPS_SMALL and
|
||||
bIsMirror = abs( vtDisplacement:getX()) < 500 * GEO.EPS_SMALL and abs( vtDisplacement:getZ()) < 500 * GEO.EPS_SMALL and
|
||||
( abs( ptBC:getY() - ptCenRaw:getY()) - abs( ptBCMirror:getY() - ptCenRaw:getY())) < 500 * GEO.EPS_SMALL
|
||||
elseif AreSameOrOppositeVectorApprox( vtExtr, Z_AX()) then
|
||||
bIsMirror = vtDisplacement:getX() < 500 * GEO.EPS_SMALL and vtDisplacement:getY() < 500 * GEO.EPS_SMALL and
|
||||
bIsMirror = abs( vtDisplacement:getX()) < 500 * GEO.EPS_SMALL and abs( vtDisplacement:getY()) < 500 * GEO.EPS_SMALL and
|
||||
( abs( ptBC:getZ() - ptCenRaw:getZ()) - abs( ptBCMirror:getZ() - ptCenRaw:getZ())) < 500 * GEO.EPS_SMALL
|
||||
end
|
||||
-- controllo che le dimensioni dei due box siano le stesse
|
||||
bIsMirror = abs( b3DtMrt:getDimX() - b3DtMrtMirror:getDimX()) < 500 * GEO.EPS_SMALL and
|
||||
bIsMirror = bIsMirror and abs( b3DtMrt:getDimX() - b3DtMrtMirror:getDimX()) < 500 * GEO.EPS_SMALL and
|
||||
abs( b3DtMrt:getDimY() - b3DtMrtMirror:getDimY()) < 500 * GEO.EPS_SMALL and
|
||||
abs( b3DtMrt:getDimZ() - b3DtMrtMirror:getDimZ()) < 500 * GEO.EPS_SMALL
|
||||
-- controllo che l'asse delle due mortase sia allineato
|
||||
bIsMirror = AreSameVectorApprox( vtAx, vtAxMirror)
|
||||
bIsMirror = bIsMirror and AreSameVectorApprox( vtAx, vtAxMirror)
|
||||
end
|
||||
return bIsMirror
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user