20#ifndef _ROTATION_ABOUT_Z_AXIS_H_
21#define _ROTATION_ABOUT_Z_AXIS_H_
23#include "mbsim/functions/function.h"
24#include "mbsim/utils/utils.h"
30 using B = fmatvec::Function<fmatvec::RotMat3(Arg)>;
33 fmatvec::Vec3 a, zero;
36 int getArgSize()
const override {
return 1; }
37 fmatvec::RotMat3 operator()(
const Arg &q)
override {
39 const double cosq=cos(alpha);
40 const double sinq=sin(alpha);
47 typename B::DRetDArg parDer(
const Arg &q)
override {
return a; }
48 typename B::DRetDArg parDerDirDer(
const Arg &qd,
const Arg &q)
override {
return zero; }
49 bool constParDer()
const override {
return true; }
Definition: function.h:53
Definition: rotation_about_z_axis.h:29
namespace MBSim
Definition: bilateral_constraint.cc:30