LibreOffice Module slideshow (master) 1
Public Member Functions | Private Attributes | List of all members
SRotate Class Reference

this class is a generic CounterClockWise(CCW) rotation with an axis angle More...

#include <Operation.hxx>

Inheritance diagram for SRotate:
[legend]
Collaboration diagram for SRotate:
[legend]

Public Member Functions

virtual void interpolate (glm::mat4 &matrix, double t, double SlideWidthScale, double SlideHeightScale) const override
 this is the function that is called to give the Operation to OpenGL. More...
 
 SRotate (const glm::vec3 &Axis, const glm::vec3 &Origin, double Angle, bool bInter, double T0, double T1)
 Constructor. More...
 
- Public Member Functions inherited from Operation
virtual ~Operation ()
 
 Operation (const Operation &)=delete
 
Operationoperator= (const Operation &)=delete
 
virtual void interpolate (glm::mat4 &matrix, double t, double SlideWidthScale, double SlideHeightScale) const =0
 this is the function that is called to give the Operation to OpenGL. More...
 

Private Attributes

glm::vec3 axis
 axis to rotate CCW about More...
 
glm::vec3 origin
 position that rotation axis runs through More...
 
double angle
 angle in degrees of CCW rotation More...
 

Additional Inherited Members

- Protected Member Functions inherited from Operation
 Operation (bool bInterpolate, double nT0, double nT1)
 
- Protected Attributes inherited from Operation
bool mbInterpolate
 Should this operation be interpolated . More...
 
double mnT0
 time to begin the transformation More...
 
double mnT1
 time to finish the transformation More...
 

Detailed Description

this class is a generic CounterClockWise(CCW) rotation with an axis angle

Definition at line 79 of file Operation.hxx.

Constructor & Destructor Documentation

◆ SRotate()

SRotate::SRotate ( const glm::vec3 &  Axis,
const glm::vec3 &  Origin,
double  Angle,
bool  bInter,
double  T0,
double  T1 
)

Constructor.

Parameters
Axisaxis to rotate about
Originposition that rotation axis runs through
Angleangle in degrees of CCW rotation
bIntersee Operation
T0transformation starting time
T1transformation ending time

Definition at line 38 of file Operation.cxx.

References deg2rad().

Member Function Documentation

◆ interpolate()

void SRotate::interpolate ( glm::mat4 &  matrix,
double  t,
double  SlideWidthScale,
double  SlideHeightScale 
) const
overridevirtual

this is the function that is called to give the Operation to OpenGL.

Parameters
ttime from t = 0 to t = 1
SlideWidthScalewidth of slide divided by width of window
SlideHeightScaleheight of slide divided by height of window

Implements Operation.

Definition at line 133 of file Operation.cxx.

References angle, axis, intervalInter(), Operation::mbInterpolate, Operation::mnT0, Operation::mnT1, origin, and t.

Member Data Documentation

◆ angle

double SRotate::angle
private

angle in degrees of CCW rotation

Definition at line 118 of file Operation.hxx.

Referenced by interpolate().

◆ axis

glm::vec3 SRotate::axis
private

axis to rotate CCW about

Definition at line 110 of file Operation.hxx.

Referenced by interpolate().

◆ origin

glm::vec3 SRotate::origin
private

position that rotation axis runs through

Definition at line 114 of file Operation.hxx.

Referenced by interpolate().


The documentation for this class was generated from the following files: