How to manage options for mesh mutations
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Refactor
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- cpp
- Domain
- computer-graphics
Research direction
Start by reviewing issue #52 and the current SurfaceMesh::flipEdge()/flip signature mentioned here. Compare per-method options with stateful class flags against the listed usability, safety, scalability, and implementation concerns. Done means the project has a decided option-management strategy and its consequences are recorded.
Written by the indexing model from the issue text.
Description
After #52 SurfaceMesh::flipEdge() now looks like:
bool flip(Edge e, bool preventSelfEdges = true);
This gets at a design question: how should we expose behavior options?
Two possible strategies are:
- Options per-method to control behavior (as above)
- Stateful (mutable or immutable) flags on the class, which set a consistent behavior for all such function calls.
We should think about which of these strategies we want to pursue, and what the consequences would be.
Some motivating questions to consider:
- What is the most natural for a user? What minimizes verbosity-creep?
- What is least likely to lead to bugs, and easiest to debug?
- What scales well as these classes grow in complexity and functionality?
- What is not-too-painful to implement internally?
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 183
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from nmwsharp/geometry-central
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
nmwsharp/geometry-central#256 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
nmwsharp/geometry-central#255 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
nmwsharp/geometry-central#253 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 57/100
nmwsharp/geometry-central#247 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
nmwsharp/geometry-central#246 ·
All issues in nmwsharp/geometry-central
Similar issues
-
Difficulty 1/5 1-3 hours Newbie friendliness 92/100
autowarefoundation/autoware_universe#13413 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
automated-analysis bug memory-safety
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Sensor initialization takes very long when `--initial-sim-time` is set to current UNIX timestamp Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
gazebosim/gz-sensors#662 · 1 comment ·