Comments (4)
Agree. The mesh related code is doing a lot of things like cache iterators, and then modify the vector, then keep using the cached iterators. The code can run because it always preallocates big enough memory and only insert elements at the end of a vector. And Take the HalfEdge class for example, it uses vector iterators as class members, which is a very dangerous practice. Probably there is a lot to refactor.
from boundary-first-flattening.
@whiteeat yes, there is definitely room for improvement here. @kentbarber updating "end" might dynamically increase the length of the loop. I don't think this has any unindented consequences on the algorithm itself, but not sure if this is something you would like to do to squash the warning.
from boundary-first-flattening.
@rohan-sawhney if you need to iterate over original elements in halfEdges, better to use indexes instead of iterators. After insertian vector reallocates memory and end iterator do not point to valid memory and throw "Vector Iterators Incompatible" exeption in debug mode.
from boundary-first-flattening.
@Lishen1 thanks for the suggestion, the plan is to revamp the halfEdge data structure for the next release.
from boundary-first-flattening.
Related Issues (20)
- seeking surface model with holes HOT 3
- Port to wasm for web
- Mesh has isolated vertex HOT 1
- Include GLFW as Dependency HOT 2
- Concepts in the project HOT 1
- Compile with emscripten question HOT 2
- UV Overlapping problem? HOT 2
- AdjacencyTable uses a slow data structure HOT 1
- `std::vector<bool>` has unfortuante and unexpected implementation HOT 1
- Half edge mesh operations cannot be inlined HOT 1
- Mesh has non manifold vertices HOT 2
- Mac Command Line error - Access Denied HOT 2
- non-manifold edges warning when holes/multiple components HOT 1
- README needs an update for the C++ interface HOT 2
- Asymmetric result after flattening HOT 7
- Vector subscript is out of range exception. PolygonSoup.cpp. HOT 4
- About flattening to a rectangle with specified aspect ratio HOT 3
- How to output area distortion from an app HOT 2
- feat: Export error/quality measures
- Parallel unwrapping
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 boundary-first-flattening.