Skip to content

Make a prototype for drawing 2D graphics #682

@yungyuc

Description

@yungyuc

Create a prototype "canvas" for drawing 2D vector graphics. The existing "3D viewer" can be used as a starting point. "Sample: NACA 4-digit" may be a good example because it draws cubic Bezier curves.

The first PR should only add the most basic features. Try to stay within 500 lines of diff.

The prototype scope only needs to create line segments and/or rectangles. It may also create polygons and curves, but do not make one PR too long.

The 2D drawing should use modmesh::World in universe/World.hpp as the data object. The prototype strictly focuses on 2D. 3D drawing will be extended from prototype canvas in the future, probably after the 2D drawing reaches certain maturity and is no longer a prototype.

Menu items for the (2D) drawing feature should use the "Canvas" menu.

File I/O, e.g., SVG and/or OASIS, is not included in the prototype and will be tracked in follow-up issues (to be filed after this one is done).

Metadata

Metadata

Assignees

Labels

pilotGUI and visualization

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions