├── .ci
├── BHoMBot
│ └── Nuget
│ │ └── BHoM.Engine.nuspec
├── BuildTest.ps1
├── CloneTest.ps1
├── Datasets
│ ├── BHoM_Engine
│ │ ├── Modify
│ │ │ ├── RemoveAndSplitAtIndexes.json
│ │ │ └── ShiftList.json
│ │ └── Query
│ │ │ ├── IsAdapterNamespace.json
│ │ │ ├── IsEngineNamespace.json
│ │ │ ├── IsOmNamespace.json
│ │ │ ├── Round.json
│ │ │ ├── RoundToCeiling.json
│ │ │ └── RoundToFloor.json
│ ├── Environment_Engine
│ │ ├── Compute
│ │ │ ├── ExtrudeToVolume.json
│ │ │ ├── MapRegions.json
│ │ │ └── TidyPanels.json
│ │ ├── Modify
│ │ │ ├── Copy.json
│ │ │ ├── Transform.json
│ │ │ └── UpdateZones.json
│ │ └── Query
│ │ │ └── IsValid.json
│ ├── Facade_Engine
│ │ ├── Compute
│ │ │ ├── UValueOpeningAW.json
│ │ │ └── UValuePanelAW.json
│ │ └── Modify
│ │ │ └── Transform.json
│ ├── Geometry_Engine
│ │ ├── Compute
│ │ │ ├── BooleanDifference.json
│ │ │ ├── BooleanIntersection.json
│ │ │ ├── BooleanUnion.json
│ │ │ ├── CurveProximity.json
│ │ │ ├── FitLine.json
│ │ │ ├── FitPlane.json
│ │ │ ├── GrahamScan.json
│ │ │ ├── IntegrateRegion.json
│ │ │ ├── Join.json
│ │ │ ├── MultiOffset.json
│ │ │ ├── OutlinesFromLines.json
│ │ │ ├── SortAlongCurve.json
│ │ │ ├── Split.json
│ │ │ └── SplitAtSelfIntersections.json
│ │ ├── Create
│ │ │ └── SettingOut
│ │ │ │ └── Grid.json
│ │ ├── Modify
│ │ │ ├── CleanPolyline.json
│ │ │ ├── Close.json
│ │ │ ├── CollapseToPolyline.json
│ │ │ ├── CullDuplicate.json
│ │ │ ├── Flip.json
│ │ │ ├── MergeVertices.json
│ │ │ ├── Offset.json
│ │ │ ├── Project.json
│ │ │ ├── ProjectToXY.json
│ │ │ ├── Rotate.json
│ │ │ ├── RoundCoordinates.json
│ │ │ ├── Scale.json
│ │ │ ├── SplitAtPoints.json
│ │ │ ├── SplitAtPointsDupPoints.json
│ │ │ ├── Transform.json
│ │ │ └── Translate.json
│ │ └── Query
│ │ │ ├── AcuteAngle.json
│ │ │ ├── Angle.json
│ │ │ ├── Area.json
│ │ │ ├── Bounds.json
│ │ │ ├── Centre.json
│ │ │ ├── Centroid.json
│ │ │ ├── Clone.json
│ │ │ ├── ClosestPoint.json
│ │ │ ├── ControlPoints.json
│ │ │ ├── DiscontinuityPoints.json
│ │ │ ├── Distance.json
│ │ │ ├── DistanceAlongVector.json
│ │ │ ├── EndDir.json
│ │ │ ├── EndPoint.json
│ │ │ ├── ExternalEdges.json
│ │ │ ├── FocalPoints.json
│ │ │ ├── IsClockwise.json
│ │ │ ├── IsClosed.json
│ │ │ ├── IsCollinear.json
│ │ │ ├── IsContaining.json
│ │ │ ├── IsCoplanar.json
│ │ │ ├── IsLinear.json
│ │ │ ├── IsParallel.json
│ │ │ ├── IsPolylinear.json
│ │ │ ├── IsRigidTransformation.json
│ │ │ ├── IsSelfIntersecting.json
│ │ │ ├── IsVertical.json
│ │ │ ├── LargestComponent.json
│ │ │ ├── Length.json
│ │ │ ├── LineIntersections.json
│ │ │ ├── Normal.json
│ │ │ ├── ParameterAtPoint.json
│ │ │ ├── PlaneIntersection.json
│ │ │ ├── PlaneIntersections.json
│ │ │ ├── PointAtLength.json
│ │ │ ├── PointAtParameter.json
│ │ │ ├── StartDir.json
│ │ │ ├── StartPoint.json
│ │ │ └── TangentAtParameter.json
│ ├── Graphics_Engine
│ │ └── Modify
│ │ │ └── Transform.json
│ ├── Ground_Engine
│ │ ├── Compute
│ │ │ └── ConsolidateStrata.json
│ │ └── Query
│ │ │ └── DistinctSuites.json
│ ├── Lighting_Engine
│ │ └── Modify
│ │ │ └── Transform.json
│ ├── MEP_Engine
│ │ ├── Compute
│ │ │ ├── MassFlowRate.json
│ │ │ ├── ProcessLatentHeat.json
│ │ │ ├── ProcessSensibleHeat.json
│ │ │ └── ProcessTotalHeat.json
│ │ └── Modify
│ │ │ └── Transform.json
│ ├── Matter_Engine
│ │ ├── Compute
│ │ │ ├── AggregateGeneralMaterialTakeoff.json
│ │ │ └── AggregateVolumetricMaterialTakeoff.json
│ │ ├── Modify
│ │ │ └── SetDensityFromProperties.json
│ │ └── Query
│ │ │ ├── AllDensitiesEqual.json
│ │ │ ├── Density.json
│ │ │ ├── ExplicitBulk.json
│ │ │ ├── GeneralMaterialTakeoff.json
│ │ │ ├── MaterialComposition.json
│ │ │ ├── SolidVolume.json
│ │ │ └── VolumetricMaterialTakeoff.json
│ ├── Physical_Engine
│ │ ├── Create
│ │ │ ├── Material.json
│ │ │ ├── ShapeCode00.json
│ │ │ ├── ShapeCode11.json
│ │ │ ├── ShapeCode12.json
│ │ │ ├── ShapeCode13.json
│ │ │ ├── ShapeCode14.json
│ │ │ ├── ShapeCode15.json
│ │ │ ├── ShapeCode21.json
│ │ │ ├── ShapeCode22.json
│ │ │ ├── ShapeCode23.json
│ │ │ ├── ShapeCode25.json
│ │ │ ├── ShapeCode26.json
│ │ │ ├── ShapeCode27.json
│ │ │ ├── ShapeCode28.json
│ │ │ ├── ShapeCode31.json
│ │ │ ├── ShapeCode32.json
│ │ │ ├── ShapeCode33.json
│ │ │ ├── ShapeCode34.json
│ │ │ ├── ShapeCode35.json
│ │ │ ├── ShapeCode36.json
│ │ │ ├── ShapeCode41.json
│ │ │ ├── ShapeCode44.json
│ │ │ ├── ShapeCode46.json
│ │ │ ├── ShapeCode47.json
│ │ │ ├── ShapeCode48.json
│ │ │ ├── ShapeCode51.json
│ │ │ ├── ShapeCode52.json
│ │ │ ├── ShapeCode63.json
│ │ │ ├── ShapeCode64.json
│ │ │ ├── ShapeCode67.json
│ │ │ ├── ShapeCode75.json
│ │ │ ├── ShapeCode77.json
│ │ │ └── ShapeCode98.json
│ │ ├── Modify
│ │ │ └── Transform.json
│ │ └── Query
│ │ │ ├── Centreline.json
│ │ │ ├── EmbedVolume.json
│ │ │ ├── GeneralEndProjection.json
│ │ │ ├── HookDiameter.json
│ │ │ ├── IsCompliant.json
│ │ │ ├── IsWithinPileCap.json
│ │ │ ├── Length.json
│ │ │ ├── LinksEndProjection.json
│ │ │ ├── MaximumRadius.json
│ │ │ └── SchedulingRadius.json
│ ├── Reflection_Engine
│ │ └── Query
│ │ │ ├── BaseTypes.json
│ │ │ ├── DocumentationURL.json
│ │ │ ├── IsPrototype.json
│ │ │ └── Url.json
│ ├── Search_Engine
│ │ └── Compute
│ │ │ ├── ExtractAll.json
│ │ │ ├── ExtractSorted.json
│ │ │ ├── ExtractTop.json
│ │ │ └── MatchScore.json
│ ├── Security_Engine
│ │ └── Modify
│ │ │ └── Transform.json
│ ├── Spatial_Engine
│ │ ├── Compute
│ │ │ └── FitPlane.json
│ │ ├── Modify
│ │ │ ├── Orient.json
│ │ │ ├── RoundCoordinates.json
│ │ │ └── Transform.json
│ │ └── Query
│ │ │ ├── DistributedOpeningCurves.json
│ │ │ ├── IsPlanar.json
│ │ │ ├── OpeningArea.json
│ │ │ └── OpeningCurve.json
│ └── Structure_Engine
│ │ ├── Convert
│ │ ├── FEMeshToPanel.json
│ │ └── PanelToFEMesh.json
│ │ ├── Create
│ │ └── CellularSectionFromBaseSection.json
│ │ ├── Modify
│ │ ├── SetLocalOrientation.json
│ │ ├── SetNormal.json
│ │ └── Transform.json
│ │ └── Query
│ │ ├── AnalyticalBars.json
│ │ ├── Area.json
│ │ ├── CellularOpeningCurves.json
│ │ ├── Centreline.json
│ │ ├── CoordinateSystem.json
│ │ ├── Description.json
│ │ ├── DistributedPoints.json
│ │ ├── LocalOrientation.json
│ │ ├── Mass.json
│ │ ├── MaterialComposition.json
│ │ ├── Normal.json
│ │ ├── SolidVolume.json
│ │ ├── Tangent.json
│ │ ├── TotalThickness.json
│ │ └── VolumePerArea.json
├── check-all-depandants.yml
├── check-core.yml
├── check-installer.yml
├── code
│ ├── Engine_Test
│ │ ├── Engine_Test.csproj
│ │ └── Verify
│ │ │ └── NullChecks.cs
│ ├── Serialiser_Test
│ │ ├── Helpers
│ │ │ ├── ObjectTypesToTest.cs
│ │ │ └── TestObjects.cs
│ │ ├── Serialiser_Test.csproj
│ │ └── Verify
│ │ │ ├── MethodsToFromJson.cs
│ │ │ ├── ObjectsToFromJson.cs
│ │ │ └── TypesToFromJson.cs
│ └── Verification.sln
├── run-compliance-tests.yml
├── testSettings.runsettings
└── unit-tests
│ ├── BHoM_Engine_Tests.sln
│ ├── Base_Engine_Tests
│ ├── Base_Engine_Tests.csproj
│ ├── Compute
│ │ └── TryRunExtensionMethod.cs
│ └── Query
│ │ ├── Geometry3D.cs
│ │ ├── IsNumeric.cs
│ │ ├── IsNumericIntegralType.cs
│ │ ├── Objects
│ │ ├── Container.cs
│ │ └── TestFragment.cs
│ │ └── Unpack.cs
│ ├── Serialiser_Engine_Tests
│ ├── AllTypesIObject.cs
│ ├── BaseLoader.cs
│ ├── Helpers
│ │ ├── CanReplaceMethodWithType.cs
│ │ ├── TemporaryLogFolder.cs
│ │ └── TemporaryLogPath.cs
│ ├── Serialiser_Engine_Tests.csproj
│ ├── SystemTypesToFromJson.cs
│ └── Versioning.cs
│ ├── Structure_Engine_Tests
│ ├── Query
│ │ ├── Geometry.cs
│ │ ├── Geometry3D.cs
│ │ └── IGeometry.cs
│ └── Structure_Engine_Tests.csproj
│ └── TestHelper_Engine
│ ├── Compute
│ └── ExtensionMethodToCallHelper.cs
│ └── TestHelper_Engine.csproj
├── .github
├── CODEOWNERS
├── ISSUE_TEMPLATE
│ ├── 00_bug.md
│ ├── 01_feature_request.md
│ ├── 02_test_script.md
│ ├── 03_documentation.md
│ ├── 04_compliance.md
│ ├── 05_external_api_changes.md
│ └── 06_question.md
└── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── Acoustic_Engine
├── Acoustic_Engine.csproj
├── Create
│ ├── Panel.cs
│ ├── RT60.cs
│ ├── Rasti.cs
│ ├── Ray.cs
│ ├── Receiver.cs
│ ├── Room.cs
│ ├── SnRatio.cs
│ ├── SoundLevel.cs
│ └── Speaker.cs
├── Modify
│ ├── FilterRays.cs
│ └── FilterVisibleRays.cs
└── Query
│ ├── DirectRays.cs
│ ├── DirectSound.cs
│ ├── GainFactor.cs
│ ├── IsObstructed.cs
│ ├── Length.cs
│ ├── Order.cs
│ ├── Plane.cs
│ ├── Rasti.cs
│ ├── ReverbDistance.cs
│ ├── RoomConstant.cs
│ ├── SabineTime.cs
│ ├── SignalToNoise.cs
│ ├── SoundLevel.cs
│ ├── SoundLevelsSum.cs
│ ├── TimeConstant.cs
│ └── TravelTime.cs
├── Analytical_Engine
├── Analytical_Engine.csproj
├── Compute
│ ├── ElementsInRegion.cs
│ └── ExtrudeToVolume.cs
├── Convert
│ └── Graph
│ │ ├── ToDataVizObjects.cs
│ │ ├── ToDotFormat.cs
│ │ └── ToRelation.cs
├── Create
│ └── Graph
│ │ ├── ComparisonConfig.cs
│ │ ├── Graph.cs
│ │ └── Relation.cs
├── Modify
│ ├── CleanRegion.cs
│ ├── Graph
│ │ ├── ProjectGraph.cs
│ │ ├── RelationCurves.cs
│ │ ├── RemoveEntity.cs
│ │ ├── RemoveIsolatedEntities.cs
│ │ ├── Reverse.cs
│ │ ├── UniqueEntities.cs
│ │ └── UniqueEntityNames.cs
│ ├── SetElements0D.cs
│ ├── SetGeometry.cs
│ ├── SetInternalElements2D.cs
│ └── SetOutlineElements1D.cs
└── Query
│ ├── Elements0D.cs
│ ├── ExternalPolycurve.cs
│ ├── Geometry.cs
│ ├── Graph
│ ├── AStarShortestPath.cs
│ ├── Adjacency.cs
│ ├── ClosestIElement0D.cs
│ ├── Depth.cs
│ ├── Destinations.cs
│ ├── DijkstraShortestPath.cs
│ ├── Entities.cs
│ ├── Entity.cs
│ ├── EntityNeighbourhood.cs
│ ├── FilterEntities.cs
│ ├── FilterRelations.cs
│ ├── Incoming.cs
│ ├── IsolatedEntities.cs
│ ├── LargestProcessGroup.cs
│ ├── NotSinks.cs
│ ├── Relation.cs
│ ├── RelationArrow.cs
│ ├── RelationLength.cs
│ ├── Sinks.cs
│ ├── Sources.cs
│ ├── SubGraphs.cs
│ └── UniqueEntitiesReplacementMap.cs
│ ├── IElement2D
│ └── NewInternalElement2D.cs
│ ├── InternalElements2D.cs
│ ├── IsAligned.cs
│ ├── IsContaining.cs
│ ├── IsHorizontal.cs
│ ├── IsOutlineQuad.cs
│ ├── IsOutlineRectangular.cs
│ ├── IsOutlineSquare.cs
│ ├── IsOutlineTrianglular.cs
│ ├── IsVertical.cs
│ └── OutlineElements1D.cs
├── Architecture_Engine
├── Architecture_Engine.csproj
├── Compute
│ └── CeilingTiles.cs
├── Create
│ ├── BuildersWork
│ │ └── Opening.cs
│ └── Theatron
│ │ ├── ActivityArea.cs
│ │ ├── ProfileOrigin.cs
│ │ ├── ProfileParameters.cs
│ │ ├── SeatingBlock.cs
│ │ ├── StadiaParameters.cs
│ │ ├── StadiaType.cs
│ │ ├── SuperRiserParameters.cs
│ │ ├── TheatronFullProfile.cs
│ │ ├── TheatronGeometry.cs
│ │ ├── TheatronPlan.cs
│ │ ├── TheatronPlan
│ │ ├── CircularPlan.cs
│ │ ├── EightArcPlan.cs
│ │ ├── FourArcPlan.cs
│ │ ├── NoCornersPlan.cs
│ │ └── OrthogonalPlan.cs
│ │ ├── Tier.cs
│ │ ├── TierProfile.cs
│ │ └── VomitoryParameters.cs
├── Modify
│ ├── SetGeometry.cs
│ ├── SetOutlineElements1D.cs
│ └── Transform.cs
└── Query
│ ├── DistanceInPlane.cs
│ ├── Geometry.cs
│ ├── HasMergeablePropertiesWith.cs
│ ├── IsValidForInPlaneDistanceCheck.cs
│ └── OutlineElements1D.cs
├── BHoM_Engine.sln
├── BHoM_Engine
├── BHoM_Engine.csproj
├── Compute
│ ├── ClearCurrentEvents.cs
│ ├── ExecutionSpeed.cs
│ ├── ExtractAssembly.cs
│ ├── ExtractNonBHoMTypes.cs
│ ├── LoadAllAssemblies.cs
│ ├── LoadAssembly.cs
│ ├── MakeGenericFromInputs.cs
│ ├── ParseEnum.cs
│ ├── RecordError.cs
│ ├── RecordEvent.cs
│ ├── RecordNote.cs
│ ├── RecordWarning.cs
│ ├── RemoveEvent.cs
│ ├── RetrieveSuppressedLog.cs
│ ├── RunExtensionMethod.cs
│ ├── SuppressRecording.cs
│ ├── ThrowErrorsAsExceptions.cs
│ └── TryRunExtensionMethod.cs
├── Convert
│ ├── ToFunc.cs
│ └── ToText.cs
├── Create
│ ├── BHoMGroup.cs
│ ├── CustomObject.cs
│ ├── Enumeration.cs
│ ├── IObject
│ │ └── RandomObject.cs
│ ├── Output.cs
│ └── Type
│ │ ├── AllTypes.cs
│ │ ├── EngineType.cs
│ │ ├── GenericType.cs
│ │ └── Type.cs
├── Modify
│ ├── AddFragment.cs
│ ├── Cast.cs
│ ├── PropertyNamesToFullNames.cs
│ ├── RemoveFragment.cs
│ ├── SetHashFragment.cs
│ ├── SetPropertyFallback.cs
│ ├── SetPropertyValue.cs
│ ├── ShiftList.cs
│ ├── SplitAndRemoveAtIndexes.cs
│ └── TrySetProperty.cs
├── Objects
│ ├── EqualityComparers
│ │ ├── BHoMGuidComparer.cs
│ │ ├── BHoMObjectNameComparer.cs
│ │ ├── BHoMObjectNameOrToStringComparer.cs
│ │ ├── HashComparer.cs
│ │ └── TypeComparer.cs
│ ├── Global.cs
│ └── IterFunction.cs
└── Query
│ ├── AssemblyList.cs
│ ├── AssemblyPath.cs
│ ├── BHoMFolder.cs
│ ├── BHoMVersion.cs
│ ├── BHoMWebsiteURL.cs
│ ├── CanTarget.cs
│ ├── CurrentAssemblyFolder.cs
│ ├── DebugLog.cs
│ ├── DeepClone.cs
│ ├── DocumentationURL.cs
│ ├── EnumList.cs
│ ├── Events.cs
│ ├── ExtensionMethodHierarchy.cs
│ ├── ExtensionMethodToCall.cs
│ ├── ExtensionMethods.cs
│ ├── FilterByType.cs
│ ├── FindFragment.cs
│ ├── FindIdentifier.cs
│ ├── Geometry.cs
│ ├── Geometry3D.cs
│ ├── GetAllFragments.cs
│ ├── GetAllPropertyFullNames.cs
│ ├── GetProperties.cs
│ ├── GetProperty.cs
│ ├── GetPropertyFallback.cs
│ ├── GroupByType.cs
│ ├── Hash.cs
│ ├── InputExposure.cs
│ ├── IsAdapterAssembly.cs
│ ├── IsAdapterNamespace.cs
│ ├── IsAssignable.cs
│ ├── IsAutoGenerated.cs
│ ├── IsEngineAssembly.cs
│ ├── IsEngineNamespace.cs
│ ├── IsInterfaceMethod.cs
│ ├── IsLegal.cs
│ ├── IsNull.cs
│ ├── IsNullable.cs
│ ├── IsNumeric.cs
│ ├── IsNumericFloatingPointType.cs
│ ├── IsNumericIntegralType.cs
│ ├── IsOmAssembly.cs
│ ├── IsOmNamespace.cs
│ ├── IsSuppressing.cs
│ ├── IsThrowingErrors.cs
│ ├── IsUIAssembly.cs
│ ├── Item.cs
│ ├── MethodList.cs
│ ├── NumericTolerance.cs
│ ├── NumericalApproximation.cs
│ ├── ObjectsByType.cs
│ ├── Path.cs
│ ├── PropertyValue.cs
│ ├── Round.cs
│ ├── RoundToCeiling.cs
│ ├── RoundToFloor.cs
│ ├── RoundToSignificantFigures.cs
│ ├── ShallowClone.cs
│ ├── SignificantFigures.cs
│ ├── TryGetValue.cs
│ ├── TypeDictionary.cs
│ ├── TypeList.cs
│ ├── UnderlyingType.cs
│ ├── UniquenessRestrictions.cs
│ ├── Unpack.cs
│ ├── UnqualifiedName.cs
│ ├── UsedAssemblies.cs
│ └── WildcardMatch.cs
├── Data_Engine
├── Compute
│ ├── ClusterDBSCAN.cs
│ ├── DomainTreeClusters.cs
│ ├── FilterData.cs
│ ├── Path.cs
│ ├── RelatedPairs.cs
│ ├── Series.cs
│ └── SplitRequestTreeByType.cs
├── Create
│ ├── BatchRequest.cs
│ ├── CustomRequest.cs
│ ├── DBSCANObject.cs
│ ├── Dataset.cs
│ ├── DiscretePoint.cs
│ ├── Domain.cs
│ ├── DomainBox.cs
│ ├── DomainTree
│ │ ├── DomainTree.cs
│ │ └── DomainTreeLeaf.cs
│ ├── FilterRequest.cs
│ ├── Graph.cs
│ ├── GraphLink.cs
│ ├── GraphNode.cs
│ ├── LocalData.cs
│ ├── LogicalAndRequest.cs
│ ├── LogicalNotRequest.cs
│ ├── LogicalOrRequest.cs
│ ├── Node.cs
│ ├── PointMatrix.cs
│ ├── PriorityQueue.cs
│ ├── SelectionRequest.cs
│ ├── Table.cs
│ ├── Tree.cs
│ └── VennDiagram.cs
├── Data_Engine.csproj
├── Modify
│ ├── Add.cs
│ ├── AddLink.cs
│ ├── AddNode.cs
│ ├── GroupByName.cs
│ ├── Pop.cs
│ ├── RemoveLink.cs
│ ├── RemoveNode.cs
│ ├── Round.cs
│ ├── ShortenBranches.cs
│ ├── SimplifyRequestTree.cs
│ └── TransposeRectangularCollection.cs
├── Objects
│ └── PathItem.cs
└── Query
│ ├── AdjacencyDictionary.cs
│ ├── AllRequestsOfType.cs
│ ├── Axes.cs
│ ├── AxisExists.cs
│ ├── Children.cs
│ ├── ChunkBy.cs
│ ├── CloseToPoint.cs
│ ├── ClosestData.cs
│ ├── ClosestNode.cs
│ ├── Count.cs
│ ├── DepthDictionary.cs
│ ├── FirstValueAbove.cs
│ ├── FirstValueAt.cs
│ ├── FolderContent.cs
│ ├── FurthestSquareDistance.cs
│ ├── GraphNodes.cs
│ ├── IsInRange.cs
│ ├── IsPotentialOverlap.cs
│ ├── ItemsInRange.cs
│ ├── LeafNodes.cs
│ ├── Linq
│ ├── FilterBy.cs
│ ├── GroupBy.cs
│ └── OrderBy.cs
│ ├── Neighbours.cs
│ ├── OppositeNode.cs
│ ├── Peek.cs
│ ├── RemoveNulls.cs
│ ├── Requests.cs
│ ├── SquareDistance.cs
│ ├── SubMatrixData.cs
│ ├── Values.cs
│ ├── ValuesAbove.cs
│ └── ValuesAt.cs
├── Diffing_Engine
├── Compute
│ ├── DiffOneByOne.cs
│ ├── DiffRevisions.cs
│ ├── DiffWithCustomDataKeyId.cs
│ ├── DiffWithCustomIds.cs
│ ├── DiffWithFragmentId.cs
│ ├── DiffWithHash.cs
│ └── IDiffing.cs
├── Convert
│ └── TryParseObjectToGuid.cs
├── Create
│ ├── Delta.cs
│ ├── DiffingConfig.cs
│ ├── Revision.cs
│ └── StreamPointer.cs
├── Diffing_Engine.csproj
├── Modify
│ ├── PrepareForRevision.cs
│ ├── RemoveDuplicatesByHash.cs
│ └── SetRevisionFragment.cs
├── Objects
│ └── CustomComparers
│ │ ├── DataColumnComparer.cs
│ │ ├── DataRowComparer.cs
│ │ └── DataTableComparer.cs
└── Query
│ ├── AdaptersDiffingMethods.cs
│ ├── CombinedDiff.cs
│ ├── DifferentProperties.cs
│ ├── IsEqual.cs
│ ├── ListDifferentProperties.cs
│ ├── NumericalDifferenceInclusion.cs
│ ├── ObjectDifferences.cs
│ └── RevisionFragment.cs
├── Environment_Engine
├── Compute
│ ├── AssignSpaceTypeByPoint.cs
│ ├── BooleanIntersect.cs
│ ├── DateTimeList.cs
│ ├── EquipmentGain.cs
│ ├── ExportEPW.cs
│ ├── ExtrudeToVolume.cs
│ ├── GenerateCylindricalFarfield.cs
│ ├── ImportEPW.cs
│ ├── JulianDay.cs
│ ├── LightingGain.cs
│ ├── MapRegions.cs
│ ├── MapToLevel.cs
│ ├── MergePanels.cs
│ ├── Occupancy.cs
│ ├── OpeningsFromGlazingRatio.cs
│ ├── PeopleGain.cs
│ ├── PlugGain.cs
│ ├── RegionNameMapping.cs
│ ├── SolarPosition.cs
│ ├── ThirdOrderPolynomial.cs
│ └── TidyPanels.cs
├── Convert
│ ├── Edge.cs
│ └── OpeningFromPanel.cs
├── Create
│ ├── AnalysisGrid.cs
│ ├── Level.cs
│ ├── Opening.cs
│ └── Panel.cs
├── Environment_Engine.csproj
├── Modify
│ ├── AddAdjacentSpace.cs
│ ├── AddOpening.cs
│ ├── AssignGenericConstructions.cs
│ ├── ChangeAdjacentSpace.cs
│ ├── CleanPanel.cs
│ ├── Copy.cs
│ ├── CullOverlaps.cs
│ ├── FixNormal.cs
│ ├── FlipPanels.cs
│ ├── OffsetOpenings.cs
│ ├── RemoveOpening.cs
│ ├── RemoveOpeningsByName.cs
│ ├── RemovePanel.cs
│ ├── RemovePanels.cs
│ ├── ReplaceSpaceName.cs
│ ├── SetAdjacentSpaces.cs
│ ├── SetConstructions.cs
│ ├── SetFloorPanels.cs
│ ├── SetGeometry.cs
│ ├── SetInternalElements2D.cs
│ ├── SetOpeningConstruction.cs
│ ├── SetOpeningType.cs
│ ├── SetOutlineElements1D.cs
│ ├── SetPanelConstructionByType.cs
│ ├── SetPanelType.cs
│ ├── SetPanelTypeByAdjacencies.cs
│ ├── SetPanelTypeByIntersectingLines.cs
│ ├── SetRegionGeometry.cs
│ ├── SetRoofPanels.cs
│ ├── SetShadePanels.cs
│ ├── SetWallPanels.cs
│ ├── Split.cs
│ ├── SplitOpeningByGeometry.cs
│ ├── SplitPanelsByOverlap.cs
│ ├── SplitPanelsByPoints.cs
│ ├── Transform.cs
│ ├── UpdateSpaceNameByType.cs
│ └── UpdateZones.cs
└── Query
│ ├── Absorptance.cs
│ ├── AdjacentSpaces.cs
│ ├── Altitude.cs
│ ├── AltitudeRange.cs
│ ├── Area.cs
│ ├── Azimuth.cs
│ ├── Bottom.cs
│ ├── BottomLeft.cs
│ ├── BottomRight.cs
│ ├── Bounds.cs
│ ├── Buildings.cs
│ ├── Cardinality.cs
│ ├── ClosedShellGeometry.cs
│ ├── ClosedSpaces.cs
│ ├── ConnectedSpaceName.cs
│ ├── ConstructionByName.cs
│ ├── CullDuplicates.cs
│ ├── DateTime.cs
│ ├── ElementsNotMatched.cs
│ ├── ExplodeToParts.cs
│ ├── ExposedToSun.cs
│ ├── FilterByAdjacencies.cs
│ ├── FilterOpenings.cs
│ ├── FilterPanels.cs
│ ├── FilterResults.cs
│ ├── FindDuplicatePanels.cs
│ ├── FindMaterial.cs
│ ├── FloorGeometry.cs
│ ├── FloorHeights.cs
│ ├── FrameFactor.cs
│ ├── Geometry.cs
│ ├── Group.cs
│ ├── HasMergeablePropertiesWith.cs
│ ├── Height.cs
│ ├── IdentifyOverlaps.cs
│ ├── Inclination.cs
│ ├── InternalElements2D.cs
│ ├── InvalidPanels.cs
│ ├── IsClosed.cs
│ ├── IsCoPlanar.cs
│ ├── IsContaining.cs
│ ├── IsExternal.cs
│ ├── IsIdentical.cs
│ ├── IsInternal.cs
│ ├── IsLeft.cs
│ ├── IsOnLevel.cs
│ ├── IsShade.cs
│ ├── IsTransparent.cs
│ ├── IsValid.cs
│ ├── IsValidLocation.cs
│ ├── Level.cs
│ ├── MatchPointOn2Of3.cs
│ ├── MaterialComposition.cs
│ ├── MaximumLevel.cs
│ ├── MinimumLevel.cs
│ ├── NewInternalElement2D.cs
│ ├── NormalAwayFromSpace.cs
│ ├── NotClosedSpaces.cs
│ ├── ObjectsByFragment.cs
│ ├── Openings.cs
│ ├── OpeningsFromElements.cs
│ ├── OpeningsFromPhysical.cs
│ ├── Orientation.cs
│ ├── OutlineElements1D.cs
│ ├── PanelByGuid.cs
│ ├── Panels.cs
│ ├── PanelsContainingPoint.cs
│ ├── PanelsFromPhysical.cs
│ ├── PointInSpace.cs
│ ├── PointsInSpaces.cs
│ ├── PointsMatch.cs
│ ├── Polyline.cs
│ ├── RValue.cs
│ ├── RegionLevel.cs
│ ├── Roughness.cs
│ ├── Sides.cs
│ ├── SolidVolume.cs
│ ├── SpaceByName.cs
│ ├── Spaces.cs
│ ├── SpacesByElementID.cs
│ ├── StoreyGeometry.cs
│ ├── Thickness.cs
│ ├── Tilt.cs
│ ├── ToEdges.cs
│ ├── ToLines.cs
│ ├── ToSpace.cs
│ ├── Top.cs
│ ├── TopRight.cs
│ ├── UValue.cs
│ ├── UnconnectedEdges.cs
│ ├── UniqueConstructionName.cs
│ ├── UniqueConstructions.cs
│ ├── UniqueMaterials.cs
│ ├── UniqueObjectIDs.cs
│ ├── UniqueOpeningInstances.cs
│ ├── UniquePanelInstances.cs
│ ├── UniquePanels.cs
│ ├── UniqueResultCases.cs
│ ├── UniqueSpaceNames.cs
│ ├── Vertices.cs
│ ├── Volume.cs
│ └── Width.cs
├── Facade_Engine
├── Compute
│ ├── AdjacentElements.cs
│ ├── ComponentAreas.cs
│ ├── EdgeAdjacencies.cs
│ ├── FacadeAreasByConstruction.cs
│ ├── UValueAW.cs
│ ├── UValueOpeningAW.cs
│ ├── UValueOpeningCAM.cs
│ ├── UValueOpeningSAM.cs
│ ├── UValueOpeningsAW.cs
│ ├── UValueOpeningsCAM.cs
│ ├── UValueOpeningsSAM.cs
│ ├── UValuePanelAW.cs
│ ├── UValuePanelSAM.cs
│ ├── UValueSAM.cs
│ ├── UValueSpandrelAW.cs
│ └── UniqueAdjacencies.cs
├── Create
│ └── Elements
│ │ ├── CurtainWall.cs
│ │ ├── Opening.cs
│ │ └── Panel.cs
├── Facade_Engine.csproj
├── Modify
│ ├── ExtendMullion.cs
│ ├── ExtendProfile.cs
│ ├── OffsetVariable.cs
│ ├── SetOffsetFromFacetoFaceDist.cs
│ └── Transform.cs
└── Query
│ ├── AdjacencyID.cs
│ ├── Depth.cs
│ ├── ExternalEdges.cs
│ ├── FrameEdgeType.cs
│ ├── FrameGeometry2D.cs
│ ├── GeneralMaterialTakeoff.cs
│ ├── Geometry.cs
│ ├── IsAdjacent.cs
│ ├── MaterialComposition.cs
│ ├── PrimaryPropertyName.cs
│ ├── PsiValuesMatch.cs
│ ├── SimpleGeometry.cs
│ ├── SolidVolume.cs
│ ├── Width.cs
│ └── WidthIntoOpening.cs
├── Geometry_Engine
├── Compute
│ ├── BooleanDifference.cs
│ ├── BooleanIntersection.cs
│ ├── BooleanUnion.cs
│ ├── ClusterCollinear.cs
│ ├── ClusterCoplanar.cs
│ ├── CollapseToScaledPolyline.cs
│ ├── ConvexHull.cs
│ ├── CountNonZeroRows.cs
│ ├── CullDuplicates.cs
│ ├── CurveProximity.cs
│ ├── DistributeOutlines.cs
│ ├── Eigenvalues.cs
│ ├── Eigenvectors.cs
│ ├── FibonacciSphere.cs
│ ├── FitLine.cs
│ ├── FitPlane.cs
│ ├── GrahamScan.cs
│ ├── IntegrateRegion.cs
│ ├── Join.cs
│ ├── MarchingCubes.cs
│ ├── MarchingSquares.cs
│ ├── MultiOffset.cs
│ ├── OutlinesFromLines.cs
│ ├── PointClustersDBSCAN.cs
│ ├── PointGrid.cs
│ ├── REFTolerance.cs
│ ├── RowEchelonForm.cs
│ ├── ShortestPath.cs
│ ├── SingularValueDecomposition.cs
│ ├── SkewLineProximity.cs
│ ├── SortAlongCurve.cs
│ ├── SortCollinear.cs
│ ├── Split.cs
│ ├── SplitAtSelfIntersections.cs
│ ├── SubMesh.cs
│ └── WetBlanketInterpretation.cs
├── Convert
│ ├── DomainBox.cs
│ ├── Mesh.cs
│ ├── NurbsForm.cs
│ └── Polyline.cs
├── Create
│ ├── Arc.cs
│ ├── Basis.cs
│ ├── BoundaryCurve.cs
│ ├── BoundingBox.cs
│ ├── Cartesian.cs
│ ├── Circle.cs
│ ├── CompositeGeometry.cs
│ ├── Cone.cs
│ ├── Cuboid.cs
│ ├── Curve.cs
│ ├── Cylinder.cs
│ ├── DomainTree.cs
│ ├── Ellipse.cs
│ ├── Extrusion.cs
│ ├── Face.cs
│ ├── Geometry.cs
│ ├── IntegrationSlice.cs
│ ├── Line.cs
│ ├── Loft.cs
│ ├── Mesh.cs
│ ├── Mesh3D.cs
│ ├── NurbsCurve.cs
│ ├── NurbsSurface.cs
│ ├── Pipe.cs
│ ├── PlanarSurface.cs
│ ├── Plane.cs
│ ├── Point.cs
│ ├── PolyCurve.cs
│ ├── PolySurface.cs
│ ├── Polygon.cs
│ ├── Polyline.cs
│ ├── Quaternion.cs
│ ├── Sphere.cs
│ ├── Surface.cs
│ ├── Torus.cs
│ ├── TransformMatrix.cs
│ └── Vector.cs
├── Geometry_Engine.csproj
├── Modify
│ ├── CleanPolyline.cs
│ ├── Close.cs
│ ├── CollapseToPolyline.cs
│ ├── CullDuplicate.cs
│ ├── Extend.cs
│ ├── Flip.cs
│ ├── Inflate.cs
│ ├── Invert.cs
│ ├── MergeVertices.cs
│ ├── Mirror.cs
│ ├── Normalise.cs
│ ├── Offset.cs
│ ├── Orient.cs
│ ├── Project.cs
│ ├── ProjectAlong.cs
│ ├── ProjectToXY.cs
│ ├── RemoveLeastSignificantVertices.cs
│ ├── RemoveShortSegments.cs
│ ├── Reverse.cs
│ ├── Rotate.cs
│ ├── RoundCoordinates.cs
│ ├── Scale.cs
│ ├── SetGeometry.cs
│ ├── SetInternalElements2D.cs
│ ├── SetOutlineElements1D.cs
│ ├── Simplify.cs
│ ├── SortCurves.cs
│ ├── SplitAtPoints.cs
│ ├── Transform.cs
│ ├── Translate.cs
│ ├── Transpose.cs
│ └── Triangulate.cs
├── Objects
│ ├── LineTree.cs
│ ├── OffsetSegment.cs
│ └── OffsetVertex.cs
└── Query
│ ├── AcuteAngle.cs
│ ├── Angle.cs
│ ├── Area.cs
│ ├── Average.cs
│ ├── BasisFunction.cs
│ ├── Bounds.cs
│ ├── Cells.cs
│ ├── Centre.cs
│ ├── Centroid.cs
│ ├── ClosestDistance.cs
│ ├── ClosestPoint.cs
│ ├── ClosestPoints.cs
│ ├── ControlPoints.cs
│ ├── CurvatureAtParameter.cs
│ ├── CurveIntersections.cs
│ ├── Curves.cs
│ ├── Degree.cs
│ ├── DerivativeAtParameter.cs
│ ├── DerivativeFunction.cs
│ ├── Determinant.cs
│ ├── Direction.cs
│ ├── DiscontinuityPoints.cs
│ ├── Distance.cs
│ ├── Edges.cs
│ ├── ElementNormal.cs
│ ├── EndDir.cs
│ ├── EndPoint.cs
│ ├── Extents.cs
│ ├── ExternalEdges.cs
│ ├── ExternalFaceMesh.cs
│ ├── FaceIndices.cs
│ ├── FilterByNormal.cs
│ ├── FocalPoints.cs
│ ├── Geometry.cs
│ ├── GeometryHash.cs
│ ├── GetLineSegment.cs
│ ├── HashArray.cs
│ ├── Height.cs
│ ├── HorizontalHypotenuseLength.cs
│ ├── IElement2D
│ └── NewInternalElement2D.cs
│ ├── Integration.cs
│ ├── InternalEdges.cs
│ ├── InternalElements2D.cs
│ ├── IsClockwise.cs
│ ├── IsClosed.cs
│ ├── IsCollinear.cs
│ ├── IsContaining.cs
│ ├── IsCoplanar.cs
│ ├── IsEqual.cs
│ ├── IsInPlane.cs
│ ├── IsInRange.cs
│ ├── IsLinear.cs
│ ├── IsNull.cs
│ ├── IsNurbsCurve.cs
│ ├── IsOnCurve.cs
│ ├── IsOrthogonal.cs
│ ├── IsParallel.cs
│ ├── IsPartiallyContaining.cs
│ ├── IsPeriodic.cs
│ ├── IsPlanar.cs
│ ├── IsPolylinear.cs
│ ├── IsQuad.cs
│ ├── IsRectangular.cs
│ ├── IsRigidTransformation.cs
│ ├── IsSameSide.cs
│ ├── IsSelfIntersecting.cs
│ ├── IsSquare.cs
│ ├── IsTriangular.cs
│ ├── IsValid.cs
│ ├── IsVertical.cs
│ ├── LargestComponent.cs
│ ├── Length.cs
│ ├── LineIntersection.cs
│ ├── LongestSegmentLength.cs
│ ├── MeshIntersections.cs
│ ├── Normal.cs
│ ├── OutlineElements1D.cs
│ ├── ParameterAtPoint.cs
│ ├── PlaneAtParameter.cs
│ ├── PlaneIntersection.cs
│ ├── PointAtLength.cs
│ ├── PointAtParameter.cs
│ ├── PointAtX.cs
│ ├── PointInRegion.cs
│ ├── PrincipalCurvatureAtParameter.cs
│ ├── Product.cs
│ ├── SamplePoints.cs
│ ├── Side.cs
│ ├── SliceAt.cs
│ ├── StartDir.cs
│ ├── StartPoint.cs
│ ├── SubParts.cs
│ ├── TangentAtLength.cs
│ ├── TangentAtParameter.cs
│ ├── TangentAtPoint.cs
│ ├── UVCount.cs
│ ├── Vertices.cs
│ └── Volume.cs
├── Graphics_Engine
├── Convert
│ ├── ColourFromObject.cs
│ ├── ToDataList.cs
│ ├── ToRenderMesh.cs
│ ├── ToSVGString.cs
│ └── ToSteppedGradient.cs
├── Create
│ ├── Gradient.cs
│ ├── SVGDocument.cs
│ ├── SVGObject.cs
│ ├── SVGStyle.cs
│ ├── Scales
│ │ └── IScale.cs
│ └── SteppedGradient.cs
├── Graphics_Engine.csproj
├── Modify
│ ├── ApplyGradientCentering.cs
│ ├── ApplyGradientOptions.cs
│ ├── CenterGradientAsymmetric.cs
│ ├── RepresentationFragment.cs
│ ├── RepresentationFragments
│ │ ├── Boxes.cs
│ │ └── Links.cs
│ ├── SetDefaultGradient.cs
│ ├── SetGeometry.cs
│ ├── SetGradientBounds.cs
│ ├── Transform.cs
│ ├── UpdateMarkers.cs
│ └── View
│ │ ├── DependencyChart.cs
│ │ └── View.cs
└── Query
│ ├── Bounds.cs
│ ├── Color.cs
│ ├── Geometry.cs
│ ├── GradientLegend.cs
│ ├── IsNumericType.cs
│ ├── Marker.cs
│ ├── RenderMesh.cs
│ └── Scales
│ └── Scale.cs
├── Ground_Engine
├── Compute
│ └── ConsolidateStrata.cs
├── Create
│ ├── Borehole.cs
│ ├── ContaminantSample.cs
│ └── Stratum.cs
├── Ground_Engine.csproj
└── Query
│ ├── BoreholeProperty.cs
│ ├── ContaminantProperty.cs
│ ├── DistinctSuites.cs
│ ├── IsValid.cs
│ ├── StrataLines.cs
│ └── StratumProperty.cs
├── Humans_Engine
├── Create
│ ├── Audience.cs
│ ├── CvalueFocalMethodEnum
│ │ └── CvalueFocalMethod.cs
│ ├── CvalueSettings.cs
│ ├── Employee.cs
│ ├── EvalueSettings.cs
│ ├── EvalueViewEnum
│ │ └── EvalueViewType.cs
│ ├── Eye.cs
│ ├── EyePositionParameters.cs
│ ├── Head.cs
│ ├── Human.cs
│ ├── PairOfEyes.cs
│ ├── Skeleton.cs
│ └── Spectator.cs
├── Humans_Engine.csproj
├── Modify
│ └── HeadOutline.cs
└── Query
│ ├── AvalueAnalysis.cs
│ ├── Cartesian.cs
│ ├── CvalueAnalysis.cs
│ ├── EvalueAnalysis.cs
│ └── TrackingLines.cs
├── LICENSE
├── Library_Engine
├── Compute
│ ├── AddUserPath.cs
│ ├── RemoveUserPath.cs
│ └── SaveLibrarySettings.cs
├── Convert
│ └── ToText.cs
├── Library_Engine.csproj
└── Query
│ ├── AllLibraryPathNames.cs
│ ├── Confidence.cs
│ ├── Datasets.cs
│ ├── GeneralDisclaimer.cs
│ ├── IsPrototype.cs
│ ├── IsValidUserPath.cs
│ ├── Library.cs
│ ├── LibraryNames.cs
│ ├── LibrarySettings.cs
│ ├── LibraryTree.cs
│ ├── Match.cs
│ ├── Names.cs
│ ├── PartialMatch.cs
│ ├── RefreshLibraries.cs
│ ├── Source.cs
│ ├── SourceAndDisclaimer.cs
│ ├── StringMatch.cs
│ ├── UserPaths.cs
│ └── ValidatePath.cs
├── Lighting_Engine
├── Create
│ ├── Luminaire.cs
│ ├── Lux.cs
│ └── MeshResult.cs
├── Lighting_Engine.csproj
├── Modify
│ └── Transform.cs
└── Query
│ └── Geometry.cs
├── MEP_Engine
├── Compute
│ ├── Mechanical
│ │ ├── MassFlowRate.cs
│ │ ├── ProcessLatentHeat.cs
│ │ ├── ProcessSensibleHeat.cs
│ │ └── ProcessTotalHeat.cs
│ └── PlumbingFixtureWaterDemandPerDay.cs
├── Create
│ └── Elements
│ │ ├── CableTraySectionProperty.cs
│ │ ├── Duct.cs
│ │ ├── DuctSectionProperty.cs
│ │ ├── Pipe.cs
│ │ ├── PipeSectionProperty.cs
│ │ ├── SectionProfile.cs
│ │ ├── WireSectionProperty.cs
│ │ └── WireSegment.cs
├── MEP_Engine.csproj
├── Modify
│ ├── SetGeometry.cs
│ └── Transform.cs
└── Query
│ ├── Centreline.cs
│ ├── CircularEquivalentDiameter.cs
│ ├── CompositeSolidVolumes.cs
│ ├── FaceAreaByVelocity.cs
│ ├── Geometry.cs
│ ├── HydraulicDiameter.cs
│ ├── Length.cs
│ ├── MaterialComposition.cs
│ └── SolidVolume.cs
├── Matter_Engine
├── Compute
│ ├── AggregateGeneralMaterialTakeoff.cs
│ ├── AggregateMaterialComposition.cs
│ └── AggregateVolumetricMaterialTakeoff.cs
├── Create
│ ├── GeneralMaterialTakeoff.cs
│ ├── MaterialComposition.cs
│ └── VolumetricMaterialTakeoff.cs
├── Matter_Engine.csproj
├── Modify
│ ├── AssignTemplate.cs
│ ├── CombineMaterials.cs
│ ├── MapMaterial.cs
│ └── SetDensityFromProperties.cs
└── Query
│ ├── AllDensitiesEqual.cs
│ ├── Density.cs
│ ├── ExplicitBulk.cs
│ ├── GeneralMaterialTakeoff.cs
│ ├── MappedGeneralMaterialTakeoff.cs
│ ├── MappedMaterialComposition.cs
│ ├── MappedVolumetricMaterialTakeoff.cs
│ ├── Mass.cs
│ ├── MatchMaterials.cs
│ ├── MaterialComposition.cs
│ ├── SolidVolume.cs
│ └── VolumetricMaterialTakeoff.cs
├── Physical_Engine
├── Create
│ ├── Beam.cs
│ ├── Bracing.cs
│ ├── Cable.cs
│ ├── Column.cs
│ ├── ConstantFramingProperty.cs
│ ├── Construction.cs
│ ├── Floor.cs
│ ├── Layer.cs
│ ├── Material.cs
│ ├── PadFoundation.cs
│ ├── Pile.cs
│ ├── PileFoundation.cs
│ ├── PrimaryReinforcingBar.cs
│ ├── Reinforcement.cs
│ ├── Roof.cs
│ ├── ShapeCode
│ │ └── BS8666
│ │ │ ├── ShapeCode00.cs
│ │ │ ├── ShapeCode11.cs
│ │ │ ├── ShapeCode12.cs
│ │ │ ├── ShapeCode13.cs
│ │ │ ├── ShapeCode14.cs
│ │ │ ├── ShapeCode15.cs
│ │ │ ├── ShapeCode21.cs
│ │ │ ├── ShapeCode22.cs
│ │ │ ├── ShapeCode23.cs
│ │ │ ├── ShapeCode24.cs
│ │ │ ├── ShapeCode25.cs
│ │ │ ├── ShapeCode26.cs
│ │ │ ├── ShapeCode27.cs
│ │ │ ├── ShapeCode28.cs
│ │ │ ├── ShapeCode29.cs
│ │ │ ├── ShapeCode31.cs
│ │ │ ├── ShapeCode32.cs
│ │ │ ├── ShapeCode33.cs
│ │ │ ├── ShapeCode34.cs
│ │ │ ├── ShapeCode35.cs
│ │ │ ├── ShapeCode36.cs
│ │ │ ├── ShapeCode41.cs
│ │ │ ├── ShapeCode44.cs
│ │ │ ├── ShapeCode46.cs
│ │ │ ├── ShapeCode47.cs
│ │ │ ├── ShapeCode48.cs
│ │ │ ├── ShapeCode51.cs
│ │ │ ├── ShapeCode52.cs
│ │ │ ├── ShapeCode56.cs
│ │ │ ├── ShapeCode63.cs
│ │ │ ├── ShapeCode64.cs
│ │ │ ├── ShapeCode67.cs
│ │ │ ├── ShapeCode75.cs
│ │ │ ├── ShapeCode77.cs
│ │ │ ├── ShapeCode98.cs
│ │ │ └── ShapeCode99.cs
│ ├── Stirrup.cs
│ └── Wall.cs
├── Modify
│ ├── AddMaterialProperties.cs
│ ├── SetGeometry.cs
│ ├── SetInternalElements2D.cs
│ ├── SetOutlineElements1D.cs
│ └── Transform.cs
├── Physical_Engine.csproj
└── Query
│ ├── AverageProfileArea.cs
│ ├── Bottom.cs
│ ├── BottomCentreline.cs
│ ├── BoundingBoxCentreline.cs
│ ├── Centreline.cs
│ ├── ConstructionByName.cs
│ ├── Doors.cs
│ ├── EmbedVolume.cs
│ ├── ExternalPolyline.cs
│ ├── Floors.cs
│ ├── GeneralEndProjection.cs
│ ├── GeneralMaterialTakeoff.cs
│ ├── Geometry.cs
│ ├── Geometry3D.cs
│ ├── HasMergeablePropertiesWith.cs
│ ├── Height.cs
│ ├── HookDiameter.cs
│ ├── IElement
│ └── IElement2D
│ │ └── NewInternalElement2D.cs
│ ├── InternalElements2D.cs
│ ├── InternalPolyline.cs
│ ├── IsCompliant.cs
│ ├── IsNull.cs
│ ├── IsValid.cs
│ ├── IsWithinPileCap.cs
│ ├── Length.cs
│ ├── LinksEndProjection.cs
│ ├── Mass.cs
│ ├── MaterialComposition.cs
│ ├── MaximumRadius.cs
│ ├── Normal.cs
│ ├── OutlineElements1D.cs
│ ├── Polyline.cs
│ ├── ReinforcementStandard.cs
│ ├── Roofs.cs
│ ├── SchedulingRadius.cs
│ ├── SolidVolume.cs
│ ├── Thickness.cs
│ ├── TopCentreline.cs
│ ├── UniqueConstructions.cs
│ ├── VolumePerArea.cs
│ ├── VolumetricMaterialTakeoff.cs
│ ├── Walls.cs
│ ├── Width.cs
│ └── Windows.cs
├── Planning_Engine
├── Create
│ ├── CodeAssembly.cs
│ ├── Commit.cs
│ ├── Issue.cs
│ ├── Label.cs
│ ├── Milestone.cs
│ └── Repository.cs
└── Planning_Engine.csproj
├── Programming_Engine
├── Compute
│ └── PopulateTypes.cs
├── Create
│ ├── BlockNode.cs
│ └── LoopNode.cs
├── Programming_Engine.csproj
└── Query
│ └── DataTypePerParam.cs
├── README.md
├── Reflection_Engine
├── Compute
│ ├── DeepDependencies.cs
│ └── OpenHelpPage.cs
├── Create
│ ├── MethodBase.cs
│ └── MethodInfo.cs
├── Modify
│ ├── CopyPropertiesFromParent.cs
│ ├── MakeFromGeneric.cs
│ └── SetNewEmptyIEnumPropsIfNull.cs
├── Query
│ ├── BaseTypes.cs
│ ├── CommonBaseType.cs
│ ├── DefaultValueWarning.cs
│ ├── Description.cs
│ ├── DistinctProperties.cs
│ ├── DocumentationURL.cs
│ ├── EnumValues.cs
│ ├── GenericTypeConstraint.cs
│ ├── ImplementingTypes.cs
│ ├── InheritedTypes.cs
│ ├── InputDescriptions.cs
│ ├── IsAutoConstructorAllowed.cs
│ ├── IsDeprecated.cs
│ ├── IsExposed.cs
│ ├── IsMultipleOutputs.cs
│ ├── IsNotImplemented.cs
│ ├── IsPrimitive.cs
│ ├── IsPrototype.cs
│ ├── IsRequired.cs
│ ├── NestedMethods.cs
│ ├── ObjectsByType.cs
│ ├── OutputAttributes.cs
│ ├── OutputCount.cs
│ ├── OutputDescription.cs
│ ├── OutputName.cs
│ ├── OutputType.cs
│ ├── ParametersWithConstraints.cs
│ ├── PropertiesWithAttribute.cs
│ ├── PropertyAbbreviation.cs
│ ├── PropertyDictionary.cs
│ ├── PropertyFullNameValueDictionary.cs
│ ├── PropertyFullNameValueGroups.cs
│ ├── PropertyNames.cs
│ ├── PropertyObjects.cs
│ ├── PropertyTypes.cs
│ ├── Subtypes.cs
│ ├── Url.cs
│ ├── UsedMethods.cs
│ ├── UsedNamespaces.cs
│ └── UsedTypes.cs
└── Reflection_Engine.csproj
├── Results_Engine
├── Query
│ ├── AbsoluteMax.cs
│ ├── DisplayElement1DResults.cs
│ ├── DisplayMeshResults.cs
│ ├── DisplayObjectResult.cs
│ ├── FilterResults.cs
│ ├── Group.cs
│ ├── IdentifierProperties.cs
│ ├── IsNull.cs
│ ├── MapResultsToObjects.cs
│ ├── Max.cs
│ ├── Min.cs
│ ├── ObjectIdentifier.cs
│ ├── ResultIdentifier.cs
│ ├── ResultLookup.cs
│ ├── ResultPropertyKeys.cs
│ ├── ResultValueProperties.cs
│ └── ResultValueProperty.cs
└── Results_Engine.csproj
├── Search_Engine
├── Compute
│ ├── Extract
│ │ ├── ExtractAll.cs
│ │ ├── ExtractSorted.cs
│ │ └── ExtractTop.cs
│ └── Ratios
│ │ └── FuzzyMatch.cs
└── Search_Engine.csproj
├── Security_Engine
├── Compute
│ └── CameraFieldOfView.cs
├── Create
│ └── CameraDevice.cs
├── Modify
│ ├── SimplifyCameraFieldOfView.cs
│ └── Transform.cs
├── Query
│ ├── Centreline.cs
│ ├── Geometry.cs
│ └── ViewCone.cs
└── Security_Engine.csproj
├── Serialiser_Engine
├── Compute
│ ├── Deserialise.cs
│ ├── Deserialise
│ │ ├── Array.cs
│ │ ├── Bitmap.cs
│ │ ├── Boolean.cs
│ │ ├── Color.cs
│ │ ├── CustomObject.cs
│ │ ├── DataTable.cs
│ │ ├── DateTime.cs
│ │ ├── DateTimeOffset.cs
│ │ ├── Decimal.cs
│ │ ├── Deprecate.cs
│ │ ├── Dictionary.cs
│ │ ├── Double.cs
│ │ ├── Enum.cs
│ │ ├── Float.cs
│ │ ├── FragmentSet.cs
│ │ ├── Guid.cs
│ │ ├── HashSet.cs
│ │ ├── IDynamicPropertyProvider.cs
│ │ ├── IObject.cs
│ │ ├── Immutable.cs
│ │ ├── IntPtr.cs
│ │ ├── Integer.cs
│ │ ├── List.cs
│ │ ├── Long.cs
│ │ ├── MethodBase.cs
│ │ ├── Nullable.cs
│ │ ├── ReadOnlyCollection.cs
│ │ ├── Regex.cs
│ │ ├── Short.cs
│ │ ├── SortedDictionary.cs
│ │ ├── String.cs
│ │ ├── TimeSpan.cs
│ │ ├── Tuple.cs
│ │ ├── Type.cs
│ │ └── UnsignedInteger.cs
│ ├── ReadFromStream.cs
│ ├── Serialise.cs
│ ├── Serialise
│ │ ├── Array2D.cs
│ │ ├── Bitmap.cs
│ │ ├── Boolean.cs
│ │ ├── Color.cs
│ │ ├── CustomObject.cs
│ │ ├── DataTable.cs
│ │ ├── DateTime.cs
│ │ ├── DateTimeOffset.cs
│ │ ├── Decimal.cs
│ │ ├── Dictionary.cs
│ │ ├── Double.cs
│ │ ├── Enum.cs
│ │ ├── Float.cs
│ │ ├── FragmentSet.cs
│ │ ├── Guid.cs
│ │ ├── IBHoMObject.cs
│ │ ├── IDynamicObject.cs
│ │ ├── IEnumerable.cs
│ │ ├── IObject.cs
│ │ ├── IntPtr.cs
│ │ ├── Integer.cs
│ │ ├── Long.cs
│ │ ├── MethodBase.cs
│ │ ├── Regex.cs
│ │ ├── Short.cs
│ │ ├── String.cs
│ │ ├── TimeSpan.cs
│ │ ├── Tuple.cs
│ │ └── Type.cs
│ └── WriteToStream.cs
├── Convert
│ ├── Bson.cs
│ ├── Bytes.cs
│ ├── Encrypted.cs
│ ├── Json.cs
│ └── Zip.cs
├── Modify
│ └── ApplyTaggedName.cs
├── Query
│ └── TaggedName.cs
└── Serialiser_Engine.csproj
├── Settings_Engine
├── Compute
│ ├── LoadSettings.cs
│ └── SaveSettings.cs
├── Modify
│ └── UpdateSettings.cs
├── Objects
│ └── Global.cs
├── Query
│ ├── GetAllSettings.cs
│ └── GetSettings.cs
└── Settings_Engine.csproj
├── Spatial_Engine
├── Compute
│ ├── DistributeOutlines.cs
│ ├── FitPlane.cs
│ ├── InterpolateProfile.cs
│ ├── MapDomain.cs
│ └── OrientationAngleLinear.cs
├── Create
│ ├── DomainTree.cs
│ ├── ExplicitCurveLayout.cs
│ ├── ExplicitLayout.cs
│ ├── LinearLayout.cs
│ ├── MultiLinearLayout.cs
│ ├── OffsetCurveLayout.cs
│ ├── SettingOut
│ │ ├── Grid.cs
│ │ └── Level.cs
│ └── ShapeProfiles
│ │ ├── AngleProfile.cs
│ │ ├── BoxProfile.cs
│ │ ├── CellularProfile
│ │ ├── CircularCellularOpening.cs
│ │ ├── HexagonalCellularOpening.cs
│ │ └── SinusoidalCellularOpening.cs
│ │ ├── ChannelProfile.cs
│ │ ├── CircleProfile.cs
│ │ ├── FabricatedBoxProfile.cs
│ │ ├── FabricatedISectionProfile.cs
│ │ ├── FreeFormProfile.cs
│ │ ├── GeneralisedFabricatedBoxProfile.cs
│ │ ├── GeneralisedTSectionProfile.cs
│ │ ├── ISectionProfile.cs
│ │ ├── KiteProfile.cs
│ │ ├── RectangleProfile.cs
│ │ ├── ShapeProfile.cs
│ │ ├── TSectionProfile.cs
│ │ ├── TaperFlangeChannelProfile.cs
│ │ ├── TaperFlangeISectionProfile.cs
│ │ ├── TaperedProfile.cs
│ │ ├── TubeProfile.cs
│ │ ├── VoidedISectionProfile.cs
│ │ └── ZSectionProfile.cs
├── Modify
│ ├── MapPositionDomain.cs
│ ├── Orient.cs
│ ├── RoundCoordinates.cs
│ ├── SetElements0D.cs
│ ├── SetGeometry.cs
│ ├── SetInternalElements2D.cs
│ ├── SetOutlineElements1D.cs
│ ├── Transform.cs
│ └── Translate.cs
├── Query
│ ├── Area.cs
│ ├── Bounds.cs
│ ├── Centroid.cs
│ ├── ControlPoints.cs
│ ├── CurveLayout.cs
│ ├── DistributedOpeningCurves.cs
│ ├── DominantVector.cs
│ ├── ElementCurves.cs
│ ├── ElementVertices.cs
│ ├── Elements0D.cs
│ ├── Geometry.cs
│ ├── HasMergeablePropertiesWith.cs
│ ├── InternalElements2D.cs
│ ├── InternalOutlineCurves.cs
│ ├── IsFullyOnGrid.cs
│ ├── IsFullyOnLevel.cs
│ ├── IsNearGrid.cs
│ ├── IsNearLevel.cs
│ ├── IsNull.cs
│ ├── IsPlanar.cs
│ ├── IsSelfIntersecting.cs
│ ├── Length.cs
│ ├── NewInternalElement2D.cs
│ ├── Normal.cs
│ ├── OpeningArea.cs
│ ├── OpeningCurve.cs
│ ├── OutlineCurve.cs
│ ├── OutlineElements1D.cs
│ ├── PointLayout.cs
│ ├── Thickness.cs
│ └── VoidArea.cs
└── Spatial_Engine.csproj
├── Structure_Engine
├── Compute
│ ├── Integrate.cs
│ ├── IntegrateSection.cs
│ ├── MapTaperedProfile.cs
│ ├── OrientationAngle.cs
│ ├── PlasticModulus.cs
│ ├── ReinforcementDensity.cs
│ ├── ShearAreaPolyline.cs
│ └── SumRequiredArea.cs
├── Convert
│ ├── FEMeshToPanel.cs
│ └── PanelToFEMesh.cs
├── Create
│ ├── Constraints
│ │ ├── BarRelease
│ │ │ ├── BarReleaseFixFix.cs
│ │ │ ├── BarReleasePinPin.cs
│ │ │ └── BarReleasePinSlip.cs
│ │ ├── Constraint6DOF
│ │ │ ├── Constraint6DOF.cs
│ │ │ ├── FixConstraint6DOF.cs
│ │ │ ├── FullReleaseConstraint6DOF.cs
│ │ │ └── PinConstraint6DOF.cs
│ │ └── LinkConstraint
│ │ │ ├── LinkConstraint.cs
│ │ │ ├── LinkConstraintFixed.cs
│ │ │ ├── LinkConstraintPinned.cs
│ │ │ ├── LinkConstraintXPlate.cs
│ │ │ ├── LinkConstraintXPlatePin.cs
│ │ │ ├── LinkConstraintXYPlane.cs
│ │ │ ├── LinkConstraintXYPlanePin.cs
│ │ │ ├── LinkConstraintYPlate.cs
│ │ │ ├── LinkConstraintYPlatePin.cs
│ │ │ ├── LinkConstraintYPlateZPlate.cs
│ │ │ ├── LinkConstraintYZPlane.cs
│ │ │ ├── LinkConstraintYZPlanePin.cs
│ │ │ ├── LinkConstraintZPlatePin.cs
│ │ │ ├── LinkConstraintZXPlane.cs
│ │ │ └── LinkConstraintZXPlanePin.cs
│ ├── Elements
│ │ ├── Bar.cs
│ │ ├── FEMesh.cs
│ │ ├── Node.cs
│ │ ├── Opening.cs
│ │ ├── PadFoundation.cs
│ │ ├── Panel.cs
│ │ ├── Pile.cs
│ │ ├── PileFoundation.cs
│ │ ├── RetainingWall.cs
│ │ └── Stem.cs
│ ├── Loads
│ │ ├── AreaDifferentialTemperatureLoad.cs
│ │ ├── AreaUniformTemperatureLoad.cs
│ │ ├── AreaUniformlyDistributedLoad.cs
│ │ ├── BarDifferentialTemperatureLoad.cs
│ │ ├── BarPointLoad.cs
│ │ ├── BarPrestressLoad.cs
│ │ ├── BarUniformTemperatureLoad.cs
│ │ ├── BarUniformlyDistributedLoad.cs
│ │ ├── BarVaryingDistributedLoad
│ │ │ ├── BarVaryingDistributedLoad.cs
│ │ │ └── BarVaryingDistributedLoadDistanceBothEnds.cs
│ │ ├── GeometricalLineLoad.cs
│ │ ├── GravityLoad.cs
│ │ ├── Load.cs
│ │ ├── LoadCombination.cs
│ │ ├── PointAcceleration.cs
│ │ ├── PointDisplacement.cs
│ │ ├── PointLoad.cs
│ │ └── PointVelocity.cs
│ ├── MaterialFragments
│ │ ├── Aluminium.cs
│ │ ├── Concrete.cs
│ │ ├── Steel.cs
│ │ └── Timber.cs
│ ├── Offsets
│ │ └── Offset.cs
│ ├── Physical
│ │ ├── ConstantFramingProperty.cs
│ │ ├── Floor.cs
│ │ ├── FramingElement.cs
│ │ ├── ISurface.cs
│ │ └── Wall.cs
│ ├── Reinforcement
│ │ ├── LongitudinalReinforcement
│ │ │ ├── BottomReinforcement.cs
│ │ │ ├── LayerReinforcement.cs
│ │ │ ├── LongitudinalReinforcement.cs
│ │ │ ├── MultiLinearReinforcement.cs
│ │ │ ├── PerimiterReinforcement.cs
│ │ │ └── TopReinforcement.cs
│ │ └── TransverseReinforcement
│ │ │ └── TransverseReinforcement.cs
│ ├── Requests
│ │ ├── BarResultRequest.cs
│ │ ├── GlobalResultRequest.cs
│ │ ├── IResultRequest.cs
│ │ ├── MeshResultRequest.cs
│ │ └── NodeResultRequest.cs
│ ├── SectionProperties
│ │ ├── AluminiumSection
│ │ │ └── AluminiumSectionFromProfile.cs
│ │ ├── CellularSection
│ │ │ └── CellularSectionFromBaseSection.cs
│ │ ├── ConcreteSection
│ │ │ ├── ConcreteCircularSection.cs
│ │ │ ├── ConcreteFreeFormSection.cs
│ │ │ ├── ConcreteRectangleSection.cs
│ │ │ ├── ConcreteSectionFromProfile.cs
│ │ │ └── ConcreteTSection.cs
│ │ ├── GenericSection
│ │ │ └── GenericSectionFromProfile.cs
│ │ ├── GeometricalSection
│ │ │ └── SectionPropertyFromProfile.cs
│ │ ├── SteelSection
│ │ │ ├── FabricatedSteelBoxSection.cs
│ │ │ ├── SteelAngleSection.cs
│ │ │ ├── SteelBoxSection.cs
│ │ │ ├── SteelCircularSection.cs
│ │ │ ├── SteelFabricatedISection.cs
│ │ │ ├── SteelFreeFormSection.cs
│ │ │ ├── SteelISection.cs
│ │ │ ├── SteelRectangleSection.cs
│ │ │ ├── SteelSectionFromProfile.cs
│ │ │ ├── SteelTSection.cs
│ │ │ └── SteelTubeSection.cs
│ │ └── TimberSection
│ │ │ ├── TimberRectangleSection.cs
│ │ │ └── TimberSectionFromProfile.cs
│ └── SurfaceProperties
│ │ ├── HollowCore
│ │ ├── CircularVoidHollowCore.cs
│ │ └── ElogatedCircularVoidHollowCore.cs
│ │ └── SlabOnDeck.cs
├── Modify
│ ├── AddReinforcement.cs
│ ├── ApplyModifiers.cs
│ ├── Flip.cs
│ ├── OrientTowards.cs
│ ├── SetAnalysisParameters.cs
│ ├── SetElements0D.cs
│ ├── SetGeometry.cs
│ ├── SetLocalOrientation.cs
│ ├── SetMaterial.cs
│ ├── SetNormal.cs
│ ├── SetReinforcement.cs
│ ├── SetStructuralFragment.cs
│ ├── SetTimberAnalysisParameters.cs
│ └── Transform.cs
├── Objects
│ └── EqualityComparers
│ │ ├── BarEndNodesDistanceComparer.cs
│ │ ├── CaseNumberComaprer.cs
│ │ ├── Constraint4DOFComparer.cs
│ │ ├── Constraint6DOFComparer.cs
│ │ ├── NameOrDescriptionComparer.cs
│ │ └── NodeDistanceComparer.cs
├── Query
│ ├── AnalyticalBars.cs
│ ├── Area.cs
│ ├── AverageElement.cs
│ ├── BarSectionTranformation.cs
│ ├── CellularOpeningCurves.cs
│ ├── Centreline.cs
│ ├── Construction.cs
│ ├── CoordinateSystem.cs
│ ├── Default.cs
│ ├── DeformedShape.cs
│ ├── DepthAt.cs
│ ├── Description.cs
│ ├── DescriptionOrName.cs
│ ├── DistributedPoints.cs
│ ├── Edges.cs
│ ├── ElasticValues.cs
│ ├── Elements0D.cs
│ ├── Extrude.cs
│ ├── Fixities.cs
│ ├── Geometry.cs
│ ├── Geometry3D.cs
│ ├── HasAssignedObjectIds.cs
│ ├── HasMergeablePropertiesWith.cs
│ ├── HasModifiers.cs
│ ├── HasReinforcement.cs
│ ├── IsConstrained.cs
│ ├── IsNull.cs
│ ├── IsNumericallyDependent.cs
│ ├── IsValid.cs
│ ├── IsValidStructural.cs
│ ├── IsVertical.cs
│ ├── LocalOrientation.cs
│ ├── Mass.cs
│ ├── MassPerArea.cs
│ ├── MassPerMetre.cs
│ ├── MaterialComposition.cs
│ ├── MaterialType.cs
│ ├── Modifiers.cs
│ ├── Normal.cs
│ ├── OppositeNode.cs
│ ├── OutlineElements1D.cs
│ ├── PlotBarForce.cs
│ ├── PointGrid.cs
│ ├── ReinforcementLayout.cs
│ ├── ReinforcementTransitionPoints.cs
│ ├── ReinforcingBarCount.cs
│ ├── ReinforcingBars.cs
│ ├── SelectCase.cs
│ ├── ShearArea.cs
│ ├── ShearModulus.cs
│ ├── SolidVolume.cs
│ ├── StructuralMaterialFragment.cs
│ ├── Tangent.cs
│ ├── TorsionalConstant.cs
│ ├── Total.cs
│ ├── TotalThickness.cs
│ ├── Visualize.cs
│ ├── VoidZoneHeight.cs
│ ├── VoidZoneSolidRatio.cs
│ ├── VolumePerArea.cs
│ ├── VolumePerLength.cs
│ ├── WarpingConstant.cs
│ └── WidthAt.cs
└── Structure_Engine.csproj
├── UpgradeLog.htm
├── Verification_Engine
├── Compute
│ ├── CompareValues.cs
│ ├── Extract.cs
│ ├── FilterByCondition.cs
│ ├── TryGetValueFromSource.cs
│ ├── VerifyCondition.cs
│ ├── VerifyRequirement.cs
│ └── VerifySpecification.cs
├── Create
│ ├── Condition
│ │ ├── IsInDomain.cs
│ │ ├── LogicalAndCondition.cs
│ │ ├── LogicalOrCondition.cs
│ │ ├── Specification.cs
│ │ └── ValueCondition
│ │ │ ├── IsEqualTo.cs
│ │ │ ├── IsGreaterThan.cs
│ │ │ ├── IsGreaterThanOrEqualTo.cs
│ │ │ ├── IsLessThan.cs
│ │ │ └── IsLessThanOrEqualTo.cs
│ └── Reporting
│ │ └── LogicalCollectionConditionReportingConfig.cs
├── Objects
│ └── FormulaVariables.cs
├── Query
│ ├── FormattedValueString.cs
│ ├── FormulaComponent.cs
│ ├── HasValue.cs
│ ├── Identifier.cs
│ ├── IsEqualityComparisonType.cs
│ ├── IsInDomain.cs
│ ├── IsNumberComparisonType.cs
│ ├── IsTextComparisonType.cs
│ ├── Label.cs
│ ├── NestedConditions.cs
│ ├── ObjectsByIdentifiers.cs
│ ├── Passes.cs
│ ├── ReportMessage.cs
│ ├── ValueFromSource.cs
│ └── ValueSourceLabel.cs
└── Verification_Engine.csproj
├── Versioning_Engine
├── Compute
│ ├── LoadVersioningAssemblies.cs
│ └── VersioningKey.cs
├── Convert
│ └── ToNewVersion.cs
├── Modify
│ ├── AddVersion.cs
│ ├── RemoveVersion.cs
│ └── Upgrade.cs
├── Objects
│ ├── Converter.cs
│ ├── CustomVersioningMethod.cs
│ └── Global.cs
├── Query
│ ├── Converter.cs
│ ├── DatasetToMessageForDeleted.cs
│ ├── DatasetToNewPaths.cs
│ ├── DatasetToOldPaths.cs
│ ├── UpgradersToCall.cs
│ ├── Version.cs
│ ├── VersioningEvents.cs
│ └── VersioningKey.cs
├── Versioning_82.json
└── Versioning_Engine.csproj
├── core.txt
├── dependants.txt
└── dependencies.txt
/.ci/BHoMBot/Nuget/BHoM.Engine.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | BHoM.Engine
5 |
6 | BHoM
7 | https://github.com/BHoM/BHoM_Engine
8 | licence.txt
9 | icon.png
10 | readme.md
11 | false
12 | Tools and algorithms to manipulate BHoM objects
13 |
14 |
15 | BHoM engine aec
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/.ci/BuildTest.ps1:
--------------------------------------------------------------------------------
1 | Param([string]$repo)
2 |
3 | $msbuildPath = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe"
4 |
5 | # **** Building BHoM Test_Toolkit ****
6 | $repo = "Test_Toolkit"
7 |
8 | # **** Defining Paths ****
9 | $slnPath = "$ENV:BUILD_SOURCESDIRECTORY\Test_Toolkit_Corner\$repo\$repo.sln"
10 |
11 | # **** Building .sln ****
12 | write-Output ("Building " + $repo + ".sln")
13 | & $msbuildPath -nologo $slnPath /verbosity:minimal /p:Configuration="ComplianceTestBuild"
--------------------------------------------------------------------------------
/.ci/Datasets/MEP_Engine/Compute/MassFlowRate.json:
--------------------------------------------------------------------------------
1 | { "_t" : "BH.oM.Data.Library.Dataset", "BHoM_Guid" : "175b1457-df21-4f9f-a3e0-ad2847586752", "Name" : "MassFlowRate", "Fragments" : [], "Tags" : [], "CustomData" : { }, "SourceInformation" : { "_t" : "BH.oM.Data.Library.Source", "BHoM_Guid" : "4e88c899-c083-49c2-8ae3-c426e245bd7f", "Name" : "", "Fragments" : [], "Tags" : [], "CustomData" : { }, "SourceLink" : "", "Title" : "MassFlowRate", "Author" : "Travis Potter", "ItemReference" : "", "Version" : "", "Publisher" : "", "Schema" : "", "Language" : "", "Location" : "", "Copyright" : "", "Contributors" : "", "Confidence" : "High" }, "TimeOfCreation" : { "$date" : 1672931574776 }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.UnitTest", "BHoM_Guid" : "7dde06a3-eb57-46df-b821-178c608728c5", "Name" : "", "Fragments" : [], "Tags" : [], "CustomData" : { }, "Method" : { "_t" : "System.Reflection.MethodBase", "TypeName" : "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.MEP.Mechanical.Compute, MEP_Engine, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.0\" }", "MethodName" : "MassFlowRate", "Parameters" : ["{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }", "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }"], "_bhomVersion" : "6.0" }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.TestData", "BHoM_Guid" : "1edf0cc2-fa9e-47dd-9b0b-dadd3414f4d0", "Name" : "", "Fragments" : [], "Tags" : [], "CustomData" : { }, "Inputs" : [26.0, 1.204], "Outputs" : [31.303999999999998] }] }], "_bhomVersion" : "6.0" }
--------------------------------------------------------------------------------
/.ci/Datasets/MEP_Engine/Compute/ProcessLatentHeat.json:
--------------------------------------------------------------------------------
1 | { "_t" : "BH.oM.Data.Library.Dataset", "BHoM_Guid" : "9fd946d7-e0d8-43d1-955e-1f33ac280cac", "Name" : "ProcessLatentHeat", "Fragments" : [], "Tags" : [], "CustomData" : { }, "SourceInformation" : { "_t" : "BH.oM.Data.Library.Source", "BHoM_Guid" : "9a355d8a-fc2a-497d-b419-52894f89c22d", "Name" : "", "Fragments" : [], "Tags" : [], "CustomData" : { }, "SourceLink" : "", "Title" : "ProcessLatentHeat", "Author" : "Travis Potter", "ItemReference" : "", "Version" : "", "Publisher" : "", "Schema" : "", "Language" : "", "Location" : "", "Copyright" : "", "Contributors" : "", "Confidence" : "High" }, "TimeOfCreation" : { "$date" : 1672932083018 }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.UnitTest", "BHoM_Guid" : "27516d13-6276-4fab-86f6-40be6ad83831", "Name" : "", "Fragments" : [], "Tags" : [], "CustomData" : { }, "Method" : { "_t" : "System.Reflection.MethodBase", "TypeName" : "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.MEP.Mechanical.Compute, MEP_Engine, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.0\" }", "MethodName" : "ProcessLatentHeat", "Parameters" : ["{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }", "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }", "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }", "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }"], "_bhomVersion" : "6.0" }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.TestData", "BHoM_Guid" : "2814076f-52ca-4c99-b63a-48c436000b79", "Name" : "", "Fragments" : [], "Tags" : [], "CustomData" : { }, "Inputs" : [0.26000000000000001, 0.027125, 0.010619999999999999, 2250.0], "Outputs" : [9.6554249999999993] }] }], "_bhomVersion" : "6.0" }
--------------------------------------------------------------------------------
/.ci/Datasets/MEP_Engine/Compute/ProcessSensibleHeat.json:
--------------------------------------------------------------------------------
1 | { "_t" : "BH.oM.Data.Library.Dataset", "BHoM_Guid" : "6330ba25-312a-4226-9f3e-6e0a5ebb35b1", "Name" : "ProcessSensibleHeat", "Fragments" : [], "Tags" : [], "CustomData" : { }, "SourceInformation" : { "_t" : "BH.oM.Data.Library.Source", "BHoM_Guid" : "05d56107-98bd-4705-8bf8-6a722880715b", "Name" : "", "Fragments" : [], "Tags" : [], "CustomData" : { }, "SourceLink" : "", "Title" : "ProcessSensibleHeat", "Author" : "Travis Potter", "ItemReference" : "", "Version" : "", "Publisher" : "", "Schema" : "", "Language" : "", "Location" : "", "Copyright" : "", "Contributors" : "", "Confidence" : "High" }, "TimeOfCreation" : { "$date" : 1672932114380 }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.UnitTest", "BHoM_Guid" : "a95f8a57-8fa1-4c51-be20-ea9705edebe6", "Name" : "", "Fragments" : [], "Tags" : [], "CustomData" : { }, "Method" : { "_t" : "System.Reflection.MethodBase", "TypeName" : "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.MEP.Mechanical.Compute, MEP_Engine, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.0\" }", "MethodName" : "ProcessSensibleHeat", "Parameters" : ["{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }", "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }", "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }", "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }"], "_bhomVersion" : "6.0" }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.TestData", "BHoM_Guid" : "19d6d3c4-16f2-4021-8ac9-3ab7e6f8837f", "Name" : "", "Fragments" : [], "Tags" : [], "CustomData" : { }, "Inputs" : [2.6000000000000001, 20.0, 10.0, 1.0049999999999999], "Outputs" : [26.129999999999999] }] }], "_bhomVersion" : "6.0" }
--------------------------------------------------------------------------------
/.ci/Datasets/MEP_Engine/Compute/ProcessTotalHeat.json:
--------------------------------------------------------------------------------
1 | { "_t" : "BH.oM.Data.Library.Dataset", "BHoM_Guid" : "47146dfb-2745-4a56-92bf-56c98d3d7fd2", "Name" : "ProcessTotalHeat", "Fragments" : [], "Tags" : [], "CustomData" : { }, "SourceInformation" : { "_t" : "BH.oM.Data.Library.Source", "BHoM_Guid" : "cf2f3450-0a1a-48f0-b7ca-1c445a3dd4ea", "Name" : "", "Fragments" : [], "Tags" : [], "CustomData" : { }, "SourceLink" : "", "Title" : "ProcessTotalHeat", "Author" : "Travis Potter", "ItemReference" : "", "Version" : "", "Publisher" : "", "Schema" : "", "Language" : "", "Location" : "", "Copyright" : "", "Contributors" : "", "Confidence" : "High" }, "TimeOfCreation" : { "$date" : 1672932117508 }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.UnitTest", "BHoM_Guid" : "8df8ec3d-f97c-4c2b-85f4-291a2b424604", "Name" : "", "Fragments" : [], "Tags" : [], "CustomData" : { }, "Method" : { "_t" : "System.Reflection.MethodBase", "TypeName" : "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.MEP.Mechanical.Compute, MEP_Engine, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"6.0\" }", "MethodName" : "ProcessTotalHeat", "Parameters" : ["{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }", "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }", "{ \"_t\" : \"System.Type\", \"Name\" : \"System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"6.0\" }"], "_bhomVersion" : "6.0" }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.TestData", "BHoM_Guid" : "9e7353ba-69d2-4b20-971c-c3850add5f89", "Name" : "", "Fragments" : [], "Tags" : [], "CustomData" : { }, "Inputs" : [2.6000000000000001, 76.0, 70.0], "Outputs" : [15.600000000000001] }] }], "_bhomVersion" : "6.0" }
--------------------------------------------------------------------------------
/.ci/Datasets/Reflection_Engine/Query/DocumentationURL.json:
--------------------------------------------------------------------------------
1 | { "_t" : "BH.oM.Data.Library.Dataset", "SourceInformation" : { "_t" : "BH.oM.Data.Library.Source", "SourceLink" : "https://burohappold.sharepoint.com/:u:/s/BHoM/EVonnFa-Zp5KtHg16d3T0oUBYZONvSn3KTUdfcTiUCaPpw?e=gwVj11", "Title" : "DocumentationURL", "Author" : "Peter Nugent", "ItemReference" : "", "Version" : "", "Publisher" : "", "Schema" : "", "Language" : "", "Location" : "", "Copyright" : "", "Contributors" : "Peter Nugent", "Confidence" : "Undefined", "BHoM_Guid" : "6e470430-3c70-44d0-ac7a-bc731c2912e5", "Name" : "" }, "TimeOfCreation" : { "$date" : -62135541570999 }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.UnitTest", "Method" : { "_t" : "System.Reflection.MethodBase", "TypeName" : "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Reflection.Query, Reflection_Engine, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"7.3\" }", "MethodName" : "DocumentationURL", "Parameters" : ["{ \"_t\" : \"System.Type\", \"Name\" : \"System.Reflection.MemberInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"7.3\" }"], "_bhomVersion" : "7.3" }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.TestData", "Inputs" : [{ "_t" : "System.Type", "Name" : "BH.oM.Structure.Elements.Bar", "_bhomVersion" : "7.3" }], "Outputs" : [{ "_t" : "System.Collections.Generic.List`1[[BH.oM.Base.Attributes.DocumentationURLAttribute, BHoM, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null]]", "_v" : [{ "_t" : "BH.oM.Base.Attributes.DocumentationURLAttribute", "DocumentationURL" : "https://bhom.xyz/documentation/BHoM_oM/Structure_oM/BHoM-Structural-Conventions/", "Type" : "Documentation", "Description" : "", "TypeId" : { "_t" : "System.Type", "Name" : "BH.oM.Base.Attributes.DocumentationURLAttribute", "_bhomVersion" : "7.3" } }] }], "BHoM_Guid" : "a1dd2010-7a7a-42cb-aa26-3bc07a353b95", "Name" : "" }], "BHoM_Guid" : "a5bde25c-29f5-4945-9092-688600581359", "Name" : "" }], "BHoM_Guid" : "3fbf6b4f-7e36-4ad0-9ad3-35c26d166967", "Name" : "DocumentationURL", "_bhomVersion" : "7.3" }
--------------------------------------------------------------------------------
/.ci/Datasets/Reflection_Engine/Query/IsPrototype.json:
--------------------------------------------------------------------------------
1 | { "_t" : "BH.oM.Data.Library.Dataset", "SourceInformation" : { "_t" : "BH.oM.Data.Library.Source", "SourceLink" : "https://burohappold.sharepoint.com/:u:/s/BHoM/EVonnFa-Zp5KtHg16d3T0oUBYZONvSn3KTUdfcTiUCaPpw?e=gwVj11", "Title" : "DocumentationURL", "Author" : "Peter Nugent", "ItemReference" : "", "Version" : "", "Publisher" : "", "Schema" : "", "Language" : "", "Location" : "", "Copyright" : "", "Contributors" : "Peter Nugent", "Confidence" : "Undefined", "BHoM_Guid" : "6e470430-3c70-44d0-ac7a-bc731c2912e5", "Name" : "" }, "TimeOfCreation" : { "$date" : -62135541570999 }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.UnitTest", "Method" : { "_t" : "System.Reflection.MethodBase", "TypeName" : "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Reflection.Query, Reflection_Engine, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"7.3\" }", "MethodName" : "IsPrototype", "Parameters" : ["{ \"_t\" : \"System.Type\", \"Name\" : \"System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"7.3\" }"], "_bhomVersion" : "7.3" }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.TestData", "Inputs" : [{ "_t" : "System.Type", "Name" : "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", "_bhomVersion" : "7.3" }], "Outputs" : [false], "BHoM_Guid" : "4ea3a35d-93d9-45cd-9a49-5bb6cb06d564", "Name" : "" }], "BHoM_Guid" : "6ea21ada-1d1a-4455-af8a-d49025dc4ebb", "Name" : "" }], "BHoM_Guid" : "630418b8-385f-4e5e-9b70-93ffde91d5f6", "Name" : "IsPrototype", "_bhomVersion" : "7.3" }
--------------------------------------------------------------------------------
/.ci/Datasets/Reflection_Engine/Query/Url.json:
--------------------------------------------------------------------------------
1 | { "_t" : "BH.oM.Data.Library.Dataset", "SourceInformation" : { "_t" : "BH.oM.Data.Library.Source", "SourceLink" : "https://burohappold.sharepoint.com/:u:/s/BHoM/EVonnFa-Zp5KtHg16d3T0oUBYZONvSn3KTUdfcTiUCaPpw?e=gwVj11", "Title" : "DocumentationURL", "Author" : "Peter Nugent", "ItemReference" : "", "Version" : "", "Publisher" : "", "Schema" : "", "Language" : "", "Location" : "", "Copyright" : "", "Contributors" : "Peter Nugent", "Confidence" : "Undefined", "BHoM_Guid" : "6e470430-3c70-44d0-ac7a-bc731c2912e5", "Name" : "" }, "TimeOfCreation" : { "$date" : -62135541570999 }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.UnitTest", "Method" : { "_t" : "System.Reflection.MethodBase", "TypeName" : "{ \"_t\" : \"System.Type\", \"Name\" : \"BH.Engine.Reflection.Query, Reflection_Engine, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null\", \"_bhomVersion\" : \"7.3\" }", "MethodName" : "Url", "Parameters" : ["{ \"_t\" : \"System.Type\", \"Name\" : \"System.Type, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\", \"_bhomVersion\" : \"7.3\" }"], "_bhomVersion" : "7.3" }, "Data" : [{ "_t" : "BH.oM.Test.UnitTests.TestData", "Inputs" : [{ "_t" : "System.Type", "Name" : "BH.oM.Versioning.VersioningEvent", "_bhomVersion" : "7.3" }], "Outputs" : ["https://github.com/BHoM/BHoM\\blob/main/Versioning_oM\\VersioningEvent.cs"], "BHoM_Guid" : "03438965-5b0b-4626-a375-f1593e65df01", "Name" : "" }], "BHoM_Guid" : "72bb46b2-f2de-49ec-91e8-3f9b9d69df3b", "Name" : "" }], "BHoM_Guid" : "44ca61e8-6eb0-4ad4-86a2-475e431d49ea", "Name" : "Url", "_bhomVersion" : "7.3" }
--------------------------------------------------------------------------------
/.ci/check-all-depandants.yml:
--------------------------------------------------------------------------------
1 | # ASP.NET Core (.NET Framework)
2 | # Build and test ASP.NET Core projects targeting the full .NET Framework.
3 | # Add steps that publish symbols, save build artifacts, and more:
4 | # https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
5 |
6 | trigger:
7 | - master
8 | pr:
9 | - master
10 |
11 | pool:
12 | vmImage: 'vs2017-win2016'
13 |
14 | variables:
15 | solution: '**/BHoM_Engine.sln'
16 | buildPlatform: 'Any CPU'
17 | buildConfiguration: 'Release'
18 | projectName: 'BHoM_Engine'
19 |
20 | steps:
21 | - checkout: self
22 | persistCredentials: true
23 |
24 | - task: CopyFiles@2
25 | displayName: 'Move Cloned Files to Correct Toolkit Folder'
26 | inputs:
27 | SourceFolder: '$(Build.SourcesDirectory)'
28 | Contents: '**'
29 | TargetFolder: '$(Build.SourcesDirectory)/$(projectName)'
30 |
31 | - task: DeleteFiles@1
32 | displayName: 'Clean Up After Moving Cloned Files'
33 | inputs:
34 | SourceFolder: '$(Build.SourcesDirectory)'
35 | Contents: '**.sln'
36 |
37 | - task: NuGetToolInstaller@1
38 |
39 | - task: PowerShell@2
40 | displayName: 'Clone Test Toolkit'
41 | inputs:
42 | filePath: '.ci/CloneTest.ps1'
43 |
44 | - task: PowerShell@2
45 | displayName: 'Clone and Build Dependencies'
46 | inputs:
47 | filePath: '$(Build.SourcesDirectory)/Test_Toolkit/CloneAndBuildDependencies.ps1'
48 |
49 | - task: NuGetCommand@2
50 | displayName: 'Restore NuGets for Primary Solution'
51 | inputs:
52 | restoreSolution: '$(solution)'
53 |
54 | - task: PowerShell@2
55 | displayName: 'Build Primary Solution'
56 | inputs:
57 | filePath: '$(Build.SourcesDirectory)/Test_Toolkit/BuildPrimarySolution.ps1'
58 |
59 | - task: PowerShell@2
60 | displayName: 'Clone and Build Core Dependencies'
61 | inputs:
62 | filePath: '$(Build.SourcesDirectory)/Test_Toolkit/CloneAndBuildCore.ps1'
63 |
64 | - task: PowerShell@2
65 | displayName: 'Clone and Build all Dependencies'
66 | inputs:
67 | filePath: '$(Build.SourcesDirectory)/Test_Toolkit/CloneAndBuildDependencies.ps1'
--------------------------------------------------------------------------------
/.ci/check-core.yml:
--------------------------------------------------------------------------------
1 | # ASP.NET Core (.NET Framework)
2 | # Build and test ASP.NET Core projects targeting the full .NET Framework.
3 | # Add steps that publish symbols, save build artifacts, and more:
4 | # https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
5 |
6 | trigger:
7 | - master
8 | pr:
9 | - master
10 |
11 | pool:
12 | vmImage: 'vs2017-win2016'
13 |
14 | variables:
15 | solution: '**/BHoM_Engine.sln'
16 | buildPlatform: 'Any CPU'
17 | buildConfiguration: 'Release'
18 | projectName: 'BHoM_Engine'
19 |
20 | steps:
21 | - checkout: self
22 | persistCredentials: true
23 |
24 | - task: CopyFiles@2
25 | displayName: 'Move Cloned Files to Correct Toolkit Folder'
26 | inputs:
27 | SourceFolder: '$(Build.SourcesDirectory)'
28 | Contents: '**'
29 | TargetFolder: '$(Build.SourcesDirectory)/$(projectName)'
30 |
31 | - task: DeleteFiles@1
32 | displayName: 'Clean Up After Moving Cloned Files'
33 | inputs:
34 | SourceFolder: '$(Build.SourcesDirectory)'
35 | Contents: '**.sln'
36 |
37 | - task: NuGetToolInstaller@1
38 |
39 | - task: PowerShell@2
40 | displayName: 'Clone Test Toolkit'
41 | inputs:
42 | filePath: '.ci/CloneTest.ps1'
43 |
44 | - task: PowerShell@2
45 | displayName: 'Clone and Build Dependencies'
46 | inputs:
47 | filePath: '$(Build.SourcesDirectory)/Test_Toolkit/CloneAndBuildDependencies.ps1'
48 |
49 | - task: NuGetCommand@2
50 | displayName: 'Restore NuGets for Primary Solution'
51 | inputs:
52 | restoreSolution: '$(solution)'
53 |
54 | - task: PowerShell@2
55 | displayName: 'Build Primary Solution'
56 | inputs:
57 | filePath: '$(Build.SourcesDirectory)/Test_Toolkit/BuildPrimarySolution.ps1'
58 |
59 | - task: PowerShell@2
60 | displayName: 'Clone and Build Core Dependencies'
61 | inputs:
62 | filePath: '$(Build.SourcesDirectory)/Test_Toolkit/CloneAndBuildCore.ps1'
--------------------------------------------------------------------------------
/.ci/check-installer.yml:
--------------------------------------------------------------------------------
1 | # ASP.NET Core (.NET Framework)
2 | # Build and test ASP.NET Core projects targeting the full .NET Framework.
3 | # Add steps that publish symbols, save build artifacts, and more:
4 | # https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
5 |
6 | trigger:
7 | - master
8 | pr:
9 | - master
10 |
11 | pool:
12 | vmImage: 'vs2017-win2016'
13 |
14 | variables:
15 | solution: '**/BHoM_Engine.sln'
16 | buildPlatform: 'Any CPU'
17 | buildConfiguration: 'Release'
18 | projectName: 'BHoM_Engine'
19 |
20 | steps:
21 | - checkout: self
22 | persistCredentials: true
23 |
24 | - task: CopyFiles@2
25 | displayName: 'Move Cloned Files to Correct Toolkit Folder'
26 | inputs:
27 | SourceFolder: '$(Build.SourcesDirectory)'
28 | Contents: '**'
29 | TargetFolder: '$(Build.SourcesDirectory)/$(projectName)'
30 |
31 | - task: DeleteFiles@1
32 | displayName: 'Clean Up After Moving Cloned Files'
33 | inputs:
34 | SourceFolder: '$(Build.SourcesDirectory)'
35 | Contents: '**.sln'
36 |
37 | - task: NuGetToolInstaller@1
38 |
39 | - task: PowerShell@2
40 | displayName: 'Clone Test Toolkit'
41 | inputs:
42 | filePath: '.ci/CloneTest.ps1'
43 |
44 | - task: PowerShell@2
45 | displayName: 'Clone BHoM_Installer'
46 | inputs:
47 | filePath: '$(Build.SourcesDirectory)/Test_Toolkit/CloneInstaller.ps1'
48 |
49 | - task: PowerShell@2
50 | displayName: 'Run BHoM_Installer tasks'
51 | inputs:
52 | filePath: '$(Build.SourcesDirectory)/Test_Toolkit/BuildInstaller.ps1'
--------------------------------------------------------------------------------
/.ci/code/Engine_Test/Engine_Test.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 | https://github.com/BHoM/BHoM_Engine
6 | 8.0.0.0
7 | 8.2.0.0
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | $(ProgramData)\BHoM\Assemblies\BHoM.dll
17 | False
18 | False
19 |
20 |
21 | $(ProgramData)\BHoM\Assemblies\BHoM_Engine.dll
22 | False
23 | False
24 |
25 |
26 | $(ProgramData)\BHoM\Assemblies\Reflection_Engine.dll
27 | False
28 | False
29 |
30 |
31 | $(ProgramData)\BHoM\Assemblies\Test_Engine.dll
32 | False
33 | False
34 |
35 |
36 | $(ProgramData)\BHoM\Assemblies\Test_oM.dll
37 | False
38 | False
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/.ci/code/Serialiser_Test/Serialiser_Test.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 | https://github.com/BHoM/BHoM_Engine
6 | 8.0.0.0
7 | 8.2.0.0
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | $(ProgramData)\BHoM\Assemblies\BHoM.dll
17 | False
18 | False
19 |
20 |
21 | $(ProgramData)\BHoM\Assemblies\BHoM_Engine.dll
22 | False
23 | False
24 |
25 |
26 | $(ProgramData)\BHoM\Assemblies\Diffing_Engine.dll
27 | False
28 | False
29 |
30 |
31 | $(ProgramData)\BHoM\Assemblies\Reflection_Engine.dll
32 | False
33 | False
34 |
35 |
36 | $(ProgramData)\BHoM\Assemblies\Serialiser_Engine.dll
37 | False
38 | False
39 |
40 |
41 | $(ProgramData)\BHoM\Assemblies\Test_Engine.dll
42 | False
43 | False
44 |
45 |
46 | $(ProgramData)\BHoM\Assemblies\Test_oM.dll
47 | False
48 | False
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/.ci/code/Verification.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.0.32126.317
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Engine_Test", "Engine_Test\Engine_Test.csproj", "{A02B86C5-9877-4618-88EA-0A308CA52F2B}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Serialiser_Test", "Serialiser_Test\Serialiser_Test.csproj", "{A10A1851-18CE-4D93-90F9-1FAB2ECE048F}"
9 | EndProject
10 | Global
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 | Debug|Any CPU = Debug|Any CPU
13 | Release|Any CPU = Release|Any CPU
14 | EndGlobalSection
15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 | {A02B86C5-9877-4618-88EA-0A308CA52F2B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
17 | {A02B86C5-9877-4618-88EA-0A308CA52F2B}.Debug|Any CPU.Build.0 = Debug|Any CPU
18 | {A02B86C5-9877-4618-88EA-0A308CA52F2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
19 | {A02B86C5-9877-4618-88EA-0A308CA52F2B}.Release|Any CPU.Build.0 = Release|Any CPU
20 | {A10A1851-18CE-4D93-90F9-1FAB2ECE048F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21 | {A10A1851-18CE-4D93-90F9-1FAB2ECE048F}.Debug|Any CPU.Build.0 = Debug|Any CPU
22 | {A10A1851-18CE-4D93-90F9-1FAB2ECE048F}.Release|Any CPU.ActiveCfg = Release|Any CPU
23 | {A10A1851-18CE-4D93-90F9-1FAB2ECE048F}.Release|Any CPU.Build.0 = Release|Any CPU
24 | EndGlobalSection
25 | GlobalSection(SolutionProperties) = preSolution
26 | HideSolutionNode = FALSE
27 | EndGlobalSection
28 | GlobalSection(ExtensibilityGlobals) = postSolution
29 | SolutionGuid = {BB913D3B-3FD1-489E-BDF7-F8408A2DD120}
30 | EndGlobalSection
31 | EndGlobal
32 |
--------------------------------------------------------------------------------
/.ci/run-compliance-tests.yml:
--------------------------------------------------------------------------------
1 | # ASP.NET Core (.NET Framework)
2 | # Build and test ASP.NET Core projects targeting the full .NET Framework.
3 | # Add steps that publish symbols, save build artifacts, and more:
4 | # https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
5 |
6 | trigger:
7 | - master
8 | pr:
9 | - master
10 |
11 | pool:
12 | vmImage: 'vs2017-win2016'
13 |
14 | variables:
15 | solution: '**/BHoM_Engine.sln'
16 | buildPlatform: 'Any CPU'
17 | buildConfiguration: 'Release'
18 | projectName: 'BHoM_Engine'
19 |
20 | steps:
21 | - checkout: self
22 | persistCredentials: true
23 |
24 | - task: CopyFiles@2
25 | displayName: 'Move Cloned Files to Correct Toolkit Folder'
26 | inputs:
27 | SourceFolder: '$(Build.SourcesDirectory)'
28 | Contents: '**'
29 | TargetFolder: '$(Build.SourcesDirectory)/$(projectName)'
30 |
31 | - task: DeleteFiles@1
32 | displayName: 'Clean Up After Moving Cloned Files'
33 | inputs:
34 | SourceFolder: '$(Build.SourcesDirectory)'
35 | Contents: '**.sln'
36 |
37 | - task: NuGetToolInstaller@1
38 |
39 | - task: PowerShell@2
40 | displayName: 'Clone Test Toolkit'
41 | inputs:
42 | filePath: '.ci/CloneTest.ps1'
43 |
44 | - task: PowerShell@2
45 | displayName: 'Clone and Build Dependencies'
46 | inputs:
47 | filePath: '$(Build.SourcesDirectory)/Test_Toolkit/CloneAndBuildDependencies.ps1'
48 |
49 | - task: PowerShell@2
50 | displayName: 'Build Test Toolkit'
51 | inputs:
52 | filePath: '$(Build.SourcesDirectory)/$(projectName)/.ci/BuildTest.ps1'
53 |
54 | - task: NuGetCommand@2
55 | displayName: 'Restore NuGets for Primary Solution'
56 | inputs:
57 | restoreSolution: '$(solution)'
58 |
59 | - task: PowerShell@2
60 | displayName: 'Build Primary Solution'
61 | inputs:
62 | filePath: '$(Build.SourcesDirectory)/Test_Toolkit/BuildPrimarySolution.ps1'
63 |
64 | - task: PowerShell@2
65 | displayName: 'Copy changed files'
66 | inputs:
67 | filePath: '$(Build.SourcesDirectory)/Test_Toolkit/MovePRFiles.ps1'
68 |
69 | - task: VSTest@2
70 | inputs:
71 | testSelector: 'testAssemblies'
72 | testAssemblyVer2: '$(Build.SourcesDirectory)/Test_Toolkit_Corner/Test_Toolkit/Build/CodeComplianceTest_Test.dll'
73 | runSettingsFile: '.ci/testSettings.runsettings'
--------------------------------------------------------------------------------
/.ci/unit-tests/Base_Engine_Tests/Query/Geometry3D.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using BH.oM.Base;
24 | using BH.Engine.Base;
25 | using BH.Tests.Engine.Base.Query.Objects;
26 | using NUnit.Framework;
27 | using AutoBogus;
28 | using Shouldly;
29 |
30 | namespace BH.Tests.Engine.Base.Query
31 | {
32 | public class Geometry3D
33 | {
34 | private static void Geometry3DTest()
35 | {
36 |
37 | }
38 | }
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/.ci/unit-tests/Base_Engine_Tests/Query/Objects/TestFragment.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using BH.oM.Base;
24 | using BH.Engine.Base;
25 | using System.Collections;
26 |
27 | namespace BH.Tests.Engine.Base.Query.Objects
28 | {
29 | public class TestFragment : IFragment
30 | {
31 | public object SomeObject { get; set; }
32 | }
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/.ci/unit-tests/Serialiser_Engine_Tests/Helpers/TemporaryLogFolder.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using System;
24 | using System.Collections.Generic;
25 | using System.ComponentModel;
26 | using System.Linq;
27 | using System.Text;
28 | using System.Threading.Tasks;
29 |
30 | namespace BH.Tests.Engine.Serialiser
31 | {
32 | public static partial class Helpers
33 | {
34 | [Description("Method returning folder path for storing temporary logs from tests.")]
35 | public static string TemporaryLogFolder()
36 | {
37 | return "C:\\Temp\\SerialiserTests";
38 | }
39 | }
40 | }
41 |
42 |
43 |
--------------------------------------------------------------------------------
/.ci/unit-tests/Structure_Engine_Tests/Query/IGeometry.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using NUnit.Framework;
24 | using BH.oM.Structure.SectionProperties;
25 | using BH.Engine.Base;
26 | using BH.oM.Geometry;
27 | using Shouldly;
28 | using BH.oM.Test.NUnit;
29 | using System.Reflection;
30 |
31 | //namespace BH.Tests.Engine.Structure.Query
32 | //{
33 | // public class IGeometryTests : NUnitTest
34 | // {
35 | // [Test]
36 | // public void ConcreteSection()
37 | // {
38 | // ConcreteSection concreteSection = (ConcreteSection)Create.RandomObject(typeof(ConcreteSection));
39 | // IGeometry geom = concreteSection.IGeometry();
40 | // geom.ShouldNotBeNull();
41 | // }
42 | // }
43 | //}
44 |
45 |
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # BHoM_Engine REPO CODEOWNERS
2 |
3 | # default global
4 | * @al-fisher @rwemay @adecler @FraserGreenroyd
5 |
6 |
7 | # project owners
8 |
9 | #NEED OWNER: /Acoustic_Engine
10 | /Analytical_Engine @al-fisher @rwemay @IsakNaslundBh @FraserGreenroyd
11 | #NEED OWNER: /Architecture_Engine
12 | /BHoM_Engine @adecler @al-fisher @FraserGreenroyd
13 | /Data_Engine @adecler @IsakNaslundBh
14 | /Diffing_Engine @alelom @al-fisher @adecler
15 | /Environment_Engine @FraserGreenroyd @tg359 @jamesramsden-bh
16 | /Geometry_Engine @pawelbaran @al-fisher @IsakNaslundBh
17 | /Ground_Engine @peterjamesnugent @IsakNaslundBh @FraserGreenroyd
18 | /Humans_Engine @al-fisher @rwemay
19 | /Library_Engine @adecler @IsakNaslundBh
20 | /Matter_Engine @al-fisher @IsakNaslundBh @pawelbaran
21 | /MEP_Engine @kayleighhoude @FraserGreenroyd @travispotterBH
22 | /Physical_Engine @al-fisher @rwemay @IsakNaslundBh @FraserGreenroyd
23 | /Planning_Engine @rwemay @al-fisher
24 | /Programming_Engine @adecler @FraserGreenroyd @al-fisher
25 | /Reflection_Engine @adecler @FraserGreenroyd @al-fisher
26 | /Results_Engine @IsakNaslundBh @FraserGreenroyd @rwemay
27 | #NEED OWNER: /SVG_Engine
28 | /Search_Engine @peterjamesnugent @adecler @FraserGreenroyd
29 | /Serialiser_Engine @adecler @FraserGreenroyd
30 | /Settings_Engine @FraserGreenroyd @adecler
31 | /Spatial_Engine @al-fisher @IsakNaslundBh @pawelbaran
32 | #NEED OWNER: /Speech_Engine
33 | /Structure_Engine @IsakNaslundBh @rwemay
34 | /Versioning_Engine @adecler @FraserGreenroyd @IsakNaslundBh
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/00_bug.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug
3 | about: Report an error, performance issue or unexpected behaviour.
4 | labels: "type:bug"
5 |
6 | ---
7 |
8 |
9 |
10 | #### Description:
11 |
12 |
13 |
14 | #### Steps to reproduce:
15 |
16 |
17 |
18 | #### Expected behaviour:
19 |
20 |
21 |
22 | #### Test file(s):
23 |
24 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/01_feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature Request
3 | about: Suggest ideas for new functionality, or enhancement of existing.
4 | labels: "type:feature"
5 |
6 | ---
7 |
8 |
9 |
10 | #### Description:
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/02_test_script.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Test Script
3 | about: Creation of a unit test is required to check functionality, test use cases or validity of a specific part of the code.
4 | labels: "type:test-script"
5 |
6 | ---
7 |
8 |
9 |
10 | #### Definition of the test :
11 |
12 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/03_documentation.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Documentation
3 | about: Highlight missing or incorrect documentation in the code or in the website and wiki.
4 | labels: "type:documentation"
5 |
6 | ---
7 |
8 |
9 |
10 | #### What is missing/incorrect?
11 |
12 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/04_compliance.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Compliance
3 | about: Report code that doesn't follow the BHoM guidelines.
4 | labels: "type:compliance"
5 |
6 | ---
7 |
8 |
9 |
10 | #### Broken rules:
11 |
12 |
13 |
14 | #### Suggestions to restore compliance:
15 |
16 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/05_external_api_changes.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: External API Changes
3 | about: Modifications to the code are required due to changes to the API of a referenced library. This includes changes imposed from references to other BHoM projects.
4 | labels: "type:external-api-changes"
5 |
6 | ---
7 |
8 |
9 |
10 | #### Parent issue(s) or Pull Request(s) causing the changes:
11 |
12 |
13 | #
14 |
15 | #### Description:
16 |
17 |
18 |
19 | #### Test file(s):
20 |
21 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/06_question.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Question
3 | about: Ask a question about any aspect of the BHoM code or toolkits. Equally do feel free to reach out on Slack with queries and for wider discussions. Link and open invite can be found on https://bhom.xyz
4 | labels: "type:question"
5 |
6 | ---
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ### NOTE: Depends on
5 |
6 |
7 |
8 |
9 | ### Issues addressed by this PR
10 |
11 |
12 | Closes #
13 |
14 |
15 |
16 |
17 | ### Test files
18 |
19 |
20 |
21 | ### Changelog
22 |
23 |
24 |
25 |
26 | ### Additional comments
27 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled source #
2 | ###################
3 | *.com
4 | *.class
5 | *.exe
6 | *.o
7 | *.so
8 | *.dll
9 | *.pdb
10 |
11 | # Packages #
12 | ############
13 | # it's better to unpack these files and commit the raw source
14 | # git has its own built in compression methods
15 | *.7z
16 | *.dmg
17 | *.gz
18 | *.iso
19 | *.jar
20 | *.rar
21 | *.tar
22 | *.zip
23 | *.nupkg
24 |
25 | # Logs and databases #
26 | ######################
27 | *.log
28 | *.sql
29 | *.sqlite
30 |
31 | # OS generated files #
32 | ######################
33 | .DS_Store
34 | .DS_Store?
35 | ._*
36 | .Spotlight-V100
37 | .Trashes
38 | ehthumbs.db
39 | Thumbs.db
40 |
41 |
42 | # build folders #
43 | ###############
44 | [Dd]ebug/
45 | [Dd]ebugPublic/
46 | [Rr]elease/
47 | [Rr]eleases/
48 | x64/
49 | x86/
50 | bld/
51 | [Bb]in/
52 | [Oo]bj/
53 | [Ll]og/
54 | [Bb]uild/
55 | [Pp]ackages/
56 |
57 | # Visual Studio User File #
58 | ###########################
59 | *.suo
60 | *.user
61 | .vs/
62 |
--------------------------------------------------------------------------------
/Acoustic_Engine/Acoustic_Engine.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 | 8.0.0.0
6 | https://github.com/BHoM/BHoM_Engine
7 | 5.0.0
8 | BHoM
9 | Copyright © https://github.com/BHoM
10 | BH.Engine.Acoustic
11 | 8.2.0.0
12 |
13 |
14 |
15 | ..\Build\
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | $(ProgramData)\BHoM\Assemblies\Acoustic_oM.dll
30 | false
31 | false
32 |
33 |
34 | $(ProgramData)\BHoM\Assemblies\BHoM.dll
35 | false
36 | false
37 |
38 |
39 | $(ProgramData)\BHoM\Assemblies\Geometry_oM.dll
40 | false
41 | false
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/Acoustic_Engine/Create/RT60.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using BH.oM.Acoustic;
24 |
25 | namespace BH.Engine.Acoustic
26 | {
27 | public static partial class Create
28 | {
29 | /***************************************************/
30 | /**** Public Methods ****/
31 | /***************************************************/
32 |
33 | public static RT60 RT60(double value, int receiverID, int speakerID)
34 | {
35 | return new RT60()
36 | {
37 | Value = value,
38 | ReceiverID = receiverID,
39 | SpeakerID = speakerID
40 | };
41 | }
42 |
43 | /***************************************************/
44 | }
45 | }
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/Acoustic_Engine/Create/Rasti.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using BH.oM.Acoustic;
24 |
25 | namespace BH.Engine.Acoustic
26 | {
27 | public static partial class Create
28 | {
29 | /***************************************************/
30 | /**** Public Methods ****/
31 | /***************************************************/
32 |
33 | public static Rasti Rasti(double value, int receiverID)
34 | {
35 | return new Rasti()
36 | {
37 | Value = value,
38 | ReceiverID = receiverID,
39 | };
40 | }
41 |
42 | /***************************************************/
43 | }
44 | }
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Acoustic_Engine/Create/SnRatio.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using BH.oM.Acoustic;
24 |
25 | namespace BH.Engine.Acoustic
26 | {
27 | public static partial class Create
28 | {
29 | /***************************************************/
30 | /**** Public Methods ****/
31 | /***************************************************/
32 |
33 | public static SnRatio SnRatio(double value, int receiverID, int speakerID, Frequency frequency)
34 | {
35 | return new SnRatio()
36 | {
37 | Value = value,
38 | ReceiverID = receiverID,
39 | SpeakerID = speakerID,
40 | Frequency = frequency
41 | };
42 | }
43 |
44 | /***************************************************/
45 | }
46 | }
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/Acoustic_Engine/Create/SoundLevel.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using BH.oM.Acoustic;
24 |
25 | namespace BH.Engine.Acoustic
26 | {
27 | public static partial class Create
28 | {
29 | /***************************************************/
30 | /**** Public Methods ****/
31 | /***************************************************/
32 |
33 | public static SoundLevel SoundLevel(double value, int receiverID, int speakerID, Frequency frequency)
34 | {
35 | return new SoundLevel()
36 | {
37 | Value = value,
38 | ReceiverID = receiverID,
39 | SpeakerID = speakerID,
40 | Frequency = frequency
41 | };
42 | }
43 |
44 | /***************************************************/
45 | }
46 | }
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/Acoustic_Engine/Modify/FilterVisibleRays.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using System.Collections.Generic;
24 | using System.Linq;
25 | using BH.oM.Acoustic;
26 |
27 | namespace BH.Engine.Acoustic
28 | {
29 | public static partial class Modify
30 | {
31 | /***************************************************/
32 | /**** Public Methods ****/
33 | /***************************************************/
34 |
35 | public static List FilterVisibleRays(this List rays, List panels)
36 | {
37 | if (panels == null) { return rays; }
38 | return rays.Where(ray => !ray.IsObstructed(panels)).ToList();
39 | }
40 |
41 | /***************************************************/
42 | }
43 | }
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/Acoustic_Engine/Query/IsObstructed.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using BH.oM.Acoustic;
24 | using System.Collections.Generic;
25 |
26 | namespace BH.Engine.Acoustic
27 | {
28 | public static partial class Query
29 | {
30 | /***************************************************/
31 | /**** Public Methods ****/
32 | /***************************************************/
33 |
34 | public static bool IsObstructed(this Ray ray, List panels)
35 | {
36 | for (int i = 0; i < panels.Count; i++)
37 | if (Engine.Geometry.Query.MeshIntersections(ray.Path, panels[i].Surface).Count == 0)
38 | return true;
39 | return false;
40 | }
41 |
42 | /***************************************************/
43 | }
44 | }
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Acoustic_Engine/Query/Length.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using BH.oM.Acoustic;
24 |
25 | namespace BH.Engine.Acoustic
26 | {
27 | public static partial class Query
28 | {
29 | /***************************************************/
30 | /**** Public Methods ****/
31 | /***************************************************/
32 |
33 | public static double Length(this Ray ray)
34 | {
35 | if(ray == null)
36 | {
37 | BH.Engine.Base.Compute.RecordError("Cannot query the length of a null ray.");
38 | return 0;
39 | }
40 |
41 | return Engine.Geometry.Query.Length(ray.Path);
42 | }
43 |
44 | /***************************************************/
45 | }
46 | }
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/Acoustic_Engine/Query/Order.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using BH.oM.Acoustic;
24 |
25 | namespace BH.Engine.Acoustic
26 | {
27 | public static partial class Query
28 | {
29 | /***************************************************/
30 | /**** Public Methods ****/
31 | /***************************************************/
32 |
33 | public static int Order(this Ray ray)
34 | {
35 | if(ray == null)
36 | {
37 | BH.Engine.Base.Compute.RecordError("Cannot query the order of a null ray.");
38 | return 0;
39 | }
40 |
41 | return ray.PanelsID.Count;
42 | }
43 |
44 | /***************************************************/
45 | }
46 | }
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/Acoustic_Engine/Query/SabineTime.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using BH.oM.Acoustic;
24 |
25 | namespace BH.Engine.Acoustic
26 | {
27 | public static partial class Query
28 | {
29 | /***************************************************/
30 | /**** Public Methods ****/
31 | /***************************************************/
32 |
33 | public static double SabineTime(this Room room, double roomAbsorbtion)
34 | {
35 | if(room == null)
36 | {
37 | BH.Engine.Base.Compute.RecordError("Cannot query the sabine time for a null room.");
38 | return 0;
39 | }
40 |
41 | return Constants.SabineTimeCoefficient * room.Volume / roomAbsorbtion;
42 | }
43 |
44 | /***************************************************/
45 | }
46 | }
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/Acoustic_Engine/Query/TravelTime.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using BH.oM.Acoustic;
24 |
25 | namespace BH.Engine.Acoustic
26 | {
27 | public static partial class Query
28 | {
29 | /***************************************************/
30 | /**** Public Methods ****/
31 | /***************************************************/
32 |
33 | public static double TravelTime(this Ray ray)
34 | {
35 | if(ray == null)
36 | {
37 | BH.Engine.Base.Compute.RecordError("Cannoy query the travel time of a null ray.");
38 | return 0;
39 | }
40 |
41 | return ray.Length() / Constants.SpeedOfSound;
42 | }
43 |
44 | /***************************************************/
45 | }
46 | }
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/Analytical_Engine/Query/Graph/LargestProcessGroup.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using BH.oM.Analytical.Fragments;
24 | using System;
25 | using System.Collections.Generic;
26 | using System.Linq;
27 | using System.Text;
28 | using System.Threading.Tasks;
29 |
30 | namespace BH.Engine.Analytical
31 | {
32 | public static partial class Query
33 | {
34 | //public static int LargestProcessGroup(this LayoutHelperFragment layoutHelper)
35 | //{
36 | // if (layoutHelper.EntityGroups.Count() == 0)
37 | // return 0;
38 | // return layoutHelper.EntityGroups.Select(c => c.EntityGuids.Count()).Max();
39 | //}
40 | }
41 | }
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/Architecture_Engine/Create/Theatron/Tier.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using BH.oM.Geometry;
24 | using BH.oM.Architecture.Theatron;
25 | using System.Collections.Generic;
26 |
27 | namespace BH.Engine.Architecture.Theatron
28 | {
29 | public static partial class Create
30 | {
31 | /***************************************************/
32 | /**** Public Methods ****/
33 | /***************************************************/
34 | }
35 | }
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/BHoM_Engine/BHoM_Engine.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | netstandard2.0
4 | 8.0.0.0
5 | https://github.com/BHoM/BHoM_Engine
6 | true
7 | 5.0.0
8 | BHoM
9 | BHoM
10 | Copyright © https://github.com/BHoM
11 | BH.Engine.Base
12 | 8.2.0.0
13 | Debug;Release;Test
14 |
15 |
16 | ..\Build\
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | $(ProgramData)\BHoM\Assemblies\BHoM.dll
29 | false
30 | false
31 |
32 |
33 | $(ProgramData)\BHoM\Assemblies\Geometry_oM.dll
34 | false
35 | false
36 |
37 |
38 | $(ProgramData)\BHoM\Assemblies\Quantities_oM.dll
39 | false
40 | false
41 |
42 |
43 |
--------------------------------------------------------------------------------
/BHoM_Engine/Objects/EqualityComparers/TypeComparer.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the Buildings and Habitats object Model (BHoM)
3 | * Copyright (c) 2015 - 2025, the respective contributors. All rights reserved.
4 | *
5 | * Each contributor holds copyright over their respective contributions.
6 | * The project versioning (Git) records all such contribution source information.
7 | *
8 | *
9 | * The BHoM is free software: you can redistribute it and/or modify
10 | * it under the terms of the GNU Lesser General Public License as published by
11 | * the Free Software Foundation, either version 3.0 of the License, or
12 | * (at your option) any later version.
13 | *
14 | * The BHoM is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | * GNU Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public License
20 | * along with this code. If not, see .
21 | */
22 |
23 | using System;
24 | using System.Collections.Generic;
25 | using BH.oM.Base;
26 |
27 | namespace BH.Engine.Base.Objects
28 | {
29 | public class TypeComparer : IEqualityComparer