Comments (2)
I think this issue (or others; I'm not yet sure how to organize the work) should track the following changes to graphs:
- Disallow singularities. See 7de93ea, which removed their detection in the mutation API.
- Disallow unbounded edges.
- Require an arity of three or higher for rings. (This is implied by the previous item.)
In essence, this restores the requirement (and limitation) that graphs represent a manifold, with the possible exception of empty rings.
from plexus.
Another important observation that's worth noting here: disallowing these non-manifold features has implications for the way that topological mutations work, especially removals. For example, when removing a face, it may be necessary for other topology to also be removed so as to avoid inconsistency.
One obvious example is a graph composed of nothing more than a single face. Removing the face (and nothing more) results in unbounded edges. In this situation, removing the face would need to be maximally destructive, resulting in the removal of all edges, arcs, and vertices too.
from plexus.
Related Issues (20)
- Consider removing vertex generators. HOT 2
- master build broken HOT 4
- Represent composite edges in graphs with independent geometry. HOT 5
- Differentiate purely topological and geometric operations on graphs. HOT 1
- Remove the `Attribute` trait. HOT 1
- Factor spatial and geometric traits into a separate crate. HOT 5
- Master fails to build HOT 2
- Factor primitives into a separate crate (Theon). HOT 2
- Consider a non-manifold graph representation. HOT 1
- Is there a way to copy/isolate part of a graph into a new graph? HOT 6
- Splitting arcs in a graph causes corruption. HOT 7
- Use more consistent taxonomy and APIs for representing arity. HOT 2
- Remove redundant input type parameters for geometry in graph APIs. HOT 2
- Use paths for topological mutations over arcs and faces. HOT 1
- CI fails due to dynamic linking errors with Intel MKL during doctests. HOT 4
- Support ultraviolet crate HOT 5
- iteration methods on `FaceView` not found HOT 2
- Use hash maps exclusively in storage. HOT 1
- Examples crash due to winit version HOT 4
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 plexus.