modelica / ModelicaStandardLibrary

Free (standard conforming) library to model mechanical (1D/3D), electrical (analog, digital, machines), magnetic, thermal, fluid, control systems and hierarchical state machines. Also numerical functions and functions for strings, files and streams are included.
https://doc.modelica.org
BSD 3-Clause "New" or "Revised" License
472 stars 169 forks source link

Reintroduce Arrow as a visualization shape #4254

Open tobolar opened 8 months ago

tobolar commented 8 months ago

Reintroduce Arrow as a common visualization object, similar to a box or a sphere. In the MultiBody, the Arrow is now used for visualization of axes of coordinate system in

To better understand the idea, see also https://github.com/modelica/ModelicaStandardLibrary/issues/3931#issuecomment-1594362054

This PR bases on #4248 and is, thus, a draft only. It shall be rebased, checked and changed to a full PR after merging that other PR.

Note: I didn't change DoubleArrow since I consider this being an obsolete model.

tobolar commented 8 months ago

I've realized the usage of Mechanics.MultiBody.Visualizers.Advanced.Arrow inside of Mechanics.MultiBody.World leads to a recursion issue since Arrow itself uses outer world. A solution could be to define Mechanics.MultiBody.Visualizers.Internal.Arrow which do not uses world.

casella commented 8 months ago

@tobolar this change could have other side effects that we are not aware of, and potentially break some aspects of the MultiBody library.

I think it would be wiser to postpone this to MSL 4.2.0, so it can be thoroughly tested with multiple tools.