20#ifndef _ROTATION_ABOUT_AXES_XY_H_
21#define _ROTATION_ABOUT_AXES_XY_H_
23#include "mbsim/functions/function.h"
29 using B = fmatvec::Function<fmatvec::RotMat3(Arg)>;
32 fmatvec::Mat3xV J, Jd;
35 int getArgSize()
const override {
return 2; }
36 fmatvec::RotMat3 operator()(
const Arg &q)
override {
46 A.e(2,0) = -cosa*sinb;
50 A.e(1,2) = -sina*cosb;
54 typename B::DRetDArg parDer(
const Arg &q)
override {
60 typename B::DRetDArg parDerDirDer(
const Arg &qd,
const Arg &q)
override {
63 Jd.e(1,1) = -sin(a)*ad;
64 Jd.e(2,1) = cos(a)*ad;
Definition: function.h:53
Definition: rotation_about_axes_xy.h:28
namespace MBSim
Definition: bilateral_constraint.cc:30