Plotting interface: More modularity
The plotting interface cosseroots.plot
is not very user friendly. Particularly, it becomes very cumbersome to change plot properties of underlying plots like the directors or the cross section.
A new layout would have dispatcher
functions that act around a set of data e.g., all frames of the rod, which internally calls the underlying single data-set plot function. For example, with the call-hierarchy shown through indentation levels:
cosseroots.plot.rods()
|- cosseroots.plot.rod()
| |- cosseroots.plot.centerline()
| | |- cosseroots.plot.line() % "low-level"
| |- cosseroots.plot.shape()
| |- cosseroots.plot.frames()
| | |- cosseroots.plot.frame()
| | | |- cosseroots.plot.point() % "low-level"
| | | |- cosseroots.plot.vector() % "low-level"
Further, each "low-level" function returns simply the created graphics object while wrapping functions create a plot group hggroup
of these graphics objects.