Method TransformBy
- Namespace
- GeometryHelper.IfcConvert.Models
- Assembly
- GeometryHelper.IfcConvert.dll
TransformBy(GeoTransform3, Tolerance?)
Returns a copy of this geometry carried by a transformation: bodies, open surfaces and placement, with the same GlobalId, name, type, tag and warnings. This instance and its bodies are left unchanged.
Use it rather than TransformBy(GeoTransform3) on each body. Conversion builds faces with a finer area threshold than Global (EqualPoint squared rather than EqualVector), so the thin sliver faces a triangulated or cut body can carry are valid here, while TransformBy(GeoTransform3), given a transformation that stretches or shears, checks every face against Global again and throws on the whole body; a move that keeps every length it carries over as it is. This method rebuilds the faces with the tolerance of the conversion, keeps a face that lands a rounding off flat as triangles on its own corners, and leaves out only what the transformation itself collapses, saying so in Warnings.
public IfcProductGeometry TransformBy(GeoTransform3 transform, Tolerance? tolerance = null)
Parameters
transformGeoTransform3The transformation, applied after Placement.
toleranceTolerance?The tolerance the geometry was converted with, Tolerance. Defaults to Global, the default of the options.
Returns
- IfcProductGeometry
The transformed copy.
Exceptions
- ArgumentNullException
Thrown when
transformis null.