20#ifndef _SOURCE_RENDERING_TFARCBALLINTERACTOR_H_
21#define _SOURCE_RENDERING_TFARCBALLINTERACTOR_H_
25#include <Magnum/Magnum.h>
26#include <Magnum/Math/Vector3.h>
27#include <Magnum/Math/Vector3.h>
28#include <Magnum/Math/Matrix4.h>
29#include <Magnum/Math/Quaternion.h>
33inline std::ostream& operator<<(std::ostream& os,
const Magnum::Matrix4& m) {
34 os <<
"mat4 : {{" << m[0][0] <<
", " << m[1][0] <<
", " << m[2][0] <<
", " << m[3][0] <<
"}" << std::endl;
35 os <<
" {" << m[0][1] <<
", " << m[1][1] <<
", " << m[2][1] <<
", " << m[3][1] <<
"}" << std::endl;
36 os <<
" {" << m[0][2] <<
", " << m[1][2] <<
", " << m[2][2] <<
", " << m[3][2] <<
"}" << std::endl;
37 os <<
" {" << m[0][3] <<
", " << m[1][3] <<
", " << m[2][3] <<
", " << m[3][3] <<
"}" << std::endl;
72 void setDampening(
float d);
110 void setConstraints(
bool constrain_x,
bool constrain_y);
118 Magnum::Vector3 constrainVector(
const Magnum::Vector3 &vector,
const Magnum::Vector3 &axis);
119 Magnum::Vector3 mouseToSphere(
const Magnum::Vector2 &p);
121 void setParams(
const Magnum::Vector2 ¢er,
float radius);
126 Magnum::Quaternion q_now, q_down, q_drag, q_increment;
127 Magnum::Vector2 down_pt;
128 Magnum::Matrix4 rot, rot_increment;
130 bool constraint_x, constraint_y;
131 Magnum::Vector2 center;
132 float radius, damp_factor;
135 friend std::ostream& operator<<(std::ostream& os,
const ArcBallInteractor& ball);
Definition tfArcBallInteractor.h:66
void mouseMotion(int x, int y, int shift, int ctrl, int alt)
void setWindowSize(int width, int height)
void mouseDown(int x, int y)
void mouseMotion(int x, int y)
Magnum::Matrix4 rotation() const
Tissue Forge rendering and visualization.
Definition tfAngle.h:38