BH.oM.Base.FragmentSet¶
Class structure¶
Implemented interfaces and base types¶
The FragmentSet is inheriting from the following base type(s) and implements the following interfaces:
- KeyedCollection<Type, BH.oM.Base.IFragment>
- Collection<BH.oM.Base.IFragment>
- IList<BH.oM.Base.IFragment>
- ICollection<BH.oM.Base.IFragment>
- IEnumerable<BH.oM.Base.IFragment>
- IEnumerable
- IList
- ICollection
- IReadOnlyList<BH.oM.Base.IFragment>
- IReadOnlyCollection<BH.oM.Base.IFragment>
- BH.oM.Base.IObject
Properties¶
Inherited properties¶
The following properties are inherited from the base class of the object
| Name | Type | Description | Quantity |
|---|---|---|---|
| Comparer | IEqualityComparer<Type> | - | - |
| Item | IFragment | - | - |
| Count | int | - | - |
| Item | IFragment | - | - |
Derived properties¶
The following properties are defined as extension methods in one of the BHoM_Engines
| Name | Type | Description | Quantity | Engine |
|---|---|---|---|---|
| AbsoluteMaxEnvelope | BarForce | - | - | Results_Engine |
| AbsoluteMaxEnvelopeByCase | List<BarForce> | - | - | Results_Engine |
| AbsoluteMaxEnvelopeByObject | List<BarForce> | - | - | Results_Engine |
| AbsoluteMaxForces | List<BarForce> | - | - | Results_Engine |
| AvailableCategories | List<string> | Gets all distinct non-empty categories from the material classifications in a collection of materials, optionally filtered by type, grade, and constituent. | - | Matter_Engine |
| AvailableCategories | List<string> | Gets all distinct non-empty categories from the material classifications in a collection of material properties, optionally filtered by type, grade, and constituent. | - | Matter_Engine |
| AvailableConstituents | List<string> | Gets all distinct non-empty constituents from the material classifications in a collection of material properties, optionally filtered by category, type, and grade. | - | Matter_Engine |
| AvailableConstituents | List<string> | Gets all distinct non-empty constituents from the material classifications in a collection of materials, optionally filtered by category, type, and grade. | - | Matter_Engine |
| AvailableGrades | List<string> | Gets all distinct non-empty grades from the material classifications in a collection of materials, optionally filtered by category, type, and constituent. | - | Matter_Engine |
| AvailableGrades | List<string> | Gets all distinct non-empty grades from the material classifications in a collection of material properties, optionally filtered by category, type, and constituent. | - | Matter_Engine |
| AvailableTypes | List<string> | Gets all distinct non-empty types from the material classifications in a collection of materials, optionally filtered by category, grade, and constituent. | - | Matter_Engine |
| AvailableTypes | List<string> | Gets all distinct non-empty types from the material classifications in a collection of material properties, optionally filtered by category, grade, and constituent. | - | Matter_Engine |
| Average | Point | Calculates the average (centroid) Point from a collection of Points. | - | Geometry_Engine |
| Bounds | BoundingBox | Queries the IElements BoundingBox. Acts on the elements geometrical definition of the IElement through the Geometry_Engine. | - | Spatial_Engine |
| Centroid | Point | Queries the combined centre of area enclosed by a set of ICurves with an optional set of openings. To give a correct result all input curves must be planar, coplanar, closed and non-self-intersecting. Opening curves should also be inside of outline curves. |
- | Geometry_Engine |
| ElementCurves | List<ICurve> | Queries the geometrically defining curves of the IElements geometries. | - | Spatial_Engine |
| ElementVertices | List<Point> | Returns the discontinuity points from the defining ICurves of the IElements. | - | Spatial_Engine |
| ExternalEdges | List<IElement1D> | Returns external edges from a collection of 2D elements. | - | Facade_Engine |
| FilterByClassification | List<Material> | Filters a collection of Material by classification properties. Requires the provided Materials to contain a MaterialClassification as one of its properties to be able to filter. The filtering is done by matching all non-empty provided properties, e.g. if the category and type are provided, but grade and constituent are empty, then all materials with the same category and type will be returned. | - | Matter_Engine |
| FilterUniqueRevitElements | List<IBHoMObject> | Filters the given collection of BHoM objects to return only unique Revit elements based on their UniqueId. | - | Revit_Engine |
| GetDistinctEdges | List<Edge> | Returns a distinct list of edges by comparing the midpoint of each edge's curve, rounded to 3 decimal places. | - | Lusas_Engine |
| GetDistinctPoints | List<Point> | Returns a distinct list of points by comparing their X, Y, and Z coordinates, rounded to 3 decimal places. | - | Lusas_Engine |
| MaxBarRequiredArea | List<BarRequiredArea> | Returns a list of BarRequiredArea results, one for each component, that contain the maximum value for each required area and its concurrent required areas. | - | Results_Engine |
| MaxEnvelope | BarForce | Determines the maximum force in each component of the BarForce and returns a single BarForce object with the enveloped forces. | - | Results_Engine |
| MaxEnvelope | BarRequiredArea | Determines the maximum required in each component of the BarRequiredArea and returns a single BarRequiredArea object with the enveloped required areas. | - | Results_Engine |
| MaxEnvelope | MeshRequiredArea | Determines the maximum required in each component of the MeshRequiredArea and returns a single MeshRequiredArea object with the enveloped required areas. | - | Results_Engine |
| MaxEnvelopeByCase | List<BarForce> | Groups the BarForces by case and finds the maximum envelope returning a single enveloped BarForce for each case. The resulting BarForce will not contain concurrent forces. | - | Results_Engine |
| MaxEnvelopeByObject | List<BarForce> | Groups the BarForces by id and finds the maximum envelope returning a single enveloped BarForce for each id. The resulting BarForce will not contain concurrent forces. | - | Results_Engine |
| MaxForces | List<BarForce> | Returns a list of BarForces, one for each component, that contain the maximum value for each components and its concurrent forces. | - | Results_Engine |
| MaxMeshRequiredArea | List<MeshRequiredArea> | Returns a list of MeshRequiredAreas results, one for each component, that contain the maximum value for each required area and its concurrent required areas. | - | Results_Engine |
| MinBarRequiredArea | List<BarRequiredArea> | Returns a list of BarRequiredArea results, one for each component, that contain the minimum value for each required area and its concurrent required areas. | - | Results_Engine |
| MinEnvelope | BarRequiredArea | Determines the minimum required in each component of the BarRequiredArea and returns a single BarRequiredArea object with the enveloped required areas. | - | Results_Engine |
| MinEnvelope | MeshRequiredArea | Determines the minimum required in each component of the MeshRequiredArea and returns a single MeshRequiredArea object with the enveloped required areas. | - | Results_Engine |
| MinEnvelope | BarForce | Determines the minimum force in each component of the BarForce and returns a single BarForce object with the enveloped forces. | - | Results_Engine |
| MinEnvelopeByCase | List<BarForce> | Groups the BarForces by case and finds the minimum envelope returning a single enveloped BarForce for each case. The resulting BarForce will not contain concurrent forces. | - | Results_Engine |
| MinEnvelopeByObject | List<BarForce> | Groups the BarForces by id and finds the minimum envelope returning a single enveloped BarForce for each id. The resulting BarForce will not contain concurrent forces. | - | Results_Engine |
| MinForces | List<BarForce> | Returns a list of BarForces, one for each component, that contain the minimum value for each components and its concurrent forces. | - | Results_Engine |
| MinMeshRequiredArea | List<MeshRequiredArea> | Returns a list of MeshRequiredAreas results, one for each component, that contain the minimum value for each required area and its concurrent required areas. | - | Results_Engine |
| MostSevereStatus | TestStatus | Returns the most severe status from any of the provided test information. This is, if any error is existing this returns error, else if any warnings exists returns warning, else returns pass. | - | Test_Engine |
| ObjectsByType | Dictionary<Type, List<object>> | - | - | Reflection_Engine |
| Sum | Vector | Calculates the sum of a collection of vectors by adding all vector components together. | - | Geometry_Engine |
| SumModuleDataValues | Dictionary<Module, double> | Sums the Indicators of the provided ILifeCycleAssessmentModuleData per Module, i.e. the value stored for module A1 in the returned dictionary will be the sum of the A1 values of all the provided items. All provided items need to be of the same type. If they are not, an error is raised and an empty dictionary is returned. An empty dictionary is also returned if no items are provided. |
- | LifeCycleAssessment_Engine |
| TotalMaterialBreakdown | List<MaterialResult> | Gets the total MaterialResults for all provided element results. The material results of the element results are grouped by MaterialName, EnvironmentalProductDeclarationName and result type (metric), and a single MaterialResult is returned for each group with the indicators summed per module. | - | LifeCycleAssessment_Engine |
| TotalMaterialBreakdown | List<MaterialResult> | Gets the total MaterialResults from a set of individual material results. The results are grouped by MaterialName, EnvironmentalProductDeclarationName and result type (metric), and a single MaterialResult is returned for each group with the indicators summed per module. | - | LifeCycleAssessment_Engine |
Code and Schema¶
C# implementation¶
C#
public class FragmentSet : System.Collections.ObjectModel.KeyedCollection<System.Type, BH.oM.Base.IFragment>,
System.Collections.ObjectModel.Collection<BH.oM.Base.IFragment>,
System.Collections.Generic.IList<BH.oM.Base.IFragment>,
System.Collections.Generic.ICollection<BH.oM.Base.IFragment>,
System.Collections.Generic.IEnumerable<BH.oM.Base.IFragment>,
System.Collections.IEnumerable,
System.Collections.IList,
System.Collections.ICollection,
System.Collections.Generic.IReadOnlyList<BH.oM.Base.IFragment>,
System.Collections.Generic.IReadOnlyCollection<BH.oM.Base.IFragment>,
BH.oM.Base.IObject
Assembly: BHoM.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/BHoM/FragmentSet.json"
}
The JSON Schema is available on github here: