Richard Brice
a94d1e53b7
Fixes some problems with mapping IfcCurveSegment
2024-04-06 19:02:18 -07:00
Richard Brice
83a127b570
Implements IfcSegmentReferenceCurve and cant
2024-03-28 15:04:17 -07:00
Richard Brice
ebe6015561
Fixes vertical clothoid, vertical circle, and horizontal cubic cases for alignment
2024-03-06 12:00:35 -08:00
Richard Brice
fcfeac95bf
WIP getting alignment geometry to match unit test from bSI Rail Room
2024-03-01 10:55:20 -08:00
Richard Brice
0baf3dac52
Adds support for IfcCosineSpiral, IfcSineSpiral, and updates implementation to match results from bSI Railway Room test cases.
2024-02-26 16:34:41 -08:00
Richard Brice
bb88ba5bdf
Updates implementation of IfcXXXPolynomialSpiral curves as parent curve
2024-02-16 13:54:26 -08:00
Richard Brice
abddb74bd9
Adds placeholder implementations for IfcXXXOrderPolynomialSpiral - there are some bugs, but the basic implementation framework is good.
2024-01-17 12:59:48 -08:00
Richard Brice
5815417198
Fixes documentation in comment
2024-01-11 15:36:17 -08:00
Richard Brice
662a4bb6e9
Fixes generated geometry based on evolving understanding of IFC
2023-12-13 16:17:10 -08:00
Richard Brice
7fef3efbeb
Fixes horizontal alignment issues
2023-12-13 16:17:10 -08:00
Richard Brice
4b933812a7
Generalized calculation of spiral curve tangent vector
2023-12-07 08:01:31 -08:00
Richard Brice
9e32c0ea93
Fixes problem computing Axis vector for cant
2023-12-06 15:31:01 -08:00
Richard Brice
2126381a15
Adds conversion settings to control the granularity of points computed for a piecewise_function
2023-11-22 15:49:24 -08:00
Richard Brice
39c3cac05d
Fixes bugs in segment reference curve geometry
2023-11-22 08:32:59 -08:00
Richard Brice
49d9245e29
Fixes problem computing tangent and normal vectors for Circle
2023-11-21 08:49:16 -08:00
Richard Brice
49b3805859
Updates treatment of IfcLine to account for the fact that IfcLine.Orientation.DirectionRatios are generally normalized.
2023-11-20 11:15:35 -08:00
Richard Brice
afb8375e70
Fixes problem with vertical curve slopes
2023-11-17 08:03:03 -08:00
Richard Brice
f4ba3fe487
Still trying to figure out cant
2023-11-16 16:17:41 -08:00
Richard Brice
f204135aa6
Fixing bugs
2023-11-15 07:21:19 -08:00
Thomas Krijnen
65e874c67f
Drastic settings refactoring
2023-11-15 10:32:33 +01:00
Richard Brice
8303a04b4f
A couple tweaks for IfcCurveSegment
2023-11-09 09:48:05 -08:00
Richard Brice
12e69ff07a
Fixes build issue with mapping
2023-11-09 09:43:36 -08:00
Richard Brice
8409859e8d
Implements safer way to use IfcCurveSegment.UsingCurves
...
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2023-11-09 03:23:13 -07:00
Richard Brice
7ed85358f9
Implements IfcSegmentedReferenceCurve and first cut at cant geometry
2023-11-08 19:43:21 -08:00
Richard Brice
b50f4a2240
Adds a virtual init_adjustments function to precompute common values for segment geometry adjustments
2023-11-01 08:35:29 -07:00
Richard Brice
bef86e261c
Renamed interpolate to compute_adjustment and made it a template function.
2023-11-01 08:34:58 -07:00
Richard Brice
969181acf3
Implements framework for adjusting geometry based on location of start point of next segment.
2023-10-27 08:10:18 -07:00
Richard Brice
85ece64272
Minor code format revisions
2023-10-27 08:10:18 -07:00
Richard Brice
cefbf8b4f2
Fixes runtime check for polynomial curve
2023-10-27 08:10:17 -07:00
Richard Brice
dde85265c6
Adds support for IfcLinearPlacement
2023-10-27 08:09:05 -07:00
Richard Brice
1920a6427d
Removed assert, added Logger::Warning and Logger::Error. Made treatment of unexpected data more permissive
2023-10-27 08:04:19 -07:00
Richard Brice
528cf06a46
Adds support for IfcLinearPlacement
2023-10-27 08:04:17 -07:00
Richard Brice
8497e655f5
Fixes mapping of horizontal curve with IfcCircle
2023-10-27 08:04:12 -07:00
Richard Brice
c1cab4b186
Fixes problems with horizontal curves and clothoid spirals
2023-10-27 08:04:12 -07:00
Thomas Krijnen
c1a6d8f347
Small changes to curve segment handling for purpose of wrapper
2023-10-27 08:04:12 -07:00
Richard Brice
a5c07d5e24
Adds IfcPolynoialCurve for vertical curves
2023-10-04 13:25:31 -07:00
Richard Brice
7b0e2c52ac
Manually merged in aothms revisions for gradient curves and implicit_item taxonomy
2023-10-02 16:30:39 -07:00
Richard Brice
c3aeae8661
Implements recommendation to use map_impl(IfcPolyline*)
2023-09-29 13:27:23 -07:00
Richard Brice
00d8ffeba0
Reverts to Taylor Series approximation of Clothoid curve.
...
If you compare the results generated by the numeric integration and the approximation, they are very different. The approximation compares will with other software so there is likely a problem with the equation of the clothoid
2023-09-29 12:14:38 -07:00
Richard Brice
f9d259a3d8
Removes redundant function evaluation in numeric integration
2023-09-29 12:14:38 -07:00
Richard Brice
d9b534b66d
Implemented position handling with transformation matrix
2023-09-29 12:14:38 -07:00
Richard Brice
d4f543d2ad
Implemented placement handling with transformation matrix.
2023-09-28 14:58:21 -07:00
Richard Brice
1564b53ef5
Minor revision to numerical integration code
2023-09-28 14:28:17 -07:00
Richard Brice
4f2b083ffc
Revises implementation of operator(IfcSchema::IfcClothoid*) to use trapezoid rule numeric integration.
...
This is a more general approach than the Taylor Series approximation and is applicable to all the other spiral types. I stubbed out a functor for IfcSecondOrderPolynomialSpiral, but haven't tested it. The purpose is to show the concept.
2023-09-28 11:51:26 -07:00
Richard Brice
6ae0cce186
Implements mapping of IfcCurveSegment to taxonomy::geometry
2023-09-27 11:16:55 -07:00
Richard Brice
04b70efd7f
Fixed problem with call to boost::mpl::for_each
2023-09-21 15:48:45 -07:00
Thomas Krijnen
053e3a3191
#3098 Move boost::type application to curve to template function
2023-09-17 09:35:14 +02:00
Thomas Krijnen
88ef7c75b8
#3098 IfcCurveSegment and IfcClothoid handling (?)
2023-09-16 22:23:04 +02:00