-
Notifications
You must be signed in to change notification settings - Fork 4
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
svector points #112
Open
skygering
wants to merge
20
commits into
JuliaGeo:main
Choose a base branch
from
Caltech-OCTO:sg/svector_points
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
svector points #112
Changes from 1 commit
Commits
Show all changes
20 commits
Select commit
Hold shift + click to select a range
0b62b49
Start switching to StaticArray points
skygering 900460b
Merge branch 'main' into sg/svector_points
skygering 06a4a8e
Update basic transforms to use svector points
skygering afab2c8
Update non poly fixes to use svector points
skygering 29cd346
Update polygon clipping to use svector points
skygering 9d5c2f8
Update centroid to use svpoints
skygering 8884057
Update polygonize to use svector point
skygering 72d2796
Cleanup changes
skygering b679282
Remove show call
skygering 4f8bc8b
Merge branch 'main' into sg/svector_points
skygering e984721
Switch SVPoints to subtype of static array
skygering 8e54508
Experiment with SVPoint constructors
skygering ccd8fb1
Merge branch 'main' into sg/svector_points
skygering 201da83
Remove ambiguity
skygering f0e74fb
Update and consolidate point functions
skygering ebf83be
Change comment labels
skygering a20b8b5
Add general point constructor
skygering b0a6c3b
Merge branch 'main' into sg/svector_points
skygering 5bddba7
Update point constructors
skygering 3624dc6
Update new point types for measured
skygering File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is what we should have, IMO, but it does overlap in purpose with the SVPoint_4D etc constructors defined earlier. I wonder whether we should simply define a default and a fallback for three-dimensional points, since that's where all the uncertainty is...
Here, the constructor for SVPoint{N, T, Z, M} would be overloaded to provide fallbacks (
zero(T)
) in case the input is not measured or 3d. Usually, that does compile out in most cases where it can.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you mean? I don't understand what you mean. I like your constructor - it is very elegant, but seems type unstable. I don't really understand your fallback concept.
These (
M = _ismeasured(x)
,Z = _is3d(x)
) returnfalse
which is equivalent tozero(T)
when it isn't measured or 3d. I don't understand how we would have a fallback without running those lines. And then if we are running those lines, we are basically withinfind_point_constructor
that you defined.The reason I defined the
SVPoint_4D
etc. constructors was to eliminate type instability within functions where we know what types we are working with (i.e. clipping).