i
Constraintsgraaf
Operaties op de constraintsgraaf
x
WH
I
HA 5
KS
4
Fig. 4. De vertices (punten) van de constraintsgraaf representeren
(deel)elementen uit de (plan)topografie. De edges (lijnstukken) repre
senteren de constraints over deze (deei)eiementen. De constraint-
type n zijn daarbij aangegeven. De cijfers bij de vertices zijn de identi
ficaties van de topografische (deel)elementen.
Naast expliciete constraints worden ook impliciete
constraints onderscheiden. De expliciete constraints wor
den door de gebruiker gedefinieerd. Impliciete con
straints zijn afleidbaar uit twee expliciete constraints (van
het type EV, WH of HA) over één gemeenschappelijk
(deel)element. Bijvoorbeeld uit de expliciete constraints
„segment 1 evenwijdig met segment 2" en „segment 2
evenwijdig met segment 3" is de impliciete constraint
„segment 1 evenwijdig met segment 3" afleidbaar. Door
de automatische bepaling van impliciete constraints hoeft
de gebruiker niet zelf alle constraints expliciet te defi
niëren.
Als in het voorbeeld hiervoor door een mutatie van de
topografie segment 2 wordt verwijderd, vervallen de expli
ciete constraints op dit segment. Het impliciete constraint
wordt vervolgens expliciet gemaakt (geactiveerd).
Daarnaast wordt de mogelijkheid geboden om bij de
expliciete definitie van een con
straint eventuele strijdigheden te
detecteren. Hiertoe moeten na defi
nitie van een bepaalde expliciete
constraint (mogelijk opnieuw) alle
impliciete constraints worden be
paald. Een mogelijke strijdigheid
zou dan kunnen optreden ten gevol
ge van een nieuw bepaalde impli
ciete constraint en een al eerder
(expliciet of impliciet) gedefinieerde
constraint. In het geval van een strij
digheid mag de nieuwe expliciete
constraint niet worden toegevoegd
aan de verzameling al gedefi
nieerde constraints. Omdat de ver
zameling constraints (inclusief de
impliciete constraints) aanzienlijk
groot kan worden, beschouwt het
later in dit artikel te bespreken
constraint-herstelmechanisme al
leen expliciete constraints.
Ten behoeve van de bepaling van
de impliciete constraints in een ver
zameling constraints wordt deze
verzameling opgeslagen in een
graafstructuur (fig. 4). De vertices
(punten) van de constraintsgraaf re
presenteren (deel)elementen uit de
NGT GEODESIA 91 - 9
(plan)topografie. De edges (lijnstukken) representeren de
constraints over deze (deel)elementen.
Elke edge in de constraintsgraaf heeft een status, „expli
ciet" of „impliciet", in fig. 4 weergegeven door respec
tievelijk een doorgetrokken en een gestippeld lijnstuk.
Een topografisch (deel)element wordt door ten hoogste
één vertex in de constraintsgraaf gerepresenteerd. De
constraintsgraaf is ongericht, omdat de volgorde van
twee (deel)elementen waartussen een constraint is gede
finieerd, er niet toe doet. Ondanks dat fig. 2 een bepaalde
gerichtheid suggereert, is een constraint volledig symme
trisch. Verder bevat de constraintsgraaf geen edges tus
sen vertices met een zelfde identificatie, omdat een
constraint altijd tussen twee verschillende (deel)elemen-
ten is gedefinieerd. Tenslotte is er ten hoogste één edge
tussen twee vertices, omdat er ten hoogste één constraint
is tussen twee (deel)elementen.
Een impliciete constraint is afleidbaar uit twee op elkaar
aansluitende edges (met status „expliciet"), daar deze
twee edges twee expliciete constraints over één gemeen
schappelijk (deel)element representeren. Middels een
graaf-algoritme kan de graaf worden doorlopen, waarbij
elk tweetal aansluitende edges met status „expliciet"
wordt onderzocht op de mogelijke afleidbaarheid van een
impliciete constraint. Na afloop van het algoritme worden
de gevonden, impliciete constraints aan de graaf toege
voegd, tenzij een strijdigheid is gevonden. In dat laatste
geval worden ze niet toegevoegd.
De gebruiker kan expliciete constraints toevoegen, wijzi
gen of verwijderen uit de constraintsgraaf. Naast deze
d
Fig. 5a.
f
X
d
Fig. 5b.
Fig. 5c.
Fig. 5. Laag-2-operaties.
369