EgwWindowLua :
- uniformata info che collega le curve di outline a quelle del base outline.
This commit is contained in:
@@ -354,6 +354,7 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
|
||||
local nOutlineId = EgtGetFirstInGroup( nOutlineLayerId)
|
||||
while nAreaOutlineId do
|
||||
EgtSetInfo( nAreaOutlineId, WIN_COPY, nOutlineId)
|
||||
EgtSetInfo( nOutlineId, WIN_COPY, nAreaOutlineId)
|
||||
nAreaOutlineId = EgtGetNext( nAreaOutlineId)
|
||||
nOutlineId = EgtGetNext( nOutlineId)
|
||||
end
|
||||
@@ -367,6 +368,7 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
|
||||
local nBaseSplitId = EgtGetFirstInGroup( nBaseSplitLayerId)
|
||||
local nSplitId = EgtGetFirstInGroup( nSplitLayerId)
|
||||
EgtSetInfo( nBaseSplitId, WIN_COPY, nSplitId)
|
||||
EgtSetInfo( nSplitId, WIN_COPY, nBaseSplitId)
|
||||
end
|
||||
|
||||
|
||||
@@ -391,10 +393,9 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
|
||||
end
|
||||
|
||||
-- sistemo le info
|
||||
EgtSetInfo( nOutlineId, WIN_SOU, nBaseOutlineId)
|
||||
EgtSetInfo( nOutlineId, WIN_COPY, nBaseOutlineId)
|
||||
EgtSetInfo( nBaseOutlineId, WIN_COPY, nOutlineId)
|
||||
EgtRemoveInfo( nOutlineId, WIN_CHILD)
|
||||
EgtRemoveInfo( nOutlineId, WIN_COPY)
|
||||
|
||||
nBaseOutlineId = EgtGetNext( nBaseOutlineId)
|
||||
end
|
||||
@@ -410,6 +411,7 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
|
||||
local nBaseSplitId = EgtGetFirstInGroup( nBaseSplitLayerId)
|
||||
local nSplitId = EgtGetFirstInGroup( nSplitLayerId)
|
||||
EgtSetInfo( nBaseSplitId, WIN_COPY, nSplitId)
|
||||
EgtSetInfo( nSplitId, WIN_COPY, nBaseSplitId)
|
||||
EgtRemoveInfo( nSplitId, WIN_SOU)
|
||||
-- lo taglio con outline
|
||||
TrimSplitWithOutline( nSplitId)
|
||||
@@ -465,8 +467,8 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
|
||||
|
||||
-- sistemo le info
|
||||
EgtSetInfo( nBaseOutlineId, WIN_COPY, nOutlineId)
|
||||
EgtSetInfo( nOutlineId, WIN_PROFILETYPE, sSashProfile)
|
||||
EgtSetInfo( nOutlineId, WIN_COPY, nBaseOutlineId)
|
||||
EgtSetInfo( nOutlineId, WIN_PROFILETYPE, sSashProfile)
|
||||
|
||||
-- verifico se outline e' segmento battente o ricevente che quindi deriva da split
|
||||
local bOnFrenchSplit = false
|
||||
@@ -523,6 +525,7 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
|
||||
EgtSetStatus( nSplitLayerId, GDB_ST.OFF)
|
||||
local nSplitId = EgtGetFirstInGroup( nSplitLayerId)
|
||||
EgtSetInfo( nBaseSplitId, WIN_COPY, nSplitId)
|
||||
EgtSetInfo( nSplitId, WIN_COPY, nBaseSplitId)
|
||||
EgtRemoveInfo( nSplitId, WIN_SOU)
|
||||
-- la taglio con outline
|
||||
TrimSplitWithOutline( nSplitId)
|
||||
@@ -551,7 +554,8 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
|
||||
local nCopyId = EgtGetInfo( nSouId, WIN_COPY)
|
||||
local nOutlineId = EgtCopy( nCopyId, nOutlineLayerId)
|
||||
-- sistemo le info
|
||||
EgtSetInfo( nBaseOutlineId, WIN_CHILD, nOutlineId)
|
||||
EgtSetInfo( nBaseOutlineId, WIN_COPY, nOutlineId)
|
||||
EgtSetInfo( nOutlineId, WIN_COPY, nBaseOutlineId)
|
||||
|
||||
-- recupero a ritroso il profilo dell'elemento su cui poggia ( anta, split o frame)
|
||||
local nParentBaseOutlineId = nSouId
|
||||
@@ -715,11 +719,12 @@ local function GetProfileCtrIn( nProfileType, nPrevOutlineId, nOutlineId, nPrevP
|
||||
-- gestione particolare nel caso di split su split
|
||||
if nProfileType == WIN_PRF.SPLIT then
|
||||
-- verifico se il prev e' uno split
|
||||
local nPrevSouId = nPrevOutlineId
|
||||
-- recupero il base outline corrispondente e verifico se un suo sou è split
|
||||
local nPrevSouId = EgtGetInfo( nPrevOutlineId, WIN_COPY, 'i')
|
||||
local nPrevSouParentId
|
||||
local sPrevSouParentId
|
||||
repeat
|
||||
nPrevSouId = EgtGetInfo( nPrevSouId, WIN_SOU)
|
||||
nPrevSouId = EgtGetInfo( nPrevSouId, WIN_SOU, 'i')
|
||||
if nPrevSouId then
|
||||
nPrevSouParentId = EgtGetParent( nPrevSouId)
|
||||
sPrevSouParentId = EgtGetName( nPrevSouParentId)
|
||||
@@ -934,10 +939,10 @@ local function CalcStartEndProfileType( nProfileType, nOutlineId, nStartProfileI
|
||||
end
|
||||
|
||||
if nProfileType == WIN_PRF.SPLIT then
|
||||
local nStartId = EgtGetInfo( nOutlineId, WIN_SPLIT_STARTINTERS, 'i')
|
||||
local nEndId = EgtGetInfo( nOutlineId, WIN_SPLIT_ENDINTERS, 'i')
|
||||
local sStartName = EgtGetName( nStartId)
|
||||
local sEndName = EgtGetName( nEndId)
|
||||
local nStartBaseOutlineId = EgtGetInfo( nOutlineId, WIN_SPLIT_STARTINTERS, 'i')
|
||||
local nStartId = EgtGetInfo( nStartBaseOutlineId, WIN_COPY, 'i')
|
||||
local nEndBaseOutlineId = EgtGetInfo( nOutlineId, WIN_SPLIT_ENDINTERS, 'i')
|
||||
local nEndId = EgtGetInfo( nEndBaseOutlineId, WIN_COPY, 'i')
|
||||
sStartProfileType = GetProfileCtrIn( nProfileType, nStartId, nOutlineId, nStartProfileId)
|
||||
sEndProfileType = GetProfileCtrIn( nProfileType, nEndId, nOutlineId, nEndProfileId)
|
||||
sStartProfileType = WIN_OFST .. sStartProfileType
|
||||
|
||||
Reference in New Issue
Block a user