[kbl2vec] Add transformers for geometry information#365
[kbl2vec] Add transformers for geometry information#365beckerjohannes merged 33 commits intodevelopfrom
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR adds transformer classes for converting geometry information between KBL and VEC formats. The implementation provides support for both 2D and 3D geometry conversions with proper dimension detection and error handling.
- Adds dimension detection utilities and coordinate generation helpers
- Implements complete 2D and 3D geometry transformation pipelines
- Updates the conversion system to support geometry building blocks
Reviewed Changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| GeometryDimensionDetector.java | Utility class for detecting whether geometry data is 2D or 3D |
| CoordinateGenerator.java | Helper for safely extracting coordinate values with defaults |
| CartesianPoint2D/3DTransformer.java | Transforms KBL cartesian points to VEC 2D/3D points |
| GeometryNode2D/3DTransformer.java | Transforms KBL nodes to VEC geometry nodes |
| GeometrySegment2D/3DTransformer.java | Transforms KBL segments to VEC geometry segments |
| BuildingBlockSpecification2D/3DTransformer.java | Creates VEC building block specifications from KBL harnesses |
| DoublesToCartesianVector2D/3DConverter.java | Converts coordinate lists to VEC vector objects |
| ConverterRegistry.java | Registers the new vector converters |
| ConversionProperties.java | Adds configuration property for 2D vector reference system |
| HarnessDocumentVersionTransformer.java | Integrates geometry transformers into document processing |
...om/foursoft/harness/kbl2vec/transform/topology/geometry/d3/GeometrySegment3DTransformer.java
Outdated
Show resolved
Hide resolved
6ae1dc2 to
bebd3cd
Compare
...com/foursoft/harness/kbl2vec/transform/topology/geometry/d3/CartesianPoint3DTransformer.java
Outdated
Show resolved
Hide resolved
...com/foursoft/harness/kbl2vec/transform/topology/geometry/d2/CartesianPoint2DTransformer.java
Outdated
Show resolved
Hide resolved
.../src/main/java/com/foursoft/harness/kbl2vec/convert/DoublesToCartesianVector3DConverter.java
Outdated
Show resolved
Hide resolved
.../src/main/java/com/foursoft/harness/kbl2vec/convert/DoublesToCartesianVector2DConverter.java
Outdated
Show resolved
Hide resolved
dfd3dea to
3effaec
Compare
kbl2vec/src/main/java/com/foursoft/harness/kbl2vec/core/ConversionProperties.java
Outdated
Show resolved
Hide resolved
...n/java/com/foursoft/harness/kbl2vec/transform/harness/HarnessDocumentVersionTransformer.java
Show resolved
Hide resolved
.../harness/kbl2vec/transform/topology/geometry/d2/BuildingBlockSpecification2DTransformer.java
Outdated
Show resolved
Hide resolved
kbl2vec/src/main/java/com/foursoft/harness/kbl2vec/utils/CoordinateGenerator.java
Outdated
Show resolved
Hide resolved
kbl2vec/src/main/java/com/foursoft/harness/kbl2vec/utils/GeometryDimensionDetector.java
Outdated
Show resolved
Hide resolved
kbl2vec/src/main/java/com/foursoft/harness/kbl2vec/utils/GeometryDimensionDetector.java
Outdated
Show resolved
Hide resolved
kbl2vec/src/main/java/com/foursoft/harness/kbl2vec/utils/GeometryDimensionDetector.java
Outdated
Show resolved
Hide resolved
kbl2vec/src/main/java/com/foursoft/harness/kbl2vec/utils/GeometryDimensionDetector.java
Outdated
Show resolved
Hide resolved
kbl2vec/src/main/java/com/foursoft/harness/kbl2vec/utils/GeometryDimensionDetector.java
Outdated
Show resolved
Hide resolved
.../harness/kbl2vec/transform/topology/geometry/d3/BuildingBlockSpecification3DTransformer.java
Outdated
Show resolved
Hide resolved
3effaec to
c062076
Compare
beckerjohannes
left a comment
There was a problem hiding this comment.
Commented multiple points. As some of those point are applicable to multiple files in the same way (e.g. Geometry(Node|Segment)(2D|3D)), I think it is the best that you adapt those changes consistently and then I go over the PR again. We're getting there 😉
.../src/main/java/com/foursoft/harness/kbl2vec/convert/DoublesToCartesianVector2DConverter.java
Show resolved
Hide resolved
.../src/main/java/com/foursoft/harness/kbl2vec/convert/DoublesToCartesianVector3DConverter.java
Show resolved
Hide resolved
...java/com/foursoft/harness/kbl2vec/transform/geometry/SegmentCrossSectionAreaTransformer.java
Outdated
Show resolved
Hide resolved
...rsoft/harness/kbl2vec/transform/geometry/geo_2d/BuildingBlockSpecification2DTransformer.java
Outdated
Show resolved
Hide resolved
...java/com/foursoft/harness/kbl2vec/transform/geometry/geo_2d/CartesianPoint2DTransformer.java
Outdated
Show resolved
Hide resolved
...java/com/foursoft/harness/kbl2vec/transform/geometry/geo_2d/CartesianPoint2DTransformer.java
Outdated
Show resolved
Hide resolved
...n/java/com/foursoft/harness/kbl2vec/transform/geometry/geo_2d/GeometryNode2DTransformer.java
Show resolved
Hide resolved
kbl2vec/src/main/java/com/foursoft/harness/kbl2vec/utils/ListUtils.java
Outdated
Show resolved
Hide resolved
.../com/foursoft/harness/kbl2vec/transform/geometry/SegmentCrossSectionAreaTransformerTest.java
Outdated
Show resolved
Hide resolved
c062076 to
d6f67fc
Compare
beckerjohannes
left a comment
There was a problem hiding this comment.
This looks good now. Those comments are the last ones. Promised! 🤞 When those are fixed, we can merge this one.
...java/com/foursoft/harness/kbl2vec/transform/geometry/geo_2d/CartesianPoint2DTransformer.java
Outdated
Show resolved
Hide resolved
...ava/com/foursoft/harness/kbl2vec/transform/geometry/geo_2d/GeometrySegment2DTransformer.java
Show resolved
Hide resolved
...ava/com/foursoft/harness/kbl2vec/transform/geometry/geo_2d/GeometrySegment2DTransformer.java
Outdated
Show resolved
Hide resolved
...ava/com/foursoft/harness/kbl2vec/transform/geometry/geo_2d/GeometrySegment2DTransformer.java
Outdated
Show resolved
Hide resolved
...soft/harness/kbl2vec/transform/geometry/geo_2d/HarnessDrawingSpecification2DTransformer.java
Show resolved
Hide resolved
...java/com/foursoft/harness/kbl2vec/transform/geometry/geo_3d/CartesianPoint3DTransformer.java
Outdated
Show resolved
Hide resolved
...ava/com/foursoft/harness/kbl2vec/transform/geometry/geo_3d/GeometrySegment3DTransformer.java
Outdated
Show resolved
Hide resolved
...ava/com/foursoft/harness/kbl2vec/transform/geometry/geo_3d/GeometrySegment3DTransformer.java
Outdated
Show resolved
Hide resolved
...oft/harness/kbl2vec/transform/geometry/geo_3d/HarnessGeometrySpecification3DTransformer.java
Show resolved
Hide resolved
c209be0 to
725078c
Compare
d2b61eb to
96dff61
Compare
|



Pull Request
Changes
Description
This PR adds transformer classes that are needed to convert geometry information.