Basic Image AlgorithmS Library
2.8.0
|
base for (interactively) manipulating a (virtual) camera view. More...
#include <Gui/CameraViewController.hh>
Public Member Functions | |
CameraViewController () | |
virtual void | DisplayGL () |
virtual void | DisplayGLExternal () |
virtual void | DisplayGLInternal () |
CameraViewExternals | GetExternals () const |
CameraViewExternals & | GetExternals () |
CameraViewInternals | GetInternals () const |
CameraViewInternals & | GetInternals () |
virtual void | InitMembers () |
any constructor should call this function to initialize all data members (e.g. More... | |
void | MotionTrackballRotation (const BIAS::Vector2< double > &pos) |
void | MotionTranslation (const BIAS::Vector2< double > &pos) |
simple translation More... | |
void | MotionTranslationCoplanar (const BIAS::Vector2< double > &pos) |
void | MotionTranslationForward (const BIAS::Vector2< double > &pos) |
void | MoveCoplanar (const BIAS::Vector2< double > &deltaN) |
void | MoveOrbit (const BIAS::Vector2< double > &deltaN) |
void | MoveToCenter (const double &fraction) |
std::ostream & | Print (std::ostream &os=std::cout) |
map update of one axis (mouse wheel, delta, key...) maps delta (e.g. More... | |
void | SetSize (const BIAS::Vector2< double > &sz) |
interaction area size More... | |
void | SetStartPos (const BIAS::Vector2< double > &pos) |
toplevel entry for all motion controllers More... | |
virtual | ~CameraViewController () |
destructor More... | |
Protected Attributes | |
BIAS::CameraViewExternals * | p_externals |
BIAS::CameraViewInternals * | p_internals |
BIAS::Vector2< double > | size |
BIAS::Vector2< double > | startpos |
CameraViewExternals | startposExt |
CameraViewInternals | startposInt |
base for (interactively) manipulating a (virtual) camera view.
Typically used by OpenGL as a glulookat Update. Navigator would be a good name, too.
Definition at line 60 of file CameraViewController.hh.
|
virtual |
destructor
Definition at line 14 of file CameraViewController.cpp.
CameraViewController::CameraViewController | ( | ) |
Definition at line 20 of file CameraViewController.cpp.
References InitMembers().
|
virtual |
Definition at line 47 of file CameraViewController.cpp.
References DisplayGLExternal(), and DisplayGLInternal().
|
virtual |
Definition at line 56 of file CameraViewController.cpp.
References BIAS::CameraViewExternals::DisplayGL(), and GetExternals().
Referenced by BIAS::OpenGLCanvas::DisplayCameraViewExternalParams(), and DisplayGL().
|
virtual |
Definition at line 52 of file CameraViewController.cpp.
References BIAS::CameraViewInternals::DisplayGL(), and GetInternals().
Referenced by BIAS::OpenGLCanvas::DisplayCameraViewInternalParams(), and DisplayGL().
|
inline |
Definition at line 109 of file CameraViewController.hh.
References p_externals.
Referenced by DisplayGLExternal(), InitMembers(), MoveCoplanar(), MoveOrbit(), and Print().
|
inline |
Definition at line 113 of file CameraViewController.hh.
References p_externals.
|
inline |
Definition at line 118 of file CameraViewController.hh.
References p_internals.
Referenced by BIAS::ImageCanvasGLBase::DisplayCalls(), DisplayGLInternal(), InitMembers(), Print(), and BIAS::OpenGLCanvas::Reshape().
|
inline |
Definition at line 122 of file CameraViewController.hh.
References p_internals.
|
virtual |
any constructor should call this function to initialize all data members (e.g.
pointers to NULL)
Definition at line 27 of file CameraViewController.cpp.
References GetExternals(), GetInternals(), BIAS::CameraViewInternals::InitMembers(), BIAS::CameraViewExternals::InitMembers(), p_externals, p_internals, BIAS::Vector2< T >::Set(), BIAS::Vector2< T >::SetZero(), size, startpos, startposExt, and startposInt.
Referenced by CameraViewController().
void CameraViewController::MotionTrackballRotation | ( | const BIAS::Vector2< double > & | pos | ) |
Definition at line 183 of file CameraViewController.cpp.
References size.
void CameraViewController::MotionTranslation | ( | const BIAS::Vector2< double > & | pos | ) |
simple translation
Definition at line 160 of file CameraViewController.cpp.
References BIAS::Vector2< T >::DivideIP(), MoveOrbit(), size, and startpos.
Referenced by BIAS::OpenGLCanvas::OnMotion().
void CameraViewController::MotionTranslationCoplanar | ( | const BIAS::Vector2< double > & | pos | ) |
Definition at line 170 of file CameraViewController.cpp.
References BIAS::Vector2< T >::DivideIP(), MoveCoplanar(), size, and startpos.
Referenced by BIAS::OpenGLCanvas::OnMotion().
void CameraViewController::MotionTranslationForward | ( | const BIAS::Vector2< double > & | pos | ) |
Definition at line 151 of file CameraViewController.cpp.
References BIAS::Vector2< T >::GetY(), MoveToCenter(), size, and startpos.
Referenced by BIAS::OpenGLCanvas::OnMotion().
void CameraViewController::MoveCoplanar | ( | const BIAS::Vector2< double > & | deltaN | ) |
Definition at line 112 of file CameraViewController.cpp.
References BIAS::CameraViewExternals::C, BIAS::Vector3< T >::CrossProduct(), GetExternals(), BIAS::Vector3< T >::Length(), BIAS::Vector3< T >::Normalize(), p_externals, BIAS::CameraViewExternals::up, and BIAS::CameraViewExternals::viewAt.
Referenced by MotionTranslationCoplanar().
void CameraViewController::MoveOrbit | ( | const BIAS::Vector2< double > & | deltaN | ) |
Definition at line 78 of file CameraViewController.cpp.
References BIAS::CameraViewExternals::C, BIAS::Vector3< T >::CartesianToPolar(), BIAS::Vector3< T >::CrossProduct(), GetExternals(), BIAS::Vector3< T >::Normalize(), p_externals, size, BIAS::CameraViewExternals::up, and BIAS::CameraViewExternals::viewAt.
Referenced by MotionTranslation().
void CameraViewController::MoveToCenter | ( | const double & | fraction | ) |
Definition at line 137 of file CameraViewController.cpp.
References BIAS::CameraViewExternals::C, p_externals, and BIAS::CameraViewExternals::viewAt.
Referenced by MotionTranslationForward(), and BIAS::OpenGLCanvas::OnMouseWheel().
std::ostream & CameraViewController::Print | ( | std::ostream & | os = std::cout | ) |
map update of one axis (mouse wheel, delta, key...)
maps delta (e.g.
mouse dragging motion or wheel) to pose update depending on current mode JW
Definition at line 62 of file CameraViewController.cpp.
References GetExternals(), GetInternals(), BIAS::CameraViewInternals::Print(), and BIAS::CameraViewExternals::Print().
Referenced by BIAS::OpenGLCanvas::GetInfoGL().
|
inline |
interaction area size
Definition at line 97 of file CameraViewController.hh.
References size.
Referenced by BIAS::OpenGLCanvas::OnMouseDown().
void CameraViewController::SetStartPos | ( | const BIAS::Vector2< double > & | pos | ) |
toplevel entry for all motion controllers
mouse start position, usually on leftclick
Definition at line 69 of file CameraViewController.cpp.
References p_externals, p_internals, startpos, startposExt, and startposInt.
Referenced by BIAS::OpenGLCanvas::OnMouseDown().
|
protected |
Definition at line 146 of file CameraViewController.hh.
Referenced by GetExternals(), InitMembers(), MoveCoplanar(), MoveOrbit(), MoveToCenter(), and SetStartPos().
|
protected |
Definition at line 147 of file CameraViewController.hh.
Referenced by GetInternals(), InitMembers(), and SetStartPos().
|
protected |
Definition at line 151 of file CameraViewController.hh.
Referenced by InitMembers(), MotionTrackballRotation(), MotionTranslation(), MotionTranslationCoplanar(), MotionTranslationForward(), MoveOrbit(), and SetSize().
|
protected |
Definition at line 153 of file CameraViewController.hh.
Referenced by InitMembers(), MotionTranslation(), MotionTranslationCoplanar(), MotionTranslationForward(), and SetStartPos().
|
protected |
Definition at line 154 of file CameraViewController.hh.
Referenced by InitMembers(), and SetStartPos().
|
protected |
Definition at line 155 of file CameraViewController.hh.
Referenced by InitMembers(), and SetStartPos().