Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
CityDoctor
CityDoctor2
Commits
8fc0bec0
Commit
8fc0bec0
authored
Feb 18, 2026
by
Luna Riegel
Browse files
Feat: Add TopoError highlighting functions
parent
1b84e3e5
Changes
2
Hide whitespace changes
Inline
Side-by-side
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/ListErrorVisitor.java
View file @
8fc0bec0
...
@@ -55,7 +55,7 @@ import javafx.scene.paint.Color;
...
@@ -55,7 +55,7 @@ import javafx.scene.paint.Color;
public
class
ListErrorVisitor
implements
ErrorVisitor
{
public
class
ListErrorVisitor
implements
ErrorVisitor
{
private
HighlightController
controller
;
private
final
HighlightController
controller
;
private
TriangulatedGeometry
geom
;
private
TriangulatedGeometry
geom
;
public
ListErrorVisitor
(
HighlightController
controller
)
{
public
ListErrorVisitor
(
HighlightController
controller
)
{
...
...
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/Renderer.java
View file @
8fc0bec0
...
@@ -34,11 +34,11 @@ public class Renderer {
...
@@ -34,11 +34,11 @@ public class Renderer {
private
CullFace
currentCulling
=
CullFace
.
NONE
;
private
CullFace
currentCulling
=
CullFace
.
NONE
;
private
DrawMode
currentDrawMode
=
DrawMode
.
FILL
;
private
DrawMode
currentDrawMode
=
DrawMode
.
FILL
;
private
MainWindow
mainWindow
;
private
final
MainWindow
mainWindow
;
private
HighlightController
highlightController
;
private
final
HighlightController
highlightController
;
private
ListErrorVisitor
errVisitor
;
private
final
ListErrorVisitor
errVisitor
;
private
LoadingInfoDialog
loadingDialog
;
private
final
LoadingInfoDialog
loadingDialog
;
private
List
<
ViewFilter
>
lodFilters
=
new
ArrayList
<>();
private
List
<
ViewFilter
>
lodFilters
=
new
ArrayList
<>();
private
ViewFilter
roofFilter
;
private
ViewFilter
roofFilter
;
...
@@ -50,6 +50,7 @@ public class Renderer {
...
@@ -50,6 +50,7 @@ public class Renderer {
this
.
highlightController
=
highlightController
;
this
.
highlightController
=
highlightController
;
loadingDialog
=
new
LoadingInfoDialog
(
mainWindow
.
getMainStage
());
loadingDialog
=
new
LoadingInfoDialog
(
mainWindow
.
getMainStage
());
errVisitor
=
new
ListErrorVisitor
(
highlightController
);
errVisitor
=
new
ListErrorVisitor
(
highlightController
);
setupLodFilters
();
setupLodFilters
();
}
}
...
@@ -503,10 +504,48 @@ public class Renderer {
...
@@ -503,10 +504,48 @@ public class Renderer {
});
});
}
}
private
void
clearAttributes
()
{
private
void
clearAttributes
()
{
mainWindow
.
getAttributeView
().
getRoot
().
getChildren
().
clear
();
mainWindow
.
getAttributeView
().
getRoot
().
getChildren
().
clear
();
}
}
public
void
highlightTopoErrorGeometry
(
Geometry
geom
,
boolean
isCandidate
)
{
if
(
isCandidate
)
{
highlightController
.
clearHighlights
();
highlightController
.
addCandidateHighlight
(
geom
.
getPolygons
(),
currentTriGeom
);
}
else
{
highlightController
.
highlightPolygons
(
geom
.
getPolygons
(),
currentTriGeom
);
}
}
public
void
highlightTopoErrorPolygon
(
Polygon
polygon
,
boolean
isCandidate
)
{
if
(
isCandidate
)
{
highlightController
.
clearHighlights
();
highlightController
.
addCandidateHighlight
(
polygon
,
currentTriGeom
);
}
else
{
highlightController
.
highlight
(
polygon
,
currentTriGeom
);
}
}
public
void
highlightTopoErrorPolygons
(
Collection
<
Polygon
>
subjects
,
Collection
<
Polygon
>
candidates
)
{
highlightController
.
highlightPolygons
(
subjects
,
currentTriGeom
);
highlightController
.
addCandidateHighlight
(
candidates
,
currentTriGeom
);
}
public
void
highlightTopoErrorPolygons
(
Polygon
subject
,
Collection
<
Polygon
>
candidates
)
{
highlightController
.
highlight
(
subject
,
currentTriGeom
);
highlightController
.
addCandidateHighlight
(
candidates
,
currentTriGeom
);
}
public
void
highlightTopoErrorPolygons
(
Polygon
subject
,
Polygon
candidate
)
{
highlightController
.
highlight
(
subject
,
currentTriGeom
);
highlightController
.
addCandidateHighlight
(
candidate
,
currentTriGeom
);
}
public
void
addCandidateSkeletonHighlight
(
GmlId
candidateId
){
highlightController
.
addCandidateSkeletonHighlight
(
mainWindow
.
retrieveCityObject
(
candidateId
),
currentTriGeom
);
}
public
void
highlight
(
Polygon
p
)
{
public
void
highlight
(
Polygon
p
)
{
highlightController
.
highlight
(
p
,
currentTriGeom
);
highlightController
.
highlight
(
p
,
currentTriGeom
);
}
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment