Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Geometry_Enigne: Full refactor of polyline offset #3394

Merged
merged 49 commits into from
Oct 17, 2024
Merged
Show file tree
Hide file tree
Changes from 48 commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
ebc9be6
First iteration of new offset method
IsakNaslundBh Apr 29, 2024
fc4005f
Start of refactor to use tuples, non compiling
IsakNaslundBh Apr 30, 2024
cb9cefa
Additional commit using segments, still not functioning
IsakNaslundBh Apr 30, 2024
6fc5fdf
Make method with segment and vertex tuple work, refactor out handlign…
IsakNaslundBh May 9, 2024
4eef5be
Handling of some edge cases where the polyline is reduced to nothing
IsakNaslundBh May 9, 2024
0063548
Fix to avoid negative indexing and duplicate computes
IsakNaslundBh May 9, 2024
658f833
additional edge cases fixed
IsakNaslundBh May 10, 2024
762539e
Refactor out in to separate methods, comments, descriptions and more …
IsakNaslundBh May 10, 2024
7f993dd
Additional edgecase handling and more descriptions
IsakNaslundBh May 10, 2024
f7118e3
Removing old method, adjusting inputs for all methods and adding Vers…
IsakNaslundBh May 10, 2024
7b59517
Version method in Facade engine
IsakNaslundBh May 13, 2024
48d7f32
Initial seed of method for handlign general intersections
IsakNaslundBh May 13, 2024
7d18096
Additional progression in handling itnersections, still not workign a…
IsakNaslundBh May 16, 2024
1717ab3
Handle general intersections of multiple segments at the same time
IsakNaslundBh May 27, 2024
e910634
Remove no longer used method
IsakNaslundBh May 27, 2024
584fba4
Migrate code over to MultiOffset method
IsakNaslundBh May 28, 2024
d098d46
Refactor loop management for intersecting curves
IsakNaslundBh May 30, 2024
4dc0c64
Remove methods no longer used
IsakNaslundBh May 30, 2024
f0b8bf5
Handle case where selfintersection hits another vertex
IsakNaslundBh May 30, 2024
b67a7ad
Fix various edge cases
IsakNaslundBh May 30, 2024
2f0f0fe
Additional exit check added
IsakNaslundBh May 30, 2024
c841c96
Handle edge case of end points of open curve intersecting
IsakNaslundBh May 30, 2024
9ae21d3
Make the Offset method for polyline call the MultiOffset method
IsakNaslundBh May 30, 2024
b58a3cb
Handle case for added outside pointing offsets
IsakNaslundBh May 30, 2024
54f8317
Update options to ensure method works
IsakNaslundBh Jun 4, 2024
2284ea7
Fix spelling
IsakNaslundBh Jun 4, 2024
f3d7034
Minor optimisation tweak for finding self intersections
IsakNaslundBh Jun 4, 2024
073f976
Merge branch 'develop' into Geometry_Enigne-#3235-RefactorPolylineOffset
IsakNaslundBh Aug 6, 2024
c3a5904
migrate internal classes to the engine
IsakNaslundBh Aug 6, 2024
be7c2de
Fix previous version attributes
IsakNaslundBh Aug 8, 2024
4c85991
Fix previous version attribute in facade
IsakNaslundBh Aug 8, 2024
c4c15b7
Add descriptions
IsakNaslundBh Aug 8, 2024
aa67118
Fixing descriptions and making sure all methods have the same signature
IsakNaslundBh Aug 8, 2024
209d8c2
Fix face desc
IsakNaslundBh Aug 8, 2024
de41bb3
Merge branch 'develop' into pr/3394
IsakNaslundBh Oct 2, 2024
10cf44c
Apply suggestions from code review
IsakNaslundBh Oct 14, 2024
75457f6
Line for readability
IsakNaslundBh Oct 14, 2024
2ee8762
Fix double call to offset
IsakNaslundBh Oct 14, 2024
4647f11
Add null check
IsakNaslundBh Oct 14, 2024
626a0a4
Change signature of main offset method back to what it was plus angle…
IsakNaslundBh Oct 14, 2024
07b9147
changing to previous hard coded values
IsakNaslundBh Oct 14, 2024
80ec0e4
remove no longer required versioning for Facade method
IsakNaslundBh Oct 14, 2024
3187584
Add dots
IsakNaslundBh Oct 14, 2024
70f7648
Update previous version attributes
IsakNaslundBh Oct 14, 2024
31323f4
improve description
IsakNaslundBh Oct 14, 2024
f2eb526
Remove usings
IsakNaslundBh Oct 15, 2024
7099624
Add quantities to tolerances
IsakNaslundBh Oct 15, 2024
f5c52a7
Pass angle tolerance
IsakNaslundBh Oct 15, 2024
96298e5
Add unit tests
IsakNaslundBh Oct 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Facade_Engine/Modify/OffsetVariable.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@
/**** Public Methods ****/
/***************************************************/

[Description("Creates an offset of a curve. Works only on planar curves")]

Check warning on line 41 in Facade_Engine/Modify/OffsetVariable.cs

View check run for this annotation

BHoMBot-CI / documentation-compliance

Facade_Engine/Modify/OffsetVariable.cs#L41

Documentation attribute should end with grammatically correct punctuation (., !, or ?) - For more information see https://bhom.xyz/documentation/DevOps/Code%20Compliance%20and%20CI/Compliance%20Checks/AttributeHasEndingPunctuation
[Input("polyCurve", "Curve to offset")]
[Input("curve", "Curve to offset")]

Check warning on line 42 in Facade_Engine/Modify/OffsetVariable.cs

View check run for this annotation

BHoMBot-CI / documentation-compliance

Facade_Engine/Modify/OffsetVariable.cs#L42

Documentation attribute should end with grammatically correct punctuation (., !, or ?) - For more information see https://bhom.xyz/documentation/DevOps/Code%20Compliance%20and%20CI/Compliance%20Checks/AttributeHasEndingPunctuation
[Input("offsets", "Offset distances (Length must match count of curves in the PolyCurve). Positive value offsets outside of a curve. If normal is given then offsets to the right with normal pointing up and direction of a curve pointing forward")]

Check warning on line 43 in Facade_Engine/Modify/OffsetVariable.cs

View check run for this annotation

BHoMBot-CI / documentation-compliance

Facade_Engine/Modify/OffsetVariable.cs#L43

Documentation attribute should end with grammatically correct punctuation (., !, or ?) - For more information see https://bhom.xyz/documentation/DevOps/Code%20Compliance%20and%20CI/Compliance%20Checks/AttributeHasEndingPunctuation
[Input("normal", "Normal of a plane for offset operation, not needed for closed curves")]

Check warning on line 44 in Facade_Engine/Modify/OffsetVariable.cs

View check run for this annotation

BHoMBot-CI / documentation-compliance

Facade_Engine/Modify/OffsetVariable.cs#L44

Documentation attribute should end with grammatically correct punctuation (., !, or ?) - For more information see https://bhom.xyz/documentation/DevOps/Code%20Compliance%20and%20CI/Compliance%20Checks/AttributeHasEndingPunctuation
[Output("curve", "Resulting offset")]

Check warning on line 45 in Facade_Engine/Modify/OffsetVariable.cs

View check run for this annotation

BHoMBot-CI / documentation-compliance

Facade_Engine/Modify/OffsetVariable.cs#L45

Documentation attribute should end with grammatically correct punctuation (., !, or ?) - For more information see https://bhom.xyz/documentation/DevOps/Code%20Compliance%20and%20CI/Compliance%20Checks/AttributeHasEndingPunctuation
public static PolyCurve OffsetVariable(this PolyCurve curve, List<double> offsets, Vector normal = null, bool tangentExtensions = false, double tolerance = Tolerance.Distance)

Check warning on line 46 in Facade_Engine/Modify/OffsetVariable.cs

View check run for this annotation

BHoMBot-CI / code-compliance

Facade_Engine/Modify/OffsetVariable.cs#L46

Modify methods should return void, or their return type should be different to the input type of their first parameter - For more information see https://bhom.xyz/documentation/DevOps/Code%20Compliance%20and%20CI/Compliance%20Checks/ModifyReturnsDifferentType

Check warning on line 46 in Facade_Engine/Modify/OffsetVariable.cs

View check run for this annotation

BHoMBot-CI / documentation-compliance

Facade_Engine/Modify/OffsetVariable.cs#L46

Input parameter requires a matching Input attribute - For more information see https://bhom.xyz/documentation/DevOps/Code%20Compliance%20and%20CI/Compliance%20Checks/IsInputAttributePresent Input parameter requires a matching Input attribute - For more information see https://bhom.xyz/documentation/DevOps/Code%20Compliance%20and%20CI/Compliance%20Checks/IsInputAttributePresent
{
//TODO:
//Migrate to Geometry Engine and align with Offset method
Expand Down
Loading