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:
- BH.oM.Base.BHoMObject
- BH.oM.Base.IBHoMObject
- BH.oM.Base.IObject
- BH.oM.Spatial.Layouts.ILayout2D
- BH.oM.Base.IImmutable
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¶
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.
{
"$ref" : "https://raw.githubusercontent.com/BHoM/BHoM_JSONSchema/develop/Spatial_oM/Layouts/MultiLinearLayout.json"
}
The JSON Schema is available on github here: