Tissue Forge C++ 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
TissueForge::rendering::ArcBall Class Reference
Inheritance diagram for TissueForge::rendering::ArcBall:

Public Member Functions

 ArcBall (const Vector3 &cameraPosition, const Vector3 &viewCenter, const Vector3 &upDir, Deg fov, const Magnum::Vector2i &windowSize)
 
void setViewParameters (const Vector3 &eye, const Vector3 &viewCenter, const Vector3 &upDir)
 
void rotateToAxis (const Vector3 &axis, float distance)
 
void reset ()
 
void reshape (const Magnum::Vector2i &windowSize)
 
bool updateTransformation ()
 
Float lagging () const
 
void setLagging (Float lagging)
 
void initTransformation (const Magnum::Vector2i &mousePos)
 
void rotate (const Magnum::Vector2i &mousePos)
 
void translate (const Magnum::Vector2i &mousePos)
 
void translateDelta (const Vector2 &translationNDC)
 
void zoom (Float delta)
 
void zoomTo (Float delta)
 
const DualQuaternion & view () const
 
Matrix4 viewMatrix () const
 
Matrix4 inverseViewMatrix () const
 
const DualQuaternion & transformation () const
 
Matrix4 transformationMatrix () const
 
Float viewDistance () const
 
void rotateByEulerAngles (const Vector3 &eulerAngles)
 
void rotateToEulerAngles (const Vector3 &eulerAngles)
 

Protected Member Functions

void updateInternalTransformations ()
 
Vector2 screenCoordToNDC (const Magnum::Vector2i &mousePos) const
 

Protected Attributes

Deg _fov
 
Magnum::Vector2i _windowSize
 
Vector2 _prevMousePosNDC
 
Float _lagging {}
 
Vector3 _targetPosition
 
Vector3 _currentPosition
 
Vector3 _positionT0
 
Quaternion _targetQRotation
 
Quaternion _currentQRotation
 
Quaternion _qRotationT0
 
Float _targetZooming
 
Float _currentZooming
 
Float _zoomingT0
 
DualQuaternion _view
 
DualQuaternion _inverseView
 

Member Function Documentation

◆ rotateByEulerAngles()

void TissueForge::rendering::ArcBall::rotateByEulerAngles ( const Vector3 & eulerAngles)

rotate about the Euler angles


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