www.mooseframework.org
EulerAngles.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "MooseTypes.h"
13 #include "libmesh/vector_value.h"
14 #include <Eigen/Geometry>
15 
16 // forward declaration
17 class MooseRandom;
18 
23 {
24 public:
25  Real phi1, Phi, phi2;
26 
27  // default constructor
28  EulerAngles();
29  // Quaternions to Euler Angles
30  EulerAngles(Eigen::Quaternion<Real> & q);
31 
32  operator RealVectorValue() const { return RealVectorValue(phi1, Phi, phi2); }
33 
34  void random();
35  void random(MooseRandom & random);
36  // Euler to Quaternions
37  Eigen::Quaternion<Real> toQuaternion();
38 };
EulerAngles::phi1
Real phi1
Definition: EulerAngles.h:25
EulerAngles::toQuaternion
Eigen::Quaternion< Real > toQuaternion()
Definition: EulerAngles.C:44
EulerAngles::Phi
Real Phi
Definition: EulerAngles.h:25
EulerAngles::random
void random()
Definition: EulerAngles.C:73
EulerAngles::EulerAngles
EulerAngles()
Definition: EulerAngles.C:14
EulerAngles
Euler angle triplet.
Definition: EulerAngles.h:22
EulerAngles::phi2
Real phi2
Definition: EulerAngles.h:25