Skip to content

BH.oM.Structure.Constraints.LinkConstraint

Defines the rigid connectivity between a primary and set of secondary nodes.

Class structure

Implemented interfaces and base types

The LinkConstraint 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
Name string A unique Name is required for some structural packages to create and identify the object. -
XtoX bool True defines a rigid connectivity between primary and secondary nodes for translations along the X-axis, i.e. true prohibits relative translation along the X-axis between primary and secondary nodes. -
YtoY bool True defines a rigid connectivity between primary and secondary nodes for translations along the Y-axis, i.e. true prohibits relative translation along the Y-axis between primary and secondary nodes. -
ZtoZ bool True defines a rigid connectivity between primary and secondary nodes for translations along the Z-axis, i.e. true prohibits relative translation along the Z-axis between primary and secondary nodes. -
XtoYY bool True means that a X-translation imposes a rigid Y-axis rotation. -
XtoZZ bool True means that a X-translation imposes a rigid Z-axis rotation. -
YtoXX bool True means that a Y-translation imposes a rigid X-axis rotation. -
YtoZZ bool True means that a Y-translation imposes a rigid Z-axis rotation. -
ZtoXX bool True means that a Z-translation imposes a rigid X-axis rotation. -
ZtoYY bool True means that a Z-translation imposes a rigid Y-axis rotation. -
XXtoXX bool True defines a rigid connectivity between primary and secondary nodes for rotations about the X-axis, i.e. true prohibits relative rotation about the X-axis between primary and secondary nodes. -
YYtoYY bool True defines a rigid connectivity between primary and secondary nodes for rotations about the Y-axis, i.e. true prohibits relative rotation about the Y-axis between primary and secondary nodes. -
ZZtoZZ bool True defines a rigid connectivity between primary and secondary nodes for rotations about the Z-axis, i.e. true prohibits relative rotation about the Z-axis between primary and secondary nodes. -

Inherited properties

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

Name Type Description Quantity
BHoM_Guid Guid - -
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
Description string Generates a default description for the LinkConstraint based on its fixities where x denoted fixed and f denotes free. - Structure_Engine
DescriptionOrName string Gets the name from a IProperty. If null or empty, a default description name is provided instead. - Structure_Engine
IDescription string Generates a default description for the IProperty, based on its properties. - Structure_Engine

Code and Schema

C# implementation

C#
public class LinkConstraint : BH.oM.Base.BHoMObject, BH.oM.Base.IBHoMObject, BH.oM.Base.IObject, BH.oM.Structure.IProperty

Assembly: Structure_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/Structure_oM/Constraints/LinkConstraint.json"
}

The JSON Schema is available on github here: