20#ifndef _ROTATION_ABOUT_AXES_YZ_H_
21#define _ROTATION_ABOUT_AXES_YZ_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) = -sinb*cosg;
47 A.e(0,1) = -cosb*sing;
54 typename B::DRetDArg parDer(
const Arg &q)
override {
60 typename B::DRetDArg parDerDirDer(
const Arg &qd,
const Arg &q)
override {
62 double betad = qd.e(0);
63 Jd.e(0,1) = cos(beta)*betad;
64 Jd.e(2,1) = -sin(beta)*betad;
Definition: function.h:53
Definition: rotation_about_axes_yz.h:28
namespace MBSim
Definition: bilateral_constraint.cc:30