From 9b836f7986ea14e2655db2db033300b3e78c3723 Mon Sep 17 00:00:00 2001 From: chuongmep <31106432+chuongmep@users.noreply.github.com> Date: Sun, 13 Aug 2023 11:30:54 +0800 Subject: [PATCH] add IsInPolygonPlus --- OpenMEPCad/OpenMEPCad.csproj | 2 +- OpenMEPRevit/OpenMEPRevit.csproj | 1 - OpenMEPSandbox/Geometry/Point.cs | 32 +- OpenMEPSandbox/OpenMEPSandbox.csproj | 2 +- .../geometry/dyn/Point.IsInPolygonPlus.dyn | 372 ++++++++++++++++++ .../dyn/pic/Point.IsInPolygonPlus.png | Bin 0 -> 57378 bytes 6 files changed, 391 insertions(+), 18 deletions(-) create mode 100644 docs/OpenMEPPage/geometry/dyn/Point.IsInPolygonPlus.dyn create mode 100644 docs/OpenMEPPage/geometry/dyn/pic/Point.IsInPolygonPlus.png diff --git a/OpenMEPCad/OpenMEPCad.csproj b/OpenMEPCad/OpenMEPCad.csproj index 9ce39629..ae1b63ef 100644 --- a/OpenMEPCad/OpenMEPCad.csproj +++ b/OpenMEPCad/OpenMEPCad.csproj @@ -109,7 +109,7 @@ True - + runtime diff --git a/OpenMEPRevit/OpenMEPRevit.csproj b/OpenMEPRevit/OpenMEPRevit.csproj index 3467e7b4..19a16ef8 100644 --- a/OpenMEPRevit/OpenMEPRevit.csproj +++ b/OpenMEPRevit/OpenMEPRevit.csproj @@ -132,7 +132,6 @@ runtime - diff --git a/OpenMEPSandbox/Geometry/Point.cs b/OpenMEPSandbox/Geometry/Point.cs index a34599fa..2b44c390 100644 --- a/OpenMEPSandbox/Geometry/Point.cs +++ b/OpenMEPSandbox/Geometry/Point.cs @@ -142,21 +142,23 @@ public static bool IsOnPlane(Autodesk.DesignScript.Geometry.Point point, Autodes }; } - // // - // // //TODO : Got some bug from G-Shark Library - // /// - // /// Tests whether a point is inside, outside, or coincident with a polygon. - // /// - // /// Returns -1 if point is outside the polygon, 0 if it is coincident with a polygon edge, or 1 if it is inside the polygon. - // public static double IsInPolygon2(Autodesk.DesignScript.Geometry.Point point, - // Autodesk.DesignScript.Geometry.Polygon polygon) - // { - // if (point == null) throw new ArgumentNullException(nameof(point)); - // if (polygon == null) throw new ArgumentNullException(nameof(polygon)); - // Point3 point3 = point.ToGSharkType(); - // Polygon polyGshark = polygon.ToGSharkType(); - // return point3.InPolygon(polyGshark); - // } + /// + /// Tests whether a point is inside, outside, or coincident with a polygon. + /// + /// Returns -1 if point is outside the polygon, 0 if it is coincident with a polygon edge, or 1 if it is inside the polygon. + /// + /// ![](../OpenMEPPage/geometry/dyn/pic/Point.IsInPolygonPlus.png) + /// [Point.IsInPolygonPlus.dyn](../OpenMEPPage/geometry/dyn/Point.IsInPolygonPlus.dyn) + /// + public static double IsInPolygonPlus(Autodesk.DesignScript.Geometry.Point point, + Autodesk.DesignScript.Geometry.Polygon polygon) + { + if (point == null) throw new ArgumentNullException(nameof(point)); + if (polygon == null) throw new ArgumentNullException(nameof(polygon)); + Point3 point3 = point.ToGSharkType(); + GShark.Geometry.Polygon polyGshark = polygon.ToGSharkType(); + return point3.InPolygon(polyGshark); + } /// /// Returns whether an input point is contained within the polygon. If the polygon is not planar then the point will be projected onto the best-fit plane and the containment will be computed using the projection of the polygon onto the best-fit plane. This will return a failed status if the polygon self-intersects. diff --git a/OpenMEPSandbox/OpenMEPSandbox.csproj b/OpenMEPSandbox/OpenMEPSandbox.csproj index 9998078e..6b74ec62 100644 --- a/OpenMEPSandbox/OpenMEPSandbox.csproj +++ b/OpenMEPSandbox/OpenMEPSandbox.csproj @@ -109,7 +109,7 @@ True - + runtime diff --git a/docs/OpenMEPPage/geometry/dyn/Point.IsInPolygonPlus.dyn b/docs/OpenMEPPage/geometry/dyn/Point.IsInPolygonPlus.dyn new file mode 100644 index 00000000..5215e4cb --- /dev/null +++ b/docs/OpenMEPPage/geometry/dyn/Point.IsInPolygonPlus.dyn @@ -0,0 +1,372 @@ +{ + "Uuid": "0d0bed86-dbd8-4bfa-8ef0-8acac943cb20", + "IsCustomNode": false, + "Description": "", + "Name": "Point.IsInPolygonPlus", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "NodeType": "FunctionNode", + "FunctionSignature": "Autodesk.DesignScript.Geometry.Point.ByCoordinates@double,double,double", + "Id": "106aec48de9343e99a1462c62656a1a3", + "Inputs": [ + { + "Id": "b81351156f044c5684e9348318537794", + "Name": "x", + "Description": "X coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "fdfd9e42bc3149748f89e89d3ca597af", + "Name": "y", + "Description": "Y coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "e18a25c4409e4f489e5084e00e975906", + "Name": "z", + "Description": "Z coordinate\n\ndouble\nDefault value : 0", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "53ccc245705249b2a252ab1aa489d5b3", + "Name": "Point", + "Description": "Point created by coordinates", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Auto", + "Description": "Form a Point given 3 cartesian coordinates\n\nPoint.ByCoordinates (x: double = 0, y: double = 0, z: double = 0): Point" + }, + { + "ConcreteType": "CoreNodeModels.Input.DoubleSlider, CoreNodeModels", + "NodeType": "NumberInputNode", + "NumberType": "Double", + "MaximumValue": 100.0, + "MinimumValue": 0.0, + "StepValue": 0.1, + "InputValue": 8.9, + "Id": "ef292927f6324c889214417cc700cb5f", + "Inputs": [], + "Outputs": [ + { + "Id": "6cca38abefc24af8b05eb1e3646005bb", + "Name": "", + "Description": "Double", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Produces numeric values" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "NodeType": "FunctionNode", + "FunctionSignature": "Autodesk.DesignScript.Geometry.Circle.ByCenterPointRadius@Autodesk.DesignScript.Geometry.Point,double", + "Id": "eb28d76686894710b2ca7b07c2a16385", + "Inputs": [ + { + "Id": "5badc64b787f425dba5c8c9781abc576", + "Name": "centerPoint", + "Description": "Center point of circle\n\nPoint\nDefault value : Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "97866e259246481f8501d4965222cde1", + "Name": "radius", + "Description": "Radius\n\ndouble\nDefault value : 1", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b6aa5ca2c90b41389cbfa92b97efacc4", + "Name": "Circle", + "Description": "Circle created with center point and radius", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Auto", + "Description": "Creates a Circle with input center Point and radius in the world XY plane, with world Z as normal.\n\nCircle.ByCenterPointRadius (centerPoint: Point = Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0), radius: double = 1): Circle" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore", + "NodeType": "CodeBlockNode", + "Code": "10;", + "Id": "c633850852be4e8d9186411119a58fe5", + "Inputs": [], + "Outputs": [ + { + "Id": "faf7bd292d07410cbc7a37b1d818bdbd", + "Name": "", + "Description": "Value of expression at line 1", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Allows for DesignScript code to be authored directly" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "NodeType": "FunctionNode", + "FunctionSignature": "Autodesk.DesignScript.Geometry.Polygon.RegularPolygon@Autodesk.DesignScript.Geometry.Circle,int", + "Id": "e703ac9f66dd4cfeb561fa113d1e1f7a", + "Inputs": [ + { + "Id": "5adba588e72b486a9a6bc9a6c6aed5ca", + "Name": "circle", + "Description": "Circle", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "7fa43d2f17a94bbfaca7ffdf4042b3a6", + "Name": "numberSides", + "Description": "int\nDefault value : 5", + "UsingDefaultValue": true, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "b21c6c2cfeb44d24b222a08c4f3115f4", + "Name": "Polygon", + "Description": "Polygon", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Auto", + "Description": "Construct an inscribed Polygon Curve within a circle.\n\nPolygon.RegularPolygon (circle: Circle, numberSides: int = 5): Polygon" + }, + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "NodeType": "FunctionNode", + "FunctionSignature": "OpenMEPSandbox.Geometry.Point.IsInPolygonPlus@Autodesk.DesignScript.Geometry.Point,Autodesk.DesignScript.Geometry.Polygon", + "Id": "c24c3edfd4804019b5e69ebd49a86238", + "Inputs": [ + { + "Id": "6c95b36c71fa40beb01f835994b72d30", + "Name": "point", + "Description": "Point", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + }, + { + "Id": "03518d85c2994c849cc4f7809c5e6820", + "Name": "polygon", + "Description": "Polygon", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "d58d979e3042459087418ca06dcc39a1", + "Name": "double", + "Description": "Returns -1 if point is outside the polygon, 0 if it is coincident with a polygon edge, or 1 if it is inside the polygon.", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Auto", + "Description": "Tests whether a point is inside, outside, or coincident with a polygon.\n\nPoint.IsInPolygonPlus (point: Point, polygon: Polygon): double" + } + ], + "Connectors": [ + { + "Start": "53ccc245705249b2a252ab1aa489d5b3", + "End": "6c95b36c71fa40beb01f835994b72d30", + "Id": "7f66b52fb23a40649298984b1307917c", + "IsHidden": "False" + }, + { + "Start": "6cca38abefc24af8b05eb1e3646005bb", + "End": "b81351156f044c5684e9348318537794", + "Id": "a7277373579347c8b5e8ccd12222c672", + "IsHidden": "False" + }, + { + "Start": "b6aa5ca2c90b41389cbfa92b97efacc4", + "End": "5adba588e72b486a9a6bc9a6c6aed5ca", + "Id": "a44028600e624e61b642897f2a36328e", + "IsHidden": "False" + }, + { + "Start": "faf7bd292d07410cbc7a37b1d818bdbd", + "End": "97866e259246481f8501d4965222cde1", + "Id": "1081ae44d590480a8ee125bad29c48cb", + "IsHidden": "False" + }, + { + "Start": "b21c6c2cfeb44d24b222a08c4f3115f4", + "End": "03518d85c2994c849cc4f7809c5e6820", + "Id": "8af3b02d81ee4ff688ed560a6be0eff3", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [ + { + "Name": "OpenMEP", + "Version": "1.0.0", + "ReferenceType": "Package", + "Nodes": [ + "c24c3edfd4804019b5e69ebd49a86238" + ] + } + ], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.17", + "Data": {} + } + ], + "Author": "", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.17.3.4871", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "_Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Name": "Point.ByCoordinates", + "ShowGeometry": true, + "Id": "106aec48de9343e99a1462c62656a1a3", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "X": -89.564666334856838, + "Y": 166.68350189300719 + }, + { + "Name": "Number Slider", + "ShowGeometry": true, + "Id": "ef292927f6324c889214417cc700cb5f", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "X": -599.79582525561727, + "Y": 203.36999723119141 + }, + { + "Name": "Circle.ByCenterPointRadius", + "ShowGeometry": false, + "Id": "eb28d76686894710b2ca7b07c2a16385", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "X": -334.41271708230033, + "Y": 383.50005186762405 + }, + { + "Name": "Code Block", + "ShowGeometry": true, + "Id": "c633850852be4e8d9186411119a58fe5", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "X": -614.7835095206342, + "Y": 420.48159251157938 + }, + { + "Name": "Polygon.RegularPolygon", + "ShowGeometry": true, + "Id": "e703ac9f66dd4cfeb561fa113d1e1f7a", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "X": 24.663587486213146, + "Y": 493.13763747965129 + }, + { + "Name": "Point.IsInPolygonPlus", + "ShowGeometry": true, + "Id": "c24c3edfd4804019b5e69ebd49a86238", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "X": 384.37929009928229, + "Y": 246.09462598981651 + } + ], + "Annotations": [], + "X": 565.3926755664537, + "Y": 217.97896220065434, + "Zoom": 0.63524834044862033 + } +} \ No newline at end of file diff --git a/docs/OpenMEPPage/geometry/dyn/pic/Point.IsInPolygonPlus.png b/docs/OpenMEPPage/geometry/dyn/pic/Point.IsInPolygonPlus.png new file mode 100644 index 0000000000000000000000000000000000000000..6538425eb95f3ef83881fc99e760f78b2345f628 GIT binary patch literal 57378 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