├── .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 30 | { 31 | public bool Equals(object x, object y) 32 | { 33 | if (x == null && y == null) 34 | return true; 35 | else if (x == null || y == null) 36 | return false; 37 | else 38 | return x.GetType() == y.GetType(); 39 | } 40 | 41 | public int GetHashCode(object obj) 42 | { 43 | if (obj == null) 44 | return 0; 45 | else 46 | return obj.GetType().GetHashCode(); 47 | } 48 | } 49 | } 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /BHoM_Engine/Objects/IterFunction.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 | namespace BH.Engine.Base.Objects 24 | { 25 | public delegate void IterFunction(int x); 26 | } 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /BHoM_Engine/Query/BHoMWebsiteURL.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.Attributes; 24 | using System.ComponentModel; 25 | 26 | namespace BH.Engine.Base 27 | { 28 | public static partial class Query 29 | { 30 | 31 | /***************************************************/ 32 | /**** Public Methods ****/ 33 | /***************************************************/ 34 | 35 | [Description("Generates the BHoM Website URL.")] 36 | [Output("url", "Fully qualified URL for BHoM website.")] 37 | public static string BHoMWebsiteURL() 38 | { 39 | return "https://bhom.xyz/"; 40 | } 41 | } 42 | } 43 | 44 | -------------------------------------------------------------------------------- /BHoM_Engine/Query/CurrentAssemblyFolder.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.Reflection; 26 | using BH.oM.Base.Attributes; 27 | 28 | namespace BH.Engine.Base 29 | { 30 | public static partial class Query 31 | { 32 | /***************************************************/ 33 | /**** Public Methods ****/ 34 | /***************************************************/ 35 | 36 | public static string CurrentAssemblyFolder() 37 | { 38 | return System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); 39 | } 40 | 41 | 42 | /***************************************************/ 43 | } 44 | } 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /BHoM_Engine/Query/DeepClone.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.oM.Base.Attributes; 25 | using Force.DeepCloner; 26 | 27 | namespace BH.Engine.Base 28 | { 29 | public static partial class Query 30 | { 31 | /***************************************************/ 32 | /**** Public Methods ****/ 33 | /***************************************************/ 34 | 35 | public static T DeepClone(this T obj) 36 | { 37 | return DeepClonerExtensions.DeepClone(obj); 38 | } 39 | 40 | /***************************************************/ 41 | } 42 | } 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /BHoM_Engine/Query/EnumList.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.Linq; 26 | using BH.oM.Base.Attributes; 27 | 28 | namespace BH.Engine.Base 29 | { 30 | public static partial class Query 31 | { 32 | /***************************************************/ 33 | /**** Public Methods ****/ 34 | /***************************************************/ 35 | 36 | public static List BHoMEnumList() 37 | { 38 | return BHoMTypeList().Where(x => x.IsEnum).ToList(); 39 | } 40 | 41 | /***************************************************/ 42 | } 43 | } 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /Data_Engine/Compute/Series.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.oM.Data.Requests; 25 | using System.Collections.Generic; 26 | using System.Linq; 27 | 28 | namespace BH.Engine.Data 29 | { 30 | public static partial class Compute 31 | { 32 | /***************************************************/ 33 | /**** Public Methods ****/ 34 | /***************************************************/ 35 | 36 | public static List Series(int count, double start = 0, double step = 1) 37 | { 38 | return Enumerable.Range(0, count).Select(x => start + step * x).ToList(); 39 | } 40 | 41 | /***************************************************/ 42 | } 43 | } 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Data_Engine/Create/BatchRequest.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.Data.Requests; 24 | using System.Collections.Generic; 25 | using System.Linq; 26 | 27 | namespace BH.Engine.Data 28 | { 29 | public static partial class Create 30 | { 31 | /***************************************************/ 32 | /**** Public Methods ****/ 33 | /***************************************************/ 34 | 35 | public static BatchRequest BatchRequest(IEnumerable requests) 36 | { 37 | return new BatchRequest { Requests = requests.ToList() }; 38 | } 39 | 40 | /***************************************************/ 41 | } 42 | } 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Data_Engine/Create/CustomRequest.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.Data.Requests; 24 | 25 | namespace BH.Engine.Data 26 | { 27 | public static partial class Create 28 | { 29 | /***************************************************/ 30 | /**** Public Methods ****/ 31 | /***************************************************/ 32 | 33 | public static CustomRequest CustomRequest(string request = "") 34 | { 35 | return new CustomRequest { Body = request }; 36 | } 37 | 38 | /***************************************************/ 39 | } 40 | } 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /Data_Engine/Create/DBSCANObject.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.Data.Collections; 24 | using BH.oM.Geometry; 25 | using System; 26 | 27 | namespace BH.Engine.Data 28 | { 29 | public static partial class Create 30 | { 31 | /***************************************************/ 32 | /**** Public Methods ****/ 33 | /***************************************************/ 34 | 35 | public static DBSCANObject DBSCANObject(T cluserItem, int clusterId = 0, bool isVisited = false) 36 | { 37 | return new DBSCANObject { ClusterItem = cluserItem, ClusterId = clusterId, IsVisited = isVisited }; 38 | } 39 | 40 | /***************************************************/ 41 | } 42 | } 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Data_Engine/Create/Graph.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 BH.oM.Data.Collections; 25 | 26 | namespace BH.Engine.Data 27 | { 28 | public static partial class Create 29 | { 30 | /***************************************************/ 31 | /**** Public Methods ****/ 32 | /***************************************************/ 33 | 34 | public static Graph Graph(List> nodes = null, List> links = null) 35 | { 36 | Graph graph = new Graph(); 37 | if (nodes != null) 38 | graph.Nodes = nodes; 39 | if (links != null) 40 | graph.Links = links; 41 | 42 | return graph; 43 | } 44 | 45 | /***************************************************/ 46 | } 47 | } 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /Data_Engine/Create/GraphNode.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.Data.Collections; 24 | using System.Collections.Generic; 25 | 26 | namespace BH.Engine.Data 27 | { 28 | public static partial class Create 29 | { 30 | /***************************************************/ 31 | /**** Public Methods ****/ 32 | /***************************************************/ 33 | 34 | public static GraphNode GraphNode(T value = default(T), Dictionary attributes = null) 35 | { 36 | return new GraphNode 37 | { 38 | Value = value, 39 | Attributes = attributes 40 | }; 41 | } 42 | 43 | /***************************************************/ 44 | } 45 | } 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Data_Engine/Create/LocalData.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.Data.Collections; 24 | using BH.oM.Geometry; 25 | 26 | namespace BH.Engine.Data 27 | { 28 | public static partial class Create 29 | { 30 | /***************************************************/ 31 | /**** Public Methods ****/ 32 | /***************************************************/ 33 | 34 | public static LocalData LocalData(Point position, T data) 35 | { 36 | return new LocalData { Position = position, Data = data }; 37 | } 38 | 39 | /***************************************************/ 40 | } 41 | } 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Data_Engine/Create/SelectionRequest.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.Data.Requests; 24 | using BH.oM.Base.Attributes; 25 | using System.ComponentModel; 26 | 27 | namespace BH.Engine.Data 28 | { 29 | public static partial class Create 30 | { 31 | /***************************************************/ 32 | /**** Public Methods ****/ 33 | /***************************************************/ 34 | 35 | [Description("Creates an IRequest that filters all elements currently selected in the software.")] 36 | [Output("request", "Created request.")] 37 | public static SelectionRequest SelectionRequest() 38 | { 39 | return new SelectionRequest(); 40 | } 41 | 42 | /***************************************************/ 43 | } 44 | } 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /Data_Engine/Data_Engine.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.0 4 | 8.0.0.0 5 | https://github.com/BHoM/BHoM_Engine 6 | 5.0.0 7 | BHoM 8 | Copyright © https://github.com/BHoM 9 | BH.Engine.Data 10 | 8.2.0.0 11 | 12 | 13 | ..\Build\ 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | $(ProgramData)\BHoM\Assemblies\BHoM.dll 25 | false 26 | false 27 | 28 | 29 | $(ProgramData)\BHoM\Assemblies\Data_oM.dll 30 | false 31 | false 32 | 33 | 34 | $(ProgramData)\BHoM\Assemblies\Geometry_oM.dll 35 | false 36 | false 37 | 38 | 39 | $(ProgramData)\BHoM\Assemblies\Quantities_oM.dll 40 | false 41 | false 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /Data_Engine/Modify/RemoveNode.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.Data.Collections; 24 | 25 | namespace BH.Engine.Data 26 | { 27 | public static partial class Modify 28 | { 29 | /***************************************************/ 30 | /**** Public Methods ****/ 31 | /***************************************************/ 32 | 33 | public static void RemoveNode(this Graph graph, GraphNode node) 34 | { 35 | graph.Links.RemoveAll(x => x.StartNode == node || x.EndNode == node); 36 | graph.Nodes.Remove(node); 37 | } 38 | 39 | /***************************************************/ 40 | } 41 | } 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Data_Engine/Query/GraphNodes.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.Data.Collections; 24 | using System.Collections.Generic; 25 | using System.ComponentModel; 26 | using BH.oM.Base.Attributes; 27 | using System.Linq; 28 | 29 | namespace BH.Engine.Data 30 | { 31 | public static partial class Query 32 | { 33 | /***************************************************/ 34 | /**** Public Methods ****/ 35 | /***************************************************/ 36 | [Description("Finds the nodes of a graph with value that matches the input value")] 37 | [Input("value", "The value to match")] 38 | public static List> GraphNodes(this Graph graph, T value) 39 | { 40 | return graph.Nodes.FindAll(x => x.Value.Equals(value)); 41 | } 42 | } 43 | } 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Data_Engine/Query/OppositeNode.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.Data.Collections; 24 | 25 | namespace BH.Engine.Data 26 | { 27 | public static partial class Query 28 | { 29 | /***************************************************/ 30 | /**** Public Methods ****/ 31 | /***************************************************/ 32 | 33 | public static GraphNode OppositeNode(this GraphLink link, GraphNode node) 34 | { 35 | if (node == link.StartNode) 36 | return link.EndNode; 37 | else if (node == link.EndNode) 38 | return link.StartNode; 39 | else 40 | return null; 41 | } 42 | 43 | /***************************************************/ 44 | } 45 | } 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Data_Engine/Query/Peek.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.Attributes; 24 | using BH.oM.Data.Collections; 25 | using System; 26 | 27 | namespace BH.Engine.Data 28 | { 29 | public static partial class Query 30 | { 31 | /***************************************************/ 32 | /**** Public Methods ****/ 33 | /***************************************************/ 34 | 35 | public static T Peek(this PriorityQueue queue) where T : IComparable 36 | { 37 | T frontItem = queue.Data[0]; 38 | return frontItem; 39 | } 40 | 41 | /***************************************************/ 42 | } 43 | } 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /Diffing_Engine/Create/StreamPointer.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.oM.Diffing; 25 | using BH.oM.Base.Attributes; 26 | using System; 27 | using System.Collections.Generic; 28 | using System.ComponentModel; 29 | using System.Linq; 30 | using System.Text; 31 | using System.Threading.Tasks; 32 | 33 | namespace BH.Engine.Diffing 34 | { 35 | public static partial class Create 36 | { 37 | /***************************************************/ 38 | 39 | [Description("Creates new Stream Pointer, generating a new StreamId.")] 40 | public static StreamPointer StreamPointer(string name = null, string description = null) 41 | { 42 | return new StreamPointer(Guid.NewGuid(), name, description, DateTime.UtcNow.Ticks); 43 | } 44 | } 45 | } 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Diffing_Engine/Diffing_Engine.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.0 4 | 8.0.0.0 5 | https://github.com/BHoM/BHoM_Engine 6 | 5.0.0 7 | BHoM 8 | Copyright © https://github.com/BHoM 9 | true 10 | BH.Engine.Diffing 11 | 8.2.0.0 12 | 13 | 14 | ..\Build\ 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | $(ProgramData)\BHoM\Assemblies\BHoM.dll 31 | false 32 | false 33 | 34 | 35 | $(ProgramData)\BHoM\Assemblies\Data_oM.dll 36 | false 37 | false 38 | 39 | 40 | $(ProgramData)\BHoM\Assemblies\Diffing_oM.dll 41 | false 42 | false 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Diffing_Engine/Query/RevisionFragment.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.oM.Diffing; 26 | using System; 27 | using System.Collections.Generic; 28 | using System.Linq; 29 | using System.Text; 30 | using System.Threading.Tasks; 31 | 32 | namespace BH.Engine.Diffing 33 | { 34 | public static partial class Query 35 | { 36 | public static RevisionFragment RevisionFragment(this IBHoMObject obj) 37 | { 38 | if(obj == null) 39 | { 40 | BH.Engine.Base.Compute.RecordError("Cannot query the revision fragment from a null object."); 41 | return null; 42 | } 43 | 44 | return obj.FindFragment(); 45 | } 46 | } 47 | } 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /Geometry_Engine/Create/Cone.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 System; 25 | using System.Linq; 26 | 27 | namespace BH.Engine.Geometry 28 | { 29 | public static partial class Create 30 | { 31 | /***************************************************/ 32 | /**** Public Methods ****/ 33 | /***************************************************/ 34 | public static Cone Cone(Point centre, Vector axis, double radius = 0.0, double height = 0.0) 35 | { 36 | return new Cone 37 | { 38 | Centre = centre, 39 | Axis = axis, 40 | Radius = radius, 41 | Height = height 42 | }; 43 | } 44 | 45 | /***************************************************/ 46 | 47 | } 48 | } 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /Geometry_Engine/Create/Cylinder.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 System; 25 | using System.Linq; 26 | 27 | namespace BH.Engine.Geometry 28 | { 29 | public static partial class Create 30 | { 31 | /***************************************************/ 32 | /**** Public Methods ****/ 33 | /***************************************************/ 34 | public static Cylinder Cylinder(Point centre, Vector axis, double radius = 0.0, double height = 0.0) 35 | { 36 | return new Cylinder 37 | { 38 | Centre = centre, 39 | Axis = axis, 40 | Radius = radius, 41 | Height = height 42 | }; 43 | } 44 | 45 | /***************************************************/ 46 | 47 | } 48 | } 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /Geometry_Engine/Create/Face.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 | 25 | namespace BH.Engine.Geometry 26 | { 27 | public static partial class Create 28 | { 29 | /***************************************************/ 30 | /**** Public Methods ****/ 31 | /***************************************************/ 32 | 33 | public static Face Face(int a, int b, int c, int d = -1) 34 | { 35 | return new Face 36 | { 37 | A = a, 38 | B = b, 39 | C = c, 40 | D = d 41 | }; 42 | } 43 | 44 | /***************************************************/ 45 | } 46 | } 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /Geometry_Engine/Create/NurbsSurface.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.Base.Attributes; 25 | using System; 26 | using System.Collections.Generic; 27 | using System.Linq; 28 | 29 | namespace BH.Engine.Geometry 30 | { 31 | public static partial class Create 32 | { 33 | /***************************************************/ 34 | /**** Random Geometry ****/ 35 | /***************************************************/ 36 | 37 | [NotImplemented] 38 | public static NurbsSurface RandomNurbsSurface(Random rnd, BoundingBox box = null, int minNbCPs = 4, int maxNbCPs = 20) 39 | { 40 | throw new NotImplementedException(); 41 | } 42 | 43 | /***************************************************/ 44 | } 45 | } 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /Geometry_Engine/Create/Sphere.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 System; 25 | using System.Linq; 26 | 27 | namespace BH.Engine.Geometry 28 | { 29 | public static partial class Create 30 | { 31 | /***************************************************/ 32 | /**** Public Methods ****/ 33 | /***************************************************/ 34 | 35 | public static Sphere Sphere(Point centre, double radius) 36 | { 37 | return new Sphere 38 | { 39 | Centre = centre, 40 | Radius = radius 41 | }; 42 | } 43 | } 44 | } 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Geometry_Engine/Geometry_Engine.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.0 4 | 8.0.0.0 5 | https://github.com/BHoM/BHoM_Engine 6 | 5.0.0 7 | BHoM 8 | Copyright © https://github.com/BHoM 9 | BH.Engine.Geometry 10 | 8.2.0.0 11 | 12 | 13 | ..\Build\ 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | $(ProgramData)\BHoM\Assemblies\BHoM.dll 26 | false 27 | false 28 | 29 | 30 | $(ProgramData)\BHoM\Assemblies\Data_oM.dll 31 | false 32 | false 33 | 34 | 35 | $(ProgramData)\BHoM\Assemblies\Dimensional_oM.dll 36 | false 37 | false 38 | 39 | 40 | $(ProgramData)\BHoM\Assemblies\Geometry_oM.dll 41 | false 42 | false 43 | 44 | 45 | $(ProgramData)\BHoM\Assemblies\Quantities_oM.dll 46 | false 47 | false 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Geometry_Engine/Modify/Inflate.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 | 25 | namespace BH.Engine.Geometry 26 | { 27 | public static partial class Modify 28 | { 29 | /***************************************************/ 30 | /**** Public Methods ****/ 31 | /***************************************************/ 32 | 33 | public static BoundingBox Inflate(this BoundingBox box, double amount) 34 | { 35 | Vector extents = new Vector { X = amount, Y = amount, Z = amount }; 36 | return new BoundingBox { Min = box.Min - extents, Max = box.Max + extents }; 37 | } 38 | 39 | /***************************************************/ 40 | } 41 | } 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Geometry_Engine/Objects/LineTree.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.Linq; 26 | using System.Text; 27 | using System.Threading.Tasks; 28 | 29 | using BH.oM.Geometry; 30 | 31 | namespace BH.Engine.Geometry 32 | { 33 | //This is used to support the Split method in BH.Engine.Geometry.Compute 34 | public class LineTree 35 | { 36 | public Line ThisLine { get; set; } = null; 37 | public Line Parent { get; set; } = null; 38 | public Point UnconnectedPoint { get; set; } = null; 39 | } 40 | } 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Geometry_Engine/Query/Degree.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 BH.oM.Geometry; 25 | using BH.oM.Base.Attributes; 26 | 27 | namespace BH.Engine.Geometry 28 | { 29 | public static partial class Query 30 | { 31 | /***************************************************/ 32 | /**** Public Methods ****/ 33 | /***************************************************/ 34 | 35 | public static int Degree(this NurbsCurve curve) 36 | { 37 | return curve.Knots.Count - curve.ControlPoints.Count + 1; 38 | } 39 | 40 | /***************************************************/ 41 | } 42 | } 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Geometry_Engine/Query/Extents.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 | 25 | namespace BH.Engine.Geometry 26 | { 27 | public static partial class Query 28 | { 29 | /***************************************************/ 30 | /**** Public Methods ****/ 31 | /***************************************************/ 32 | 33 | public static Vector Extents(this BoundingBox box) 34 | { 35 | return new Vector { X = box.Max.X - box.Min.X, Y = box.Max.Y - box.Min.Y, Z = box.Max.Z - box.Min.Z }; 36 | } 37 | 38 | /***************************************************/ 39 | } 40 | } 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /Geometry_Engine/Query/UVCount.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 System.Collections.Generic; 25 | 26 | namespace BH.Engine.Geometry 27 | { 28 | public static partial class Query 29 | { 30 | /***************************************************/ 31 | /**** Public Methods ****/ 32 | /***************************************************/ 33 | 34 | public static List UVCount(this NurbsSurface surf) 35 | { 36 | return new List { surf.UKnots.Count - surf.UDegree + 1, surf.VKnots.Count - surf.VDegree + 1 }; 37 | } 38 | 39 | /***************************************************/ 40 | } 41 | } 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Graphics_Engine/Create/SVGObject.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.Graphics; 25 | using System.Collections.Generic; 26 | 27 | namespace BH.Engine.Graphics 28 | { 29 | public static partial class Create 30 | { 31 | /***************************************************/ 32 | /**** Public Methods ****/ 33 | /***************************************************/ 34 | 35 | public static SVGObject SVGObject(List shapes, SVGStyle style = null) 36 | { 37 | return new SVGObject { Shapes = shapes, Style = style == null ? new SVGStyle() : style }; 38 | } 39 | 40 | /***************************************************/ 41 | } 42 | } 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Ground_Engine/Ground_Engine.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.0 4 | 8.0.0.0 5 | https://github.com/BHoM/BHoM_Engine 6 | 5.0.0 7 | BHoM 8 | Copyright © https://github.com/BHoM 9 | BH.Engine.Ground 10 | 8.2.0.0 11 | 12 | 13 | ..\Build\ 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | $(ProgramData)\BHoM\Assemblies\BHoM.dll 26 | false 27 | false 28 | 29 | 30 | $(ProgramData)\BHoM\Assemblies\Data_oM.dll 31 | false 32 | false 33 | 34 | 35 | $(ProgramData)\BHoM\Assemblies\Geometry_oM.dll 36 | false 37 | false 38 | 39 | 40 | $(ProgramData)\BHoM\Assemblies\Ground_oM.dll 41 | false 42 | false 43 | 44 | 45 | $(ProgramData)\BHoM\Assemblies\Quantities_oM.dll 46 | false 47 | false 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Humans_Engine/Create/Audience.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 | 24 | using BH.Engine.Base; 25 | using BH.oM.Humans.ViewQuality; 26 | using BH.oM.Base.Attributes; 27 | using System.ComponentModel; 28 | 29 | namespace BH.Engine.Humans.ViewQuality 30 | { 31 | public static partial class Create 32 | { 33 | /***************************************************/ 34 | /**** Public Methods ****/ 35 | /***************************************************/ 36 | [Description("Copy an audience")] 37 | [Input("audienceToCopy", "Audience to copy")] 38 | public static Audience Audience(Audience audienceToCopy) 39 | { 40 | Audience copy = audienceToCopy.DeepClone(); 41 | 42 | return copy; 43 | } 44 | 45 | /***************************************************/ 46 | } 47 | } 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /Humans_Engine/Create/Employee.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.Humans; 24 | 25 | namespace BH.Engine.Humans 26 | { 27 | public static partial class Create 28 | { 29 | /***************************************************/ 30 | /**** Public Methods ****/ 31 | /***************************************************/ 32 | 33 | public static Employee Employee(string name, string email) 34 | { 35 | return new Employee { Name = name, Email = email }; 36 | } 37 | 38 | /***************************************************/ 39 | } 40 | } 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /Humans_Engine/Create/Eye.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 | 24 | using BH.oM.Geometry; 25 | using BH.oM.Humans.BodyParts; 26 | 27 | namespace BH.Engine.Humans 28 | { 29 | public static partial class Create 30 | { 31 | /***************************************************/ 32 | /**** Public Methods ****/ 33 | /***************************************************/ 34 | 35 | public static Eye Eye() 36 | { 37 | return new Eye 38 | { 39 | 40 | }; 41 | } 42 | 43 | /***************************************************/ 44 | } 45 | } 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Humans_Engine/Create/Head.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 | 24 | using BH.oM.Geometry; 25 | using BH.oM.Humans.BodyParts; 26 | 27 | namespace BH.Engine.Humans 28 | { 29 | public static partial class Create 30 | { 31 | /***************************************************/ 32 | /**** Public Methods ****/ 33 | /***************************************************/ 34 | 35 | public static Head Head(Point eyeRefLocation, Vector viewDirection) 36 | { 37 | return new Head 38 | { 39 | PairOfEyes = Create.PairOfEyes(eyeRefLocation,viewDirection) 40 | }; 41 | } 42 | 43 | /***************************************************/ 44 | } 45 | } 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Humans_Engine/Create/Human.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.Humans; 24 | 25 | namespace BH.Engine.Humans 26 | { 27 | public static partial class Create 28 | { 29 | /***************************************************/ 30 | /**** Public Methods ****/ 31 | /***************************************************/ 32 | 33 | public static Human Human(string name) 34 | { 35 | return new Human { Name = name }; 36 | } 37 | 38 | /***************************************************/ 39 | } 40 | } 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /Library_Engine/Library_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.Library 11 | 8.2.0.0 12 | 13 | 14 | 15 | ..\Build\ 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | $(ProgramData)\BHoM\Assemblies\BHoM.dll 32 | false 33 | false 34 | 35 | 36 | $(ProgramData)\BHoM\Assemblies\Data_oM.dll 37 | false 38 | false 39 | 40 | 41 | $(ProgramData)\BHoM\Assemblies\Versioning_oM.dll 42 | false 43 | false 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Library_Engine/Query/AllLibraryPathNames.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.Linq; 26 | using System.Text; 27 | using System.Threading.Tasks; 28 | 29 | namespace BH.Engine.Library 30 | { 31 | public static partial class Query 32 | { 33 | /***************************************************/ 34 | /**** Public Methods ****/ 35 | /***************************************************/ 36 | 37 | public static List AllLibraryPathNames() 38 | { 39 | return LibraryPaths().Keys.ToList(); 40 | } 41 | } 42 | } 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Library_Engine/Query/LibraryNames.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.Linq; 26 | using System.Text; 27 | using System.Threading.Tasks; 28 | 29 | namespace BH.Engine.Library 30 | { 31 | public static partial class Query 32 | { 33 | /***************************************************/ 34 | /**** Public Methods ****/ 35 | /***************************************************/ 36 | 37 | public static List LibraryNames() 38 | { 39 | return LibraryStrings().Keys.ToList(); 40 | } 41 | } 42 | } 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Library_Engine/Query/Names.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.Linq; 26 | using System.Text; 27 | using System.Threading.Tasks; 28 | 29 | namespace BH.Engine.Library 30 | { 31 | public static partial class Query 32 | { 33 | /***************************************************/ 34 | /**** Public Methods ****/ 35 | /***************************************************/ 36 | 37 | public static List Names(string libraryName) 38 | { 39 | return Library(libraryName).Select(x => x.Name).ToList(); 40 | } 41 | } 42 | } 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Planning_Engine/Create/CodeAssembly.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.Planning; 24 | 25 | namespace BH.Engine.Planning 26 | { 27 | public static partial class Create 28 | { 29 | /***************************************************/ 30 | /**** Public Methods ****/ 31 | /***************************************************/ 32 | 33 | public static CodeAssembly CodeAssembly(string name, string repo) 34 | { 35 | return new CodeAssembly { Repository = repo, Name = name }; 36 | } 37 | 38 | /***************************************************/ 39 | } 40 | } 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /Planning_Engine/Create/Commit.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.Planning; 24 | 25 | namespace BH.Engine.Planning 26 | { 27 | public static partial class Create 28 | { 29 | /***************************************************/ 30 | /**** Public Methods ****/ 31 | /***************************************************/ 32 | 33 | public static Commit Commit(string name) 34 | { 35 | return new Commit { Name = name }; 36 | } 37 | 38 | /***************************************************/ 39 | } 40 | } 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /Planning_Engine/Create/Label.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.Planning; 24 | 25 | namespace BH.Engine.Planning 26 | { 27 | public static partial class Create 28 | { 29 | /***************************************************/ 30 | /**** Public Methods ****/ 31 | /***************************************************/ 32 | 33 | public static Label Label(string name, string colour) 34 | { 35 | return new Label 36 | { 37 | Name = name, 38 | Colour = colour, 39 | }; 40 | } 41 | 42 | /***************************************************/ 43 | } 44 | } 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Planning_Engine/Create/Repository.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.Planning; 24 | 25 | namespace BH.Engine.Planning 26 | { 27 | public static partial class Create 28 | { 29 | /***************************************************/ 30 | /**** Public Methods ****/ 31 | /***************************************************/ 32 | 33 | public static Repository Repository(string name) 34 | { 35 | return new Repository { Name = name }; 36 | } 37 | 38 | /***************************************************/ 39 | } 40 | } 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Planning_Engine/Planning_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.Planning 11 | 8.2.0.0 12 | 13 | 14 | 15 | ..\Build\ 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | $(ProgramData)\BHoM\Assemblies\BHoM.dll 25 | false 26 | false 27 | 28 | 29 | $(ProgramData)\BHoM\Assemblies\Planning_oM.dll 30 | false 31 | false 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /Programming_Engine/Programming_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.Programming 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\BHoM.dll 30 | false 31 | false 32 | 33 | 34 | $(ProgramData)\BHoM\Assemblies\Programming_oM.dll 35 | false 36 | false 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /Search_Engine/Search_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.Search 11 | 8.2.0.0 12 | true 13 | 14 | 15 | 16 | ..\Build\ 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | $(ProgramData)\BHoM\Assemblies\BHoM.dll 32 | false 33 | false 34 | 35 | 36 | $(ProgramData)\BHoM\Assemblies\Search_oM.dll 37 | false 38 | false 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Serialiser_Engine/Compute/Serialise/Boolean.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 MongoDB.Bson.IO; 25 | using System; 26 | using System.Collections.Generic; 27 | using System.Reflection; 28 | using System.Text; 29 | 30 | namespace BH.Engine.Serialiser 31 | { 32 | public static partial class Compute 33 | { 34 | 35 | /*******************************************/ 36 | /**** Private Methods ****/ 37 | /*******************************************/ 38 | 39 | private static void Serialise(this bool value, BsonDocumentWriter writer, Type targetType) 40 | { 41 | writer.WriteBoolean((bool)value); 42 | } 43 | 44 | /*******************************************/ 45 | } 46 | } 47 | 48 | 49 | -------------------------------------------------------------------------------- /Serialiser_Engine/Compute/Serialise/Decimal.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 MongoDB.Bson.IO; 25 | using System; 26 | using System.Collections.Generic; 27 | using System.Reflection; 28 | using System.Text; 29 | 30 | namespace BH.Engine.Serialiser 31 | { 32 | public static partial class Compute 33 | { 34 | 35 | /*******************************************/ 36 | /**** Private Methods ****/ 37 | /*******************************************/ 38 | 39 | private static void Serialise(this decimal value, BsonDocumentWriter writer, Type targetType) 40 | { 41 | writer.WriteDecimal128(value); 42 | } 43 | 44 | /*******************************************/ 45 | } 46 | } 47 | 48 | 49 | -------------------------------------------------------------------------------- /Serialiser_Engine/Compute/Serialise/Double.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 MongoDB.Bson.IO; 25 | using System; 26 | using System.Collections.Generic; 27 | using System.Reflection; 28 | using System.Text; 29 | 30 | namespace BH.Engine.Serialiser 31 | { 32 | public static partial class Compute 33 | { 34 | 35 | /*******************************************/ 36 | /**** Private Methods ****/ 37 | /*******************************************/ 38 | 39 | private static void Serialise(this double value, BsonDocumentWriter writer, Type targetType) 40 | { 41 | writer.WriteDouble(value); 42 | } 43 | 44 | /*******************************************/ 45 | } 46 | } 47 | 48 | 49 | -------------------------------------------------------------------------------- /Serialiser_Engine/Compute/Serialise/Float.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 MongoDB.Bson.IO; 25 | using System; 26 | using System.Collections.Generic; 27 | using System.Reflection; 28 | using System.Text; 29 | 30 | namespace BH.Engine.Serialiser 31 | { 32 | public static partial class Compute 33 | { 34 | 35 | /*******************************************/ 36 | /**** Private Methods ****/ 37 | /*******************************************/ 38 | 39 | private static void Serialise(this float value, BsonDocumentWriter writer, Type targetType) 40 | { 41 | writer.WriteDouble(value); 42 | } 43 | 44 | /*******************************************/ 45 | } 46 | } 47 | 48 | 49 | -------------------------------------------------------------------------------- /Serialiser_Engine/Compute/Serialise/Integer.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 MongoDB.Bson.IO; 25 | using System; 26 | using System.Collections.Generic; 27 | using System.Reflection; 28 | using System.Text; 29 | 30 | namespace BH.Engine.Serialiser 31 | { 32 | public static partial class Compute 33 | { 34 | 35 | /*******************************************/ 36 | /**** Private Methods ****/ 37 | /*******************************************/ 38 | 39 | private static void Serialise(this int value, BsonDocumentWriter writer, Type targetType) 40 | { 41 | writer.WriteInt32(value); 42 | } 43 | 44 | /*******************************************/ 45 | } 46 | } 47 | 48 | 49 | -------------------------------------------------------------------------------- /Serialiser_Engine/Compute/Serialise/Long.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 MongoDB.Bson.IO; 25 | using System; 26 | using System.Collections.Generic; 27 | using System.Reflection; 28 | using System.Text; 29 | 30 | namespace BH.Engine.Serialiser 31 | { 32 | public static partial class Compute 33 | { 34 | 35 | /*******************************************/ 36 | /**** Private Methods ****/ 37 | /*******************************************/ 38 | 39 | private static void Serialise(this long value, BsonDocumentWriter writer, Type targetType) 40 | { 41 | writer.WriteInt64(value); 42 | } 43 | 44 | /*******************************************/ 45 | } 46 | } 47 | 48 | 49 | -------------------------------------------------------------------------------- /Serialiser_Engine/Compute/Serialise/Short.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 MongoDB.Bson.IO; 25 | using System; 26 | using System.Collections.Generic; 27 | using System.Reflection; 28 | using System.Text; 29 | 30 | namespace BH.Engine.Serialiser 31 | { 32 | public static partial class Compute 33 | { 34 | 35 | /*******************************************/ 36 | /**** Private Methods ****/ 37 | /*******************************************/ 38 | 39 | private static void Serialise(this short value, BsonDocumentWriter writer, Type targetType) 40 | { 41 | // TODO: is this right? will change type to Int32 after round trip 42 | writer.WriteInt32(value); 43 | } 44 | 45 | /*******************************************/ 46 | } 47 | } 48 | 49 | 50 | -------------------------------------------------------------------------------- /Serialiser_Engine/Compute/Serialise/String.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 MongoDB.Bson; 25 | using MongoDB.Bson.IO; 26 | using System; 27 | using System.Collections.Generic; 28 | using System.Reflection; 29 | using System.Text; 30 | 31 | namespace BH.Engine.Serialiser 32 | { 33 | public static partial class Compute 34 | { 35 | 36 | /*******************************************/ 37 | /**** Private Methods ****/ 38 | /*******************************************/ 39 | 40 | private static void Serialise(this string value, BsonDocumentWriter writer, Type targetType) 41 | { 42 | writer.WriteString(value); 43 | } 44 | 45 | /*******************************************/ 46 | } 47 | } 48 | 49 | 50 | -------------------------------------------------------------------------------- /Serialiser_Engine/Serialiser_Engine.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.0 4 | 8.0.0.0 5 | https://github.com/BHoM/BHoM_Engine 6 | 5.0.0 7 | BHoM 8 | Copyright © https://github.com/BHoM 9 | true 10 | BH.Engine.Serialiser 11 | 8.2.0.0 12 | 13 | 14 | ..\Build\ 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | $(ProgramData)\BHoM\Assemblies\BHoM.dll 31 | false 32 | false 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /Settings_Engine/Query/GetAllSettings.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.oM.Base.Attributes; 25 | using System; 26 | using System.Collections.Generic; 27 | using System.ComponentModel; 28 | using System.Linq; 29 | using System.Text; 30 | 31 | namespace BH.Engine.Settings 32 | { 33 | public static partial class Query 34 | { 35 | [Description("Obtain all the loaded ISettings objects currently in memory.")] 36 | [Output("settings", "All the loaded ISettings objects currently available.")] 37 | public static List GetAllSettings() 38 | { 39 | return Global.BHoMSettings.Values.ToList(); 40 | } 41 | } 42 | } 43 | 44 | 45 | -------------------------------------------------------------------------------- /Settings_Engine/Settings_Engine.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | https://github.com/BHoM/BHoM_Engine 6 | 8.2.0.0 7 | 8.0.0.0 8 | BH.Engine.Settings 9 | ..\Build\ 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | $(ProgramData)\BHoM\Assemblies\BHoM.dll 24 | False 25 | False 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /UpgradeLog.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BHoM/BHoM_Engine/76b8d2021ab7d514833419bb11a15d470802f1ad/UpgradeLog.htm -------------------------------------------------------------------------------- /Verification_Engine/Compute/FilterByCondition.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.oM.Verification.Conditions; 25 | using System.Collections.Generic; 26 | using System.Linq; 27 | 28 | namespace BH.Engine.Verification 29 | { 30 | public static partial class Compute 31 | { 32 | /***************************************************/ 33 | /**** Public Methods ****/ 34 | /***************************************************/ 35 | 36 | public static IEnumerable FilterByCondition(this IEnumerable bHoMObjects, ICondition condition) 37 | { 38 | return bHoMObjects.Where(x => x?.IPasses(condition) == true); 39 | } 40 | 41 | /***************************************************/ 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Versioning_Engine/Modify/RemoveVersion.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 | using MongoDB.Bson; 27 | 28 | namespace BH.Engine.Versioning 29 | { 30 | public static partial class Modify 31 | { 32 | /***************************************************/ 33 | /**** Public Methods ****/ 34 | /***************************************************/ 35 | /***************************************************/ 36 | 37 | public static void RemoveVersion(this BsonDocument document) 38 | { 39 | if (document != null) 40 | document.Remove("_bhomVersion"); 41 | } 42 | 43 | /***************************************************/ 44 | } 45 | } 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Versioning_Engine/Objects/CustomVersioningMethod.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.oM.Base.Debugging; 25 | using MongoDB.Bson; 26 | using System; 27 | using System.Collections.Generic; 28 | using System.Linq; 29 | using System.Text; 30 | using System.Threading.Tasks; 31 | 32 | namespace BH.Engine.Versioning.Objects 33 | { 34 | public delegate Dictionary CustomVersioningMethod(Dictionary item); 35 | 36 | } 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /Versioning_Engine/Query/Version.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 MongoDB.Bson; 25 | 26 | namespace BH.Engine.Versioning 27 | { 28 | public static partial class Query 29 | { 30 | /***************************************************/ 31 | /**** Public Methods ****/ 32 | /***************************************************/ 33 | 34 | public static string Version(this BsonDocument document) 35 | { 36 | if (document != null && document.Contains("_bhomVersion")) 37 | return document["_bhomVersion"].ToString(); 38 | else 39 | return ""; 40 | } 41 | 42 | /***************************************************/ 43 | 44 | } 45 | } 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Versioning_Engine/Versioning_82.json: -------------------------------------------------------------------------------- 1 | { 2 | "Namespace": { 3 | "ToNew": { 4 | }, 5 | "ToOld": { 6 | } 7 | }, 8 | "Type": { 9 | "ToNew": { 10 | 11 | }, 12 | "ToOld": { 13 | } 14 | }, 15 | "Property": { 16 | "ToNew": { 17 | }, 18 | "ToOld": { 19 | } 20 | }, 21 | "MessageForDeleted": { 22 | "BH.Engine.Versioning.Query.UpgraderVersions()": "This method is not used by the versioning engine anymore and relies on a file system that has been replaced" 23 | }, 24 | "MessageForNoUpgrade": { 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Versioning_Engine/Versioning_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.Versioning 11 | 8.2.0.0 12 | 13 | 14 | 15 | ..\Build\ 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | $(ProgramData)\BHoM\Assemblies\BHoM.dll 33 | false 34 | false 35 | 36 | 37 | $(ProgramData)\BHoM\Assemblies\Versioning_oM.dll 38 | false 39 | false 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /core.txt: -------------------------------------------------------------------------------- 1 | BHoM/BHoM_Adapter 2 | BHoM/CSharp_Toolkit 3 | BHoM/BHoM_UI -------------------------------------------------------------------------------- /dependants.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BHoM/BHoM_Engine/76b8d2021ab7d514833419bb11a15d470802f1ad/dependants.txt -------------------------------------------------------------------------------- /dependencies.txt: -------------------------------------------------------------------------------- 1 | BHoM/BHoM --------------------------------------------------------------------------------