model InitPosition "Internal model to initialize r_rel_a for Joints.FreeMotionScalarInit"
import SI = Modelica.SIunits;
import Modelica.Mechanics.MultiBody.Frames;
extends Modelica.Blocks.Icons.Block;
input SI.Position r_a_0[3] annotation (Dialog);
input SI.Position r_b_0[3] annotation (Dialog);
input Frames.Orientation R_a annotation (Dialog);
Modelica.Blocks.Interfaces.RealOutput r_rel_a[3](each final quantity = "Length", each final unit = "m") annotation (Placement(transformation(extent = {
{100, -10},
{120, 10}})));
equation
r_b_0 = r_a_0 + Frames.resolve1(R_a, {r_rel_a[1], r_rel_a[2], r_rel_a[3]});
annotation (
Icon(
coordinateSystem(
preserveAspectRatio = false,
extent = {
{-100, -100},
{100, 100}}),
graphics = {
Text(
extent = {
{-88, 16},
{82, -12}},
textString = "r_rel_a")}),
Documentation(info = "<html>\n<p>\nCompute relative position vector r_rel_a from a position vector r_a_0 to\na position vector r_b_0, resolved in frame given by an\n<a href=\"modelica://Modelica.Mechanics.MultiBody.Frames.Orientation\">orientation object</a> R_a.\n</p>\n</html>"));
end InitPosition;