Nantes Université

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.