Intersezioni per spostamenti

This commit is contained in:
carlo.baronchelli
2021-08-09 16:02:28 +02:00
parent 2474bfb799
commit 5e01e7eacd
2 changed files with 31 additions and 6 deletions
+31 -6
View File
@@ -406,7 +406,7 @@ local function CMP_Draw(bPreview)
-- ------------------------------------------------------------------
-- verifica delle **INTERSEZIONI TRA RETTANGOLI** e definizione degli eventuali **SPOSTAMENTI**
for SideNum = 1 , 3 do --#SideTab do
-- |(ripeti LEGENDA per campi di SideTab)||
-- |(ripeti LEGENDA per campi di SideTab)|
-- |.a = SideId; .b = SideInfo-A/F; c= PrevRec, .d = NextRec;|
-- |.l1---.l4 = Rectangle sides|
-- |.u = Side Start Vector; .v = Side End Vector;|
@@ -419,12 +419,38 @@ local function CMP_Draw(bPreview)
local Tab = SideTab
local N = SideNum
-- intersezione tra un rettangolo e il successivo
-- a) intersezione tra un rettangolo e il successivo
local PtInt12 = EgtIP( Tab[N].l2, Tab[Tab[N].d].l2, EgtEP( Tab[N].l2), GDB_ID.ROOT)
-- intersezione tra un rettangolo e il secondo successivo
local PtInt13 = EgtIP( Tab[N].l2, Tab[Tab[Tab[N].d].d].l2, EgtEP( Tab[N].l2), GDB_ID.ROOT)
-- intersezione tra il rettangolo successivo e il secondo successivo
-- b) intersezione tra il rettangolo successivo e il secondo successivo
local PtInt23 = EgtIP( Tab[Tab[N].d].l2, Tab[Tab[Tab[N].d].d].l2, EgtEP( Tab[Tab[N].d].l2), GDB_ID.ROOT)
-- c) intersezione tra un rettangolo e il secondo successivo
local PtInt13 = EgtIP( Tab[N].l2, Tab[Tab[Tab[N].d].d].l2, EgtEP( Tab[N].l2), GDB_ID.ROOT)
-- |ATTENZIONE POSSONO INTERSECARSI ANCHE I LATI 1 E 4 DEI RETTANGOLI !!!|
-- calcolo degli spostamenti (lungo i propri lati di riferimento)
-- if a & b & c
-- di r1 rispetto a r2 e a r3 > prendo il maggiore
-- di r3 rispetto a r1 e a r2 > prendo il maggiore
-- poi posso saltare due lati (?) sì se vale l'ipotesi di massimo due angoli a dx
-- elseif a & c & not b
-- di r1 rispetto a r3 e ... viceversa (?)
-- poi posso saltare due lati (?) sì se vale l'ipotesi di massimo due angoli a dx
-- else if a & not b & not c
-- di r1 rispetto a r2 e ... viceversa (?)
-- ma att.ne !!! potrei comprometere situazioni successive !!!!!!!!!!!!!!
-- else if : potrebbe esserci intersezione del singolo rettangolo con il lato successivo
-- o precedente !!
-- end ??
-- <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-- PROVA
@@ -456,7 +482,6 @@ local function CMP_Draw(bPreview)
-- <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Binary file not shown.