What does this MR do?
Reworked AbstractCheck to allow usage of the CheckEngine for implementation of non-validating utility "checks" (Visitors), with the goal of decoupling and simplifying functions that require datamodel traversal.
- Added the CityObjectCollector, a Visitor which creates a Set of a CityObject and all child-objects in its datastructure.
- Reworked the implementations of unsetGmlGeometries(), recreateGmlGeometries(), containsError(), containsAnyError(), prepareForChecking(), clearMetaInformation(), collectCheckErrors() and clearCheckResults() with Visitors.
- Generalized the FeatureTab-TreeView nodes
- Generalized and simplified the rendering-setup of CityObjects and CityDoctorModel
- Simplified the calculation of PhongMaterial. CityObjects now contain their respective render-color information.
Reimplemented parsing of TINReliefs.
Deleted deprecated classes CopyHandler and Copyable. Reworked Copy.copy() to allow copying of any Serializable object.
Fixes
- Fixed some CityObjects having incomplete implementations of unsetting and recreating CityGml4J geometries.
- Added Tunnel features to the BBox calculation and error collection.
- Fixed typos causing Intersection and AuxTrafficSpaces to be ignored by the parser.
Related issues
Checklist
-
Commits squashed, following the message-template and containing changelog-trailers -
MR title and description are up to date, accurate, and descriptive. -
MR targeting the appropriate branch. -
Latest Merge Result pipeline is green.