Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin Interface(s) #19

Open
marip8 opened this issue Feb 18, 2020 · 0 comments
Open

Plugin Interface(s) #19

marip8 opened this issue Feb 18, 2020 · 0 comments

Comments

@marip8
Copy link
Collaborator

marip8 commented Feb 18, 2020

In order to make this repository and GUI more modular, we should consider defining plugin(s) for the creation and saving of tool paths. Some initial thoughts for this would be:

  1. A top-level GUI (likely an Rviz panel to start) capable of loading some number of plugins and displaying their widgets in an organized fashion
  2. A plugin with methods for showing a GUI and generating a tool path:
    • std::vector<geometry_msgs::PoseArray> createPath() = 0;
    • QWidget* getWidget() = 0;
    • std::string getName() = 0;
  3. A plugin with the ability to save data from the loaded tool path generators in a specific way
    • bool save(const std::map<std::string, std::vector<geometry_msgs::PoseArray>>&) = 0;

At present, the implementations of the tool path generators would be a raster path generator using noether, a generator of single "stroke" paths using a click-and-point method, and a generator of "multi-stroke" paths using a click-and-point method.

Implementations of the save plugin might be serializing the files to binary and saving to file, or saving the files to a database

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant