mbsimflexiblebody 4.0.0 MBSim Flexible Body Module

revcardan.h
1 /* Copyright (C) 2004-2015 MBSim Development Team
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2.1 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public
14 * License along with this library; if not, write to the Free Software
15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 *
17 * Contact: thorsten.schindler@mytum.de
18 */
19
20 #ifndef REVCARDAN_H_
21 #define REVCARDAN_H_
22
23 #include "mbsimFlexibleBody/utils/angles.h"
24
25 namespace MBSimFlexibleBody {
26
32 class RevCardan : public Angles {
33 public:
37 RevCardan();
38
42 ~RevCardan() override;
43
44 /* INTERFACE OF ROTATION */
45 virtual int getqSize() const { return 3; }
46 /********************************************************/
47
48 /* INTERFACE OF ANGLES */
49 fmatvec::Vec3 computet(const fmatvec::Vec& q) const override;
50 fmatvec::Vec3 computen(const fmatvec::Vec& q) const override;
51 fmatvec::Vec3 computeb(const fmatvec::Vec& q) const override;
52 fmatvec::Vec computentil(const fmatvec::Vec& q) const override;
53 fmatvec::Vec computebtil(const fmatvec::Vec& q) const override;
54 fmatvec::SqrMat computetq(const fmatvec::Vec& q) const override;
55 fmatvec::SqrMat computenq(const fmatvec::Vec& q) const override;
56 fmatvec::SqrMat computebq(const fmatvec::Vec& q) const override;
57 fmatvec::SqrMat computentilq(const fmatvec::Vec& q) const override;
58 fmatvec::SqrMat computebtilq(const fmatvec::Vec& q) const override;
59 fmatvec::Mat computetq2(const fmatvec::Vec& q) const override;
60 fmatvec::Mat computenq2(const fmatvec::Vec& q) const override;
61 fmatvec::Mat computebq2(const fmatvec::Vec& q) const override;
62 fmatvec::Mat computentilq2(const fmatvec::Vec& q) const override;
63 fmatvec::Mat computebtilq2(const fmatvec::Vec& q) const override;
64 /********************************************************/
65 };
66
67 }
68
69 #endif /*REVCARDAN_H_*/
70
MBSimFlexibleBody::RevCardan::computebtilq
fmatvec::SqrMat computebtilq(const fmatvec::Vec &q) const override
Definition: revcardan.cc:186
MBSimFlexibleBody::RevCardan::computebtilq2
fmatvec::Mat computebtilq2(const fmatvec::Vec &q) const override
Definition: revcardan.cc:343
MBSimFlexibleBody::RevCardan::computenq2
fmatvec::Mat computenq2(const fmatvec::Vec &q) const override
Definition: revcardan.cc:240
MBSimFlexibleBody::RevCardan::computetq2
fmatvec::Mat computetq2(const fmatvec::Vec &q) const override
Definition: revcardan.cc:207
MBSimFlexibleBody::RevCardan::computebtil
fmatvec::Vec computebtil(const fmatvec::Vec &q) const override
Definition: revcardan.cc:86
MBSimFlexibleBody::Angles
node class for angle parametrisation
Definition: angles.h:35
MBSimFlexibleBody::RevCardan::computentilq
fmatvec::SqrMat computentilq(const fmatvec::Vec &q) const override
Definition: revcardan.cc:165
MBSimFlexibleBody::RevCardan::computebq2
fmatvec::Mat computebq2(const fmatvec::Vec &q) const override
Definition: revcardan.cc:275
MBSimFlexibleBody::RevCardan::computenq
fmatvec::SqrMat computenq(const fmatvec::Vec &q) const override
Definition: revcardan.cc:119
MBSimFlexibleBody::RevCardan::computeb
fmatvec::Vec3 computeb(const fmatvec::Vec &q) const override
Definition: revcardan.cc:58
MBSimFlexibleBody::RevCardan::computentil
fmatvec::Vec computentil(const fmatvec::Vec &q) const override
Definition: revcardan.cc:73
MBSimFlexibleBody::RevCardan::computen
fmatvec::Vec3 computen(const fmatvec::Vec &q) const override
Definition: revcardan.cc:43
MBSimFlexibleBody::RevCardan::computetq
fmatvec::SqrMat computetq(const fmatvec::Vec &q) const override
Definition: revcardan.cc:98
MBSimFlexibleBody::RevCardan::computentilq2
fmatvec::Mat computentilq2(const fmatvec::Vec &q) const override
Definition: revcardan.cc:310
MBSimFlexibleBody::RevCardan::computet
fmatvec::Vec3 computet(const fmatvec::Vec &q) const override
Definition: revcardan.cc:30
MBSimFlexibleBody::RevCardan::computebq
fmatvec::SqrMat computebq(const fmatvec::Vec &q) const override
Definition: revcardan.cc:142
MBSimFlexibleBody::RevCardan::RevCardan
RevCardan()
constructor
Definition: revcardan.cc:26
MBSimFlexibleBody::RevCardan
reversed kardan parametrisation
Definition: revcardan.h:32
MBSimFlexibleBody::RevCardan::~RevCardan
~RevCardan() override
destructor