Intersezioni per spostamenti
This commit is contained in:
@@ -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.
Reference in New Issue
Block a user