Comments (6)
These all sound like good and, at least in theory, viable enhancements. There probably is some discussion to be had whether these would go directly onto the existing tools or whether we should add new tools. I'll just ask some questions to clarify a few things:
Take an existing Path and break it - creating two Path entities, but they are still "connected" at the split point.
What does it mean for a path to be broken but still connected? The way I would suggest implementing this is by inserting a NaN value between the two path entities, which would disconnect them visually but still keep them together in terms of the actual data structure. This would allow distinguishing between two completely disconnected paths, which would be stored entirely separately and the "connected" but visually broken up paths.
Connect existing Vertices into a Path (i.e. snap the Path drawing tool to the nearest Vertex within a tolerance).
I suspect this would require a new tool letting you drag between the start/end points between existing paths. I suspect this would require some fairly hairy JS code to perform the snapping by using Bokeh's internal spatial indexing.
Close a Path to create a polygon - possibly consisting of multiple connected Paths, snapping would be required here also.
To some extent this seems like a fairly straightforward extension of 2., solving this in a general way at the bokeh level is problematic however as we would either have to change the glyph type from bokeh's multi_line
glyph to a patches
glyph or simply change the fill_alpha once the paths are closed.
from earthsim.
The idea of splitting a path at a node was discussed in the meeting we had together today.
What does it mean for a path to be broken but still connected?
I believe that has been clarified. A node can indicate a split between two path without actually splitting the path in terms of how it is visualized or interacted with (though you probably want to show some visual hint that a split is present).
from earthsim.
This gets back to one of the original capabilities that we decided not to try for in round one. Other software indicate this by giving these nodes a different name and visualization. i.e. Feature Vertices with a larger dot. A primary use case is having arcs along a polygon that are used for refinement or assigning boundary conditions.
from earthsim.
Related to my description of XMS functionality in #41
from earthsim.
This is my general summary of the path forward (at least the way that I see it):
Create a distinction between vertices and nodes
- nodes are the stop and end points on a path (a polygon has one, a line has two)
- vertices are the intermediate points along a path that are not a start or end point
- in other software platforms this is visualized by vertices being much smaller than nodes
- if a node or vertex is moved, the connecting paths will also move (it will remain connected)
Add ability to convert between nodes and vertices
Add ability to define a polygon as a series of connected paths.
- usecase: I have a polygon that defines the exterior of a region to be meshed. I want to specify boundary conditions on only certain segments of the polygon. To do this, I would 'break' the polygon into multiple edges, specify attributes to each individual edge, but still maintain a single polygon to feed to a mesher.
from earthsim.
Add ability to convert between nodes and vertices
This has been completed
The remaining two steps have not been worked on:
Create a distinction between vertices and nodes
Add ability to define a polygon as a series of connected paths.
from earthsim.
Related Issues (20)
- Specifying opts.defaults in Analyzing_Meshes HOT 2
- Linked objects (map+table) in panel HOT 13
- Missing import in __init__
- Dynamically adding to param.ObjectSelector after instantiation
- How to force Annotator poly_stream population HOT 4
- Branching and converging pipelines HOT 1
- Earthsim install directions need to be updated HOT 1
- GSSHA dependencies need to be removed HOT 2
- How to set width on panel tabs widget HOT 2
- Updating the annotator doesn't update poly_table and point_table HOT 1
- Bug in vertex promotion to node HOT 1
- Add narrative and explanation in Generating Meshes HOT 1
- Generalizing Annotators HOT 4
- Editable dataframes HOT 2
- Fix tool and annotator UI issues
- vectror plot and colorbar issue
- Migration summary HOT 4
- Editing large meshes
- Reading UGRID-compliant NetCDF files HOT 12
- Working environment to execute GrabCut with earthsim
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from earthsim.