Sorted by priority:
- [IMPROVEMENT] Revert
HMP::Actions::ExtrudeUtils::applynew vertex creation to the old method. - [IMPROVEMENT]
HMP::Projection::jacobianAdvanceis too defensive. Try working on one vertex at a time somehow. - [FEATURE] Add a negative weight factor for elements with multiple faces on surface in
HMP::Projection::smoothInternal. - [BUG]
HMP::Dag::ExtrudeandHMP::Dag::Refinerelative fis and vis are cloned incorrectly during a paste operation, so I am recalculating them from scratch inHMP::Actions::Paste::fixAdjacencies_TEMP_NAIVE. This implies that:- The otherwise flawless "Paste-the-same-way-to-get-the-same-result" principle is violated (not a big deal; GUI helps a lot here);
- I cannot profit from
HMP::Refinement::Scheme::facesSurfVisIsuntil this is fixed.
- [BUG]
HMP::Actions::Root::~Root()leads toHMP::Dag::Nodedouble free on app exit (I think theHMP::Dag::Nodedetachment system is broken). - [IMPROVEMENT]
HMP::Refinement::Utils::applyshould useHMP::Refinement::Scheme::facesSurfVisIsin place ofHMP::Refinement::Utils::weldAdjacencies_TEMP_NAIVE(how do I rotate the scheme vertices and match the adjacent faces?). - [IMPROVEMENT] Improve
HMP::Actions::MakeConformingeither by implementing a balancing preprocessing phase, or by defining more adapter schemes. - [FEATURE] The extrude operation could automatically determine the number of parents, or at least give the user a warning in case of unintentionally duplicate vertices.
- [IMPROVEMENT]
HMP::Actions::MakeConformingperformance can be improved a lot by keeping a queue of non-conforming refinements. - [FEATURE] Perhaps pasting a subtree should not preserve the source size (or maybe the choice could be left to the user).
- [REFACTOR]
HMP::Meshing::Utilsis a dumpsite full of duplicated code. Keep the few essential primitives and throw everything else away. - [IMPROVEMENT]
OGDFis overkill for what I need. Consider replacing it with a lighter implementation of the Sugiyama layout algorithm. - [IMPROVEMENT] The
HMP::Gui::Widgets::DirectVertEditscale and rotation implementation is a bit janky. (Also, a global axis-aligned translation feature would be welcome). - [FEATURE] Add a command to select all the vertices in a subtree.
- [FEATURE] Allow the user to change the transform origin when editing vertices (or add a command to lock the origin in the current location).
- [FEATURE] Add As-Rigid-As-Possible vertex editing support.
- [REFACTOR] All the
HMP::Meshing::Actionscould be replaced with a set of more primitive actions (MoveVert,ShowElement,AddElements,WeldElementsandActionSequencemaybe?). - [IMPROVEMENT] The
HMP::Gui::DagViewer::Widgetview should try to remain stable on layout change. - [IMPROVEMENT] The camera pan speed could be adjusted depending on the relative mesh position (as I do in the
HMP::Gui::Widgets::DirectVertEdittranslation operation).