Skip to content

BH.oM.Geometry.OffsetOptions

Options for curve offset operations.

Class structure

Implemented interfaces and base types

The OffsetOptions is inheriting from the following base type(s) and implements the following interfaces:

Properties

Defining properties

The following properties are defined on the class

Name Type Description Quantity
RemoveShortSegments bool If true segments shorter than tolerance are removed. Only applicable for polyline offsets. Recomended for the general case to be set to true. To be noted that when this option is true, the topology of the polyline might change due to segments being removed. Defaults to true. -
HandleCreatedLocalSelfIntersections bool If true mehtod avoids creation of self intersections for offsets of concave curves by removal of segments tending to 0 length. Only applicable for Polyline offsets. Recomended for the general case to be set to true. To be noted that when this option is true, the topology of the polyline might change due to segments being removed. Defaults to true. -
HandleGeneralCreatedSelfIntersections bool If true mehtod avoids creation of self intersections for offsets of concave curves checking if any vertex being offsetted is ending up on or beyond another segment. Recomended for the general case to be set to true. To be noted that when this option is true, the topology of the polyline might change due to segments being removed. Only applicable for Polyline offsets. Defaults to true. -
HandleAdjacentParallelSegments bool If true handles adjecent parallel segemnts, that is, segments that have an angle below tolerance. This is handled by removal of the vertex connection the two segments for a concave offset and introductions of one additional vertex for a convex offset. Recomended for the general case to be set to true. To be noted that when this option is true, the topology of the polyline might change due to segments being added and/or removed. Only applicable for Polyline offsets. Defaults to true. -

Code and Schema

C# implementation

C#
public class OffsetOptions : BH.oM.Base.IObject

Assembly: Geometry_oM.dll

The C# class definition is available on github:

All history and changes of the class can be found by inspection the history.

JSON Schema implementation

The object is defined as a JSON schema. You can validate a JSON instance against this schema by reference. To do this, use the schema reference below in a validator like this one.

JSON Schema
{
 "$ref" : "https://raw.githubusercontent.com/BHoM/BHoM_JSONSchema/develop/Geometry_oM/OffsetOptions.json"
}

The JSON Schema is available on github here: