PeriDyno 1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
rigid_3d.h
Go to the documentation of this file.
1#pragma once
2#include <iostream>
3#include "rigid_base.h"
4#include "../Vector.h"
5#include "../Matrix.h"
6#include "Quat.h"
7
8namespace dyno {
9 template <typename T>
10 class Rigid<T, 3>
11 {
12 public:
15
16 DYN_FUNC Rigid()
17 : m_p(0)
18 , m_quat(Quat<T>::identity())
19 {};
20
22 : m_p(p)
23 , m_quat(quat)
24 {};
25
26 DYN_FUNC ~Rigid() {};
27
28 DYN_FUNC Vector<T, 3> getCenter() const { return m_p; }
29
31 {
32 return m_quat.toMatrix3x3();
33 }
34
35 DYN_FUNC Quat<T> getOrientation() const { return m_quat; }
36
37 private:
40 };
41
42 template class Rigid<float, 3>;
43 template class Rigid<double, 3>;
44
47} //end of namespace dyno
Implementation of quaternion.
Vector< T, 3 > RotationDOF
Definition rigid_3d.h:14
DYN_FUNC Quat< T > getOrientation() const
Definition rigid_3d.h:35
DYN_FUNC Rigid(Vector< T, 3 > p, Quat< T > quat)
Definition rigid_3d.h:21
DYN_FUNC Vector< T, 3 > getCenter() const
Definition rigid_3d.h:28
Vector< T, 3 > m_p
Definition rigid_3d.h:38
Quat< T > m_quat
Definition rigid_3d.h:39
Vector< T, 3 > TranslationDOF
Definition rigid_3d.h:13
DYN_FUNC SquareMatrix< T, 3 > getRotationMatrix() const
Definition rigid_3d.h:30
DYN_FUNC Rigid()
Definition rigid_3d.h:16
DYN_FUNC ~Rigid()
Definition rigid_3d.h:26
#define T(t)
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
Rigid< float, 3 > Rigid3f
Definition rigid_3d.h:45
Rigid< double, 3 > Rigid3d
Definition rigid_3d.h:46
vgm::Quat quat
Definition vgMath.h:633