Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
BIAS::CameraViewController Class Reference

base for (interactively) manipulating a (virtual) camera view. More...

#include <Gui/CameraViewController.hh>

+ Collaboration diagram for BIAS::CameraViewController:

Public Member Functions

 CameraViewController ()
 
virtual void DisplayGL ()
 
virtual void DisplayGLExternal ()
 
virtual void DisplayGLInternal ()
 
CameraViewExternals GetExternals () const
 
CameraViewExternalsGetExternals ()
 
CameraViewInternals GetInternals () const
 
CameraViewInternalsGetInternals ()
 
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::CameraViewExternalsp_externals
 
BIAS::CameraViewInternalsp_internals
 
BIAS::Vector2< double > size
 
BIAS::Vector2< double > startpos
 
CameraViewExternals startposExt
 
CameraViewInternals startposInt
 

Detailed Description

base for (interactively) manipulating a (virtual) camera view.

Typically used by OpenGL as a glulookat Update. Navigator would be a good name, too.

Author
Jan Woetzel

Definition at line 60 of file CameraViewController.hh.

Constructor & Destructor Documentation

CameraViewController::~CameraViewController ( )
virtual

destructor

Definition at line 14 of file CameraViewController.cpp.

CameraViewController::CameraViewController ( )

Definition at line 20 of file CameraViewController.cpp.

References InitMembers().

Member Function Documentation

void CameraViewController::DisplayGL ( )
virtual

Definition at line 47 of file CameraViewController.cpp.

References DisplayGLExternal(), and DisplayGLInternal().

void CameraViewController::DisplayGLExternal ( )
virtual
void CameraViewController::DisplayGLInternal ( )
virtual
CameraViewExternals BIAS::CameraViewController::GetExternals ( ) const
inline

Definition at line 109 of file CameraViewController.hh.

References p_externals.

Referenced by DisplayGLExternal(), InitMembers(), MoveCoplanar(), MoveOrbit(), and Print().

CameraViewExternals& BIAS::CameraViewController::GetExternals ( )
inline

Definition at line 113 of file CameraViewController.hh.

References p_externals.

CameraViewInternals BIAS::CameraViewController::GetInternals ( ) const
inline
CameraViewInternals& BIAS::CameraViewController::GetInternals ( )
inline

Definition at line 122 of file CameraViewController.hh.

References p_internals.

void CameraViewController::InitMembers ( )
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)
void CameraViewController::MotionTranslationForward ( const BIAS::Vector2< double > &  pos)
void CameraViewController::MoveCoplanar ( const BIAS::Vector2< double > &  deltaN)
void CameraViewController::MoveOrbit ( const BIAS::Vector2< double > &  deltaN)
void CameraViewController::MoveToCenter ( const double &  fraction)
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().

void BIAS::CameraViewController::SetSize ( const BIAS::Vector2< double > &  sz)
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().

Member Data Documentation

BIAS::CameraViewExternals* BIAS::CameraViewController::p_externals
protected
BIAS::CameraViewInternals* BIAS::CameraViewController::p_internals
protected

Definition at line 147 of file CameraViewController.hh.

Referenced by GetInternals(), InitMembers(), and SetStartPos().

BIAS::Vector2<double> BIAS::CameraViewController::size
protected
BIAS::Vector2<double> BIAS::CameraViewController::startpos
protected
CameraViewExternals BIAS::CameraViewController::startposExt
protected

Definition at line 154 of file CameraViewController.hh.

Referenced by InitMembers(), and SetStartPos().

CameraViewInternals BIAS::CameraViewController::startposInt
protected

Definition at line 155 of file CameraViewController.hh.

Referenced by InitMembers(), and SetStartPos().


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