Skip to content

Feature Request: Improve Shape Move Tool (shp_move.cpp) #5

Description

@trailcode

Feature Request: Improve Shape Move Tool

Summary

The current shape move tool could be enhanced to provide a more robust and user-friendly experience when moving selected shapes in the viewer.

Proposed Improvements

  • Axis Constraints:
    Add support for axis constraints, allowing users to restrict movement to the X, Y, or Z axis as needed. This could be managed via a Move_options struct and respected throughout the move logic.

  • Interactive Distance Editing:
    Enable users to interactively edit the distance moved along each axis. The tool should provide callbacks for each axis, enabling precise control and real-time feedback during the move operation.

  • Improved Plane Handling:
    Estimate the move plane based on the center of the selected shapes to improve the accuracy and intuitiveness of the move operation.

  • Enhanced Finalization Logic:
    Implement logic to check for completion based on axis constraints and user input, and finalize the move by baking the transformation into the geometry.

  • Reset and Cancel Support:
    Add the ability to cancel or reset the move operation, reverting any transformations and restoring the previous state.

Documentation

  • Update usage.md:
    Ensure that the new features and usage instructions for the improved move tool are clearly documented in usage.md. This should include:
    • How to use axis constraints
    • Steps for interactive distance editing
    • How to reset or cancel a move operation
    • Any new UI elements or shortcuts introduced

Impact

Implementing these changes would make the move tool more flexible and reliable, especially for users needing precise control over shape positioning in 3D space.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions