ODIN
seqgrad.h
1 /***************************************************************************
2  seqgrad.h - description
3  -------------------
4  begin : Wed Aug 8 2001
5  copyright : (C) 2000-2021 by Thies H. Jochimsen
6  email : thies@jochimsen.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef SEQGRAD_H
19 #define SEQGRAD_H
20 
21 #include <odinseq/seqclass.h>
22 
23 
24 class RotMatrix; // forward declaration
25 
35 class SeqGradInterface : public virtual SeqClass {
36 
37  public:
38 
42  virtual SeqGradInterface& set_strength(float gradstrength) = 0;
43 
48 
52  virtual float get_strength() const = 0;
53 
57  virtual fvector get_gradintegral() const = 0;
58 
62  float get_gradintegral_norm() const;
63 
64 
70  virtual double get_gradduration() const = 0;
71 
77  virtual SeqGradInterface& set_gradrotmatrix(const RotMatrix& matrix) = 0;
78 
79 
80  protected:
81 
82  SeqGradInterface() {}
83  virtual ~SeqGradInterface() {}
84 
85 };
86 
87 
92 #endif
Rotation Matrix.
Definition: geometry.h:67
virtual SeqGradInterface & set_gradrotmatrix(const RotMatrix &matrix)=0
virtual float get_strength() const =0
float get_gradintegral_norm() const
virtual SeqGradInterface & set_strength(float gradstrength)=0
virtual fvector get_gradintegral() const =0
virtual double get_gradduration() const =0
virtual SeqGradInterface & invert_strength()=0