Skip to content

BH.oM.Spatial.Layouts.LinearLayout

Linear distribution of points along a vector from one side of the perimeter of the host object to the other.

Class structure

Implemented interfaces and base types

The LinearLayout 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
NumberOfPoints int Number of points along the axis. -
Direction Vector Direction of the axis. Vector should lie in the XY-plane, i.e. have a Z-coordinate equal to 0. -
Offset double Offset of the linear layout in relation to the reference point, perpendicular to the Direction vector in the XY plane.
A positive value will mean an offset towards the centre of the boundingbox of the host objects.
Length [m]
ReferencePoint ReferencePoint Controls which point on the host element that should be used for the layout. -

Inherited properties

The following properties are inherited from the base class of the object

Name Type Description Quantity
BHoM_Guid Guid - -
Name string - -
Fragments FragmentSet - -
Tags HashSet<string> - -
CustomData Dictionary<string, object> - -

Derived properties

The following properties are defined as extension methods in one of the BHoM_Engines

Name Type Description Quantity Engine
IsNull bool Checks if an Layout2D is null and outputs relevant error message. - Spatial_Engine

Code and Schema

C# implementation

C#
public class LinearLayout : BH.oM.Base.BHoMObject, BH.oM.Base.IBHoMObject, BH.oM.Base.IObject, BH.oM.Spatial.Layouts.ILayout2D, BH.oM.Base.IImmutable

Assembly: Spatial_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/Spatial_oM/Layouts/LinearLayout.json"
}

The JSON Schema is available on github here: