Skip to content

BH.oM.Spatial.Layouts.MultiLinearLayout

Linear distribution of points along multiple linear parallel axes, defined along a vector from one side of the perimeter of the host object to the other. Starts by fitting in as many points as possible in the first layer, then generates a new one and repeats.

Class structure

Implemented interfaces and base types

The MultiLinearLayout 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. -
ParallelMinimumSpacing double Minimum distance between any two points in the layout along the axis layers. Length [m]
PerpendicularMinimumSpacing double Minimum distance between any two layers. Length [m]
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 MultiLinearLayout : 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/MultiLinearLayout.json"
}

The JSON Schema is available on github here: