Documentation and conceptual development of software components for the execution of geometric Boolean set operations on the basis of Java3D
Complex buildings and other structures are cumulatively planned with software that supports the export of building information in the STEP-format on the basis of the IFC (Industry Foundation Classes). Because of the availability of this interface, it is possible to use the data of a building for further processing. Within the IFC, several geometrical models for the visualization of building elements are provided. Among others, geometric Boolean set operations are needed to "subtract" openings from building elements (e.g. for windows or doors) - CSG (Constructive Solid Geometry). Therefore, software components based on the algorithms [Laidlaw86] and [Hubbard90] were developed at the professorship Informatik im Bauwesen that support these functionalities on the basis of Java3D. However, it turned out in praxis, that these components are numerically instable and that there is no acceptable robustness or tolerance of errors. This is caused by mistakes in the implementation (bugs) as well as the insufficient handling of numerical inaccuracies. Further, a verification and, where applicable, a correction of qualitative substandard initial data is missing. Prior to this student research project, the implementation of a self-contained application for a visual error control was initiated. This tool visualizes several program steps and their corresponding data. With use of this tool, the implemented algorithms can be analyzed in detail. The papers [Laidlaw86] and [Hubbard90] are unsatisfactory describing some essential steps of the algorithm as well as implementation details to execute Boolean set operations on the basis of a B-rep (Boundary Representation) model. Hence, the algorithm should be documented comprehensible with the help of figures and pseudo code. Moreover, problems within the existing implementation shall be identified and possible solution strategies shall be provided.