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

Same as SRotate, except the depth is scaled by the width of the slide divided by the height of the window. More...

#include <Operation.hxx>

Inheritance diagram for RotateAndScaleDepthByHeight:
[legend]
Collaboration diagram for RotateAndScaleDepthByHeight:
[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...
 
 RotateAndScaleDepthByHeight (const glm::vec3 &Axis, const glm::vec3 &Origin, double Angle, bool bScale, bool bInter, double T0, double T1)
 
- 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
 
glm::vec3 origin
 
double angle
 
bool scale
 

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

Same as SRotate, except the depth is scaled by the width of the slide divided by the height of the window.

Definition at line 248 of file Operation.hxx.

Constructor & Destructor Documentation

◆ RotateAndScaleDepthByHeight()

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

Definition at line 65 of file Operation.cxx.

References deg2rad(), and scale.

Member Function Documentation

◆ interpolate()

void RotateAndScaleDepthByHeight::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 180 of file Operation.cxx.

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

Member Data Documentation

◆ angle

double RotateAndScaleDepthByHeight::angle
private

Definition at line 257 of file Operation.hxx.

Referenced by interpolate().

◆ axis

glm::vec3 RotateAndScaleDepthByHeight::axis
private

Definition at line 255 of file Operation.hxx.

Referenced by interpolate().

◆ origin

glm::vec3 RotateAndScaleDepthByHeight::origin
private

Definition at line 256 of file Operation.hxx.

Referenced by interpolate().

◆ scale

bool RotateAndScaleDepthByHeight::scale
private

Definition at line 258 of file Operation.hxx.

Referenced by interpolate().


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