My Project
rotation.h
Go to the documentation of this file.
1 
12 #pragma once
13 #include "modification.h"
14 
21 class Rotation : public Modification
22 {
23 public:
27  Rotation();
28 
32  ~Rotation();
33 
38  void rotateX(BaseObject* o);
39 
44  void rotateY(BaseObject* o);
45 
50  void rotateZ(BaseObject* o);
51 
56  virtual void initModification(Vertex* center) override;
57 
62  virtual void run(BaseObject* o) = 0;
63 
64 
65 protected:
67  double angle;
71 };
72 
79 class RotationX : public Rotation
80 {
81 public:
85  RotationX();
86 
91  RotationX(double angle);
92 
96  ~RotationX();
97 
102  virtual void run(BaseObject* o) override;
103 
104 };
105 
112 class RotationY : public Rotation
113 {
114 public:
118  RotationY();
119 
124  RotationY(double angle);
125 
129  ~RotationY();
130 
135  virtual void run(BaseObject* o) override;
136 };
137 
144 class RotationZ : public Rotation
145 {
146 public:
150  RotationZ();
151 
156  RotationZ(double angle);
157 
161  ~RotationZ();
162 
167  virtual void run(BaseObject* o) override;
168 
169 };
Base modification object class.
Define vertex consisting 3 double coordinates.
Definition: vertex.h:24
~Rotation()
Definition: rotation.cpp:9
Rotation in OZ surface.
Definition: rotation.h:144
virtual void run(BaseObject *o)=0
Base object. Virtual class. No realisation.
Definition: baseobject.h:23
void rotateY(BaseObject *o)
Definition: rotation.cpp:25
virtual void initModification(Vertex *center) override
Definition: rotation.cpp:49
GMatrix rotate
Definition: rotation.h:68
GMatrix vMatrixRotation
Definition: rotation.h:69
Rotation in OY surface.
Definition: rotation.h:112
GMatrix nMatrixRotation
Definition: rotation.h:70
double angle
Definition: rotation.h:67
Base rotation class.
Definition: rotation.h:21
void rotateX(BaseObject *o)
Definition: rotation.cpp:13
void rotateZ(BaseObject *o)
Definition: rotation.cpp:37
Vertex * center
Definition: rotation.h:66
Define geometric matrix.
Definition: gmatrix.h:24
Rotation in OX surface.
Definition: rotation.h:79
Rotation()
Definition: rotation.cpp:5
Base modification object class.
Definition: modification.h:26