Comments (4)
If they don't intersect, then already the triangulation is being skipped. The increase in time is simply due to having to test more faces for intersection, and it should be fairly linear. Compose
is for exactly situations like this, and it allows you to do it all in a single operation too. If you're worried, it might be enough to test a couple of neighbors for intersection (do an intersect opt and check the result is empty). If that works, then Compose
should be safe.
from manifold.
But their bounding box do intersect and it seems that this will still perform triangulation after union? If you set kVerbose
to true in the boolean_result.cu
and do grep Triangulation
, this is the result:
----------- 1 ms for Triangulation
----------- 0 ms for Triangulation
----------- 0 ms for Triangulation
----------- 1 ms for Triangulation
----------- 1 ms for Triangulation
----------- 1 ms for Triangulation
----------- 2 ms for Triangulation
----------- 2 ms for Triangulation
----------- 2 ms for Triangulation
----------- 2 ms for Triangulation
----------- 3 ms for Triangulation
----------- 3 ms for Triangulation
----------- 3 ms for Triangulation
----------- 4 ms for Triangulation
----------- 4 ms for Triangulation
----------- 4 ms for Triangulation
----------- 4 ms for Triangulation
----------- 5 ms for Triangulation
----------- 5 ms for Triangulation
----------- 5 ms for Triangulation
----------- 6 ms for Triangulation
----------- 6 ms for Triangulation
----------- 6 ms for Triangulation
----------- 7 ms for Triangulation
----------- 7 ms for Triangulation
----------- 7 ms for Triangulation
----------- 7 ms for Triangulation
----------- 8 ms for Triangulation
----------- 8 ms for Triangulation
----------- 8 ms for Triangulation
----------- 8 ms for Triangulation
----------- 9 ms for Triangulation
----------- 9 ms for Triangulation
----------- 9 ms for Triangulation
----------- 9 ms for Triangulation
----------- 10 ms for Triangulation
----------- 10 ms for Triangulation
----------- 10 ms for Triangulation
----------- 11 ms for Triangulation
----------- 11 ms for Triangulation
----------- 12 ms for Triangulation
----------- 12 ms for Triangulation
----------- 12 ms for Triangulation
----------- 12 ms for Triangulation
----------- 12 ms for Triangulation
----------- 15 ms for Triangulation
----------- 13 ms for Triangulation
----------- 13 ms for Triangulation
----------- 13 ms for Triangulation
----------- 14 ms for Triangulation
----------- 14 ms for Triangulation
----------- 14 ms for Triangulation
----------- 15 ms for Triangulation
----------- 15 ms for Triangulation
----------- 15 ms for Triangulation
----------- 15 ms for Triangulation
----------- 15 ms for Triangulation
----------- 16 ms for Triangulation
----------- 16 ms for Triangulation
----------- 16 ms for Triangulation
----------- 16 ms for Triangulation
----------- 16 ms for Triangulation
----------- 17 ms for Triangulation
----------- 17 ms for Triangulation
----------- 18 ms for Triangulation
----------- 18 ms for Triangulation
----------- 18 ms for Triangulation
----------- 18 ms for Triangulation
----------- 18 ms for Triangulation
----------- 19 ms for Triangulation
----------- 19 ms for Triangulation
----------- 19 ms for Triangulation
----------- 19 ms for Triangulation
----------- 20 ms for Triangulation
----------- 20 ms for Triangulation
----------- 20 ms for Triangulation
----------- 20 ms for Triangulation
----------- 21 ms for Triangulation
----------- 21 ms for Triangulation
----------- 21 ms for Triangulation
----------- 22 ms for Triangulation
----------- 22 ms for Triangulation
----------- 22 ms for Triangulation
----------- 22 ms for Triangulation
----------- 23 ms for Triangulation
----------- 23 ms for Triangulation
----------- 23 ms for Triangulation
----------- 23 ms for Triangulation
----------- 23 ms for Triangulation
----------- 24 ms for Triangulation
----------- 24 ms for Triangulation
----------- 24 ms for Triangulation
----------- 24 ms for Triangulation
----------- 24 ms for Triangulation
----------- 25 ms for Triangulation
----------- 25 ms for Triangulation
----------- 25 ms for Triangulation
----------- 25 ms for Triangulation
----------- 26 ms for Triangulation
----------- 26 ms for Triangulation
I am using OpenMP instead of CUDA, not sure if this is related.
from manifold.
You need to take those labels with a grain of salt; in this case there won't be any polygons to triangulate, so the triangulation step is only copying the old triangle lists to the new one. This should be a pretty small fraction of the time taken for the operation, am I right?
from manifold.
Indeed, it seems that it is mostly copying old triangle lists.
from manifold.
Related Issues (20)
- [Question] robust geometric predicates, polygon triangulation
- Warning comparison of integer expressions of different signedness
- Modularize Manifold HOT 25
- Build without exceptions HOT 3
- Remove Thrust HOT 19
- How to figure out required size of mem in the C-API? HOT 1
- Crash in Project() HOT 4
- gcc14 build failure HOT 7
- Triangulation issue: Zebra HOT 3
- BSD compiler error HOT 1
- Another Zebra Triangulation issue HOT 6
- Port for vcpkg HOT 2
- use size_t whenever possible
- Auto generated python stubs inconsistent with cpp API HOT 11
- Rust bindings HOT 22
- Build error with Emscripten 3.1.61 HOT 1
- Debug MSVC build error HOT 7
- NumTri returns uint32_t, while array uses size_t (like uint64_t or int64_t) HOT 3
- Warning as errors HOT 4
- operator""_z returns unsigned and is in the global scope
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 manifold.