|
|
# GE-gml:LR-0004
|
|
|
|
|
|
## Anforderung
|
|
|
|
|
|
| ID | GE-gml:LR-0004 |
|
|
|
|---- | ---- |
|
|
|
| Beschreibung | Ein Ring soll einfach sein, also sich nicht selbstverschneiden. Die Selbstverschneidung kann an einem konkreten Punkt sein, oder auch nicht. |
|
|
|
| Parameter minVertexDistance | Punkte können als gleich angesehen werden, trotz (kleiner) Abstände, [siehe Vertex Anforderungen](Validierung/Anforderungen#vertex-punkt-anforderungen). Dieser Parameter wird auch dazu verwendet um zu bestimmen wann ein Punkt eine Kante berührt. |
|
|
|
| Fehlercode | GE_R_SELF_INTERSECTION |
|
|
|
|
|
|
Beispiele für Selbstverschneidungen:
|
|
|
|
|
|
Schleife:
|
|
|
![BowtieSelfInt](https://gitlab.com/volkercoors/CiD4Sim/raw/master/SimpleSolid_SrefBS/figures/BowtieSelfInt.png?inline=false)
|
|
|
|
|
|
Punkt berührt Kante mit Parameter minVertexDistance:
|
|
|
![TouchingEdge](https://gitlab.com/volkercoors/CiD4Sim/raw/master/SimpleSolid_SrefBS/figures/TouchingEdge.png?inline=false)
|
|
|
|
|
|
Doppelte Punkte:
|
|
|
![Duplicate points](https://gitlab.com/volkercoors/CiD4Sim/raw/master/SimpleSolid_SrefBS/figures/DuplicatePoints.png?inline=false)
|
|
|
|
|
|
Doppelte Kante (Gleich wie doppelte Punkte):
|
|
|
![LineSelfInt](https://gitlab.com/volkercoors/CiD4Sim/raw/master/SimpleSolid_SrefBS/figures/LineSelfInt.png?inline=false)
|
|
|
|
|
|
## Prüfung
|
|
|
|
|
|
| ID | C_GE_R_SELF_INTERSECTION|
|
|
|
|---- | ---- |
|
|
|
| Anforderungs ID | GE-gml:LR-0004 |
|
|
|
| Vorbedingungen | SC-all-0001, [GE-gml:LR-0001](Validierung/Anforderungen/GE_gml_LR_0001), [GE-gml:LR-0002](Validierung/Anforderungen/GE_gml_LR_0002), [GE-gml:LR-0003](Validierung/Anforderungen/GE_gml_LR_0003) |
|
|
|
| Beschreibung | Erkennt doppelte Punkte und Selbstverschneidende Kanten. |
|
|
|
| Fehlercodes | GE_R_SELF_INTERSECTION |
|
|
|
|
|
|
| ID | C_GE_R_DUPLICATE_POINT|
|
|
|
|---- | ---- |
|
|
|
| Anforderungs ID | GE-gml:LR-0002, GE-gml:LR-0004 (teilweise) |
|
|
|
| Vorbedingungen | SC-all-0001, [GE-gml:LR-0001](Validierung/Anforderungen/GE_gml_LR_0001), [GE-gml:LR-0003](Validierung/Anforderungen/GE_gml_LR_0003) |
|
|
|
| Beschreibung | Erkennt wiederholende und nicht wiederholende doppelte Punkte. Letzteres ist eine Selbstverschneidung. |
|
|
|
| Fehlercodes | GE_R_CONSECUTIVE_POINTS_SAME, GE_R_SELF_INTERSECTION |
|
|
|
|
|
|
|
|
|
## Testfälle
|
|
|
|
|
|
| Testfall ID | CityGML Modell | Erwartetes Ergebnis |
|
|
|
|----|---------------|-----------------|
|
|
|
|GE-gml:LR-0004-T0001| SimpleSolid_SrefBS.gml | OK |
|
|
|
|GE-gml:LR-0004-T0002| SimpleSolid_SrefBS-GE-gml-LR-0002-T0002.gml| Doppelte Punkte (Beispiel, nicht representativ für Fehler in Modell):<br />![Duplicate points](https://gitlab.com/volkercoors/CiD4Sim/raw/master/SimpleSolid_SrefBS/figures/DuplicatePoints.png?inline=false)<br />GE_R_SELF_INTERSECTION in Ring: _Simple_BD.1_PG.6_LR.1 |
|
|
|
| GE-gml:LR-0004-T0003 | SimpleSolid_SrefBS-GE-gml-LR-0002-T0003.gml| Duplicate points (Resultiert in einer doppelten Kante)<br />GE_R_SELF_INTERSECTION in ring: _Simple_BD.1_PG.6_LR.1 |
|
|
|
| GE-gml:LR-0004-T0004 | SimpleSolid_SrefBS-GE-gml-LR-0004-T0004.gml | Schleife (Beispiel, nicht representativ für Fehler in Modell):<br />![BowtieSelfInt](https://gitlab.com/volkercoors/CiD4Sim/raw/master/SimpleSolid_SrefBS/figures/BowtieSelfInt.png?inline=false)<br /> GE_R_SELF_INTERSECTION in Ring: _Simple_BD.1_PG.6_LR.1 |
|
|
|
| GE-gml:LR-0004-T0005 | SimpleSolid_SrefBS-GE-gml-LR-0004-T0005.gml | Berührender Punkt mit Parameter minVertexDistance = 0.1:<br />![TouchingEdge](https://gitlab.com/volkercoors/CiD4Sim/raw/master/SimpleSolid_SrefBS/figures/TouchingEdge.png?inline=false)<br /> GE_R_SELF_INTERSECTION in Ring: _Simple_BD.1_PG.2_LR.1 |
|
|
|
| GE-gml:LR-0004-T0006 | SimpleSolid_SrefBS-GE-gml-LR-0004-T0005.gml | OK mit Parameter minVertexDistance = 0.01 |
|
|
|
|
|
|
\ No newline at end of file |