BH.oM.Environment.Analysis.Node¶
0D finite element for environmental analysis. Node class contains positional information and is used to build AnalysisGrids and provide links between model geometry and analytical results.
Class structure¶
Implemented interfaces and base types¶
The Node 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.Dimensional.IElement0D
- BH.oM.Dimensional.IElement
- BH.oM.Analytical.Elements.INode
- BH.oM.Analytical.IAnalytical
Properties¶
Defining properties¶
The following properties are defined on the class
Name | Type | Description | Quantity |
---|---|---|---|
Position | Point | Position of the node in global Cartesian 3D space. | - |
ID | int | An ID for this node to identify it within result lists and on an analysis grid. ID should be unique and not shared with other nodes in the same grid. | - |
Results | List<TimeIndexResult> | A list of TimeIndexResults for nodes with time dependent results. | - |
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 |
---|---|---|---|---|
Bounds | BoundingBox | Queries the IElement0Ds BoundingBox. Acts on the Point definition of the IElement0D through the Geometry_Engine. | - | Spatial_Engine |
Centroid | Point | Queries the centre of weight for the homogeneous geometrical representation of an IElement0D. Always returns the point location due to zero-dimensionality of an IElement0D. | - | Spatial_Engine |
ControlPoints | List<Point> | Queries the control points of the geometrical representation of an IElement0D. Always returns the point location due to zero-dimensionality of an IElement0D. | - | Spatial_Engine |
ElementCurves | List<ICurve> | Queries the defining curves of an IElement0D. Always returns empty collection due to zero-dimensionality of an IElement0D. | - | Spatial_Engine |
ElementVertices | List<Point> | Returns the point from the IElement0D. Mainly to accomodate the interface method. | - | Spatial_Engine |
Geometry | Point | Gets the geometry of a Node as a Point. Method required for automatic display in UI packages | - | Environment_Engine |
Geometry | Point | Gets the geometry of a INode as a Point. Method required for automatic display in UI packages. | - | Analytical_Engine |
IArea | double | Queries the area of the geometrical representation of an IElement. | Area [m²] | Spatial_Engine |
IBounds | BoundingBox | Queries the IElements BoundingBox. Acts on the elements geometrical definition of the IElement through the Geometry_Engine. | - | Spatial_Engine |
ICentroid | Point | Queries the centre of weight for the homogeneous geometrical representation of an IElement. | - | Spatial_Engine |
IControlPoints | List<Point> | Queries the control points of the geometrical representation of an IElement. | - | Spatial_Engine |
IElementCurves | List<ICurve> | Queries the geometricly defining curves of the IElements geometry. | - | Spatial_Engine |
IElementVertices | List<Point> | Returns the discontinuity points from the defining ICurves of the IElement. | - | Spatial_Engine |
IGeometry | Point | Queries the defining geometrical object which all spatial operations will act on. | - | Spatial_Engine |
IIsPlanar | bool | Checks whether all control points of an element lie in a single plane. | - | Spatial_Engine |
IIsSelfIntersecting | bool | Checks if any of the curves defining an IElement is closer to itself than the tolerance at any two points (is self intersecting). In case of IElement2D, does not check for intersections between external and internal curves, or between different internal curves. | - | Spatial_Engine |
IsPlanar | bool | Checks whether all control points of an element lie in a single plane. | - | Spatial_Engine |
IsSelfIntersecting | bool | Checks if the one dimensional representation of the IElement0D is closer to itself than the tolerance at any two points. Always false because a zero-dimensional IElement0D does not consist of curves. | - | Spatial_Engine |
Code and Schema¶
C# implementation¶
public class Node : BH.oM.Base.BHoMObject,
BH.oM.Base.IBHoMObject,
BH.oM.Base.IObject,
BH.oM.Dimensional.IElement0D,
BH.oM.Dimensional.IElement,
BH.oM.Analytical.Elements.INode,
BH.oM.Analytical.IAnalytical
Assembly: Environment_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/Environment_oM/Analysis/Node.json"
}
The JSON Schema is available on github here: