isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Attitude.h
1 //-*- C++ -*-
2 //-*- coding: utf-8 -*-
3 //
4 // Author: Bryan V. Riel
5 // Copyright 2018
6 //
7 
8 #pragma once
9 
10 #include "forward.h"
11 
12 #include <string>
13 #include <vector>
14 #include "Constants.h"
15 #include "DateTime.h"
16 
19 
20  public:
21  enum class Type { EulerAngles_t, Quaternion_t };
22 
24  Attitude(Attitude::Type atype) : _attitude_type(atype) {};
25 
27  virtual ~Attitude();
28 
30  virtual void ypr(double tintp, double& yaw, double& pitch, double& roll) = 0;
31 
33  virtual Mat3 rotmat(double tintp, const std::string, double d0 = 0,
34  double d1 = 0, double d2 = 0, double d3 = 0) = 0;
35 
37  inline Attitude::Type attitudeType() const { return _attitude_type; }
38 
40  inline std::string yawOrientation() const { return _yaw_orientation; }
41 
43  inline void yawOrientation(const std::string);
44 
45  // Private data members
46  private:
47  Attitude::Type _attitude_type;
48  std::string _yaw_orientation;
49 };
50 
51 // Go ahead and define setYawOrientation here
52 void isce3::core::Attitude::yawOrientation(const std::string orientation) {
53  _yaw_orientation = orientation;
54 }
virtual Mat3 rotmat(double tintp, const std::string, double d0=0, double d1=0, double d2=0, double d3=0)=0
Virtual function return rotation matrix with optional perturbations.
virtual ~Attitude()
Virtual destructor.
Definition: Attitude.cpp:11
Base class for attitude data representation.
Definition: Attitude.h:18
Attitude(Attitude::Type atype)
Constructor using time attitude representation type.
Definition: Attitude.h:24
Definition: DenseMatrix.h:13
Attitude::Type attitudeType() const
Return type of attitude representation - quaternion or euler angle.
Definition: Attitude.h:37
virtual void ypr(double tintp, double &yaw, double &pitch, double &roll)=0
Virtual function to return yaw, pitch, roll.
std::string yawOrientation() const
Return yaw orientation - central or normal.
Definition: Attitude.h:40

Generated for ISCE3.0 by doxygen 1.8.5.