Cinder  0.9.1
Public Member Functions | List of all members
cinder::CameraUi Class Reference

#include <CameraUi.h>

Public Member Functions

 CameraUi ()
 
 CameraUi (CameraPersp *camera, const app::WindowRef &window=nullptr, int signalPriority=0)
 
 CameraUi (const CameraUi &rhs)
 
 ~CameraUi ()
 
CameraUioperator= (const CameraUi &rhs)
 
void connect (const app::WindowRef &window, int signalPriority=0)
 
void disconnect ()
 
bool isConnected () const
 
void enable (bool enable=true)
 
void disable ()
 
bool isEnabled () const
 
signals::Signal< void()> & getSignalCameraChange ()
 
void mouseDown (app::MouseEvent &event)
 
void mouseUp (app::MouseEvent &event)
 
void mouseWheel (app::MouseEvent &event)
 
void mouseDrag (app::MouseEvent &event)
 
void mouseDown (const vec2 &mousePos)
 
void mouseUp (const vec2 &mousePos)
 
void mouseWheel (float increment)
 
void mouseDrag (const vec2 &mousePos, bool leftDown, bool middleDown, bool rightDown)
 
const CameraPerspgetCamera () const
 
void setCamera (CameraPersp *camera)
 
void setWindowSize (const ivec2 &windowSizePixels)
 
void setMouseWheelMultiplier (float multiplier)
 
float getMouseWheelMultiplier () const
 
void setMinimumPivotDistance (float minPivotDistance)
 
float getMinimumPivotDistance () const
 

Detailed Description

Enables user interaction with a CameraPersp via the mouse.

Constructor & Destructor Documentation

cinder::CameraUi::CameraUi ( )
cinder::CameraUi::CameraUi ( CameraPersp camera,
const app::WindowRef window = nullptr,
int  signalPriority = 0 
)

Constructs a CameraUi which manipulates camera directly (and consequently expects its pointer to remain valid). Optionally attaches to mouse/window signals of window, with priority signalPriority.

cinder::CameraUi::CameraUi ( const CameraUi rhs)
cinder::CameraUi::~CameraUi ( )

Member Function Documentation

CameraUi & cinder::CameraUi::operator= ( const CameraUi rhs)
void cinder::CameraUi::connect ( const app::WindowRef window,
int  signalPriority = 0 
)

Connects to mouseDown, mouseDrag, mouseWheel and resize signals of window, with optional priority signalPriority.

void cinder::CameraUi::disconnect ( )

Disconnects all signal handlers.

bool cinder::CameraUi::isConnected ( ) const

Returns whether the CameraUi is connected to mouse and window signal handlers.

void cinder::CameraUi::enable ( bool  enable = true)

Sets whether the CameraUi will modify its CameraPersp either through its Window signals or through the various mouse*() member functions. Does not prevent resize handling.

void cinder::CameraUi::disable ( )

Prevents the CameraUi from modifying its CameraPersp either through its Window signals or through the various mouse*() member functions. Does not prevent resize handling.

bool cinder::CameraUi::isEnabled ( ) const

Returns whether the CameraUi will modify its CameraPersp either through its Window signals or through the various mouse*() member functions. Does not prevent resize handling.

signals::Signal< void()> & cinder::CameraUi::getSignalCameraChange ( )

Signal emitted whenever the user modifies the camera.

void cinder::CameraUi::mouseDown ( app::MouseEvent event)
void cinder::CameraUi::mouseUp ( app::MouseEvent event)
void cinder::CameraUi::mouseWheel ( app::MouseEvent event)
void cinder::CameraUi::mouseDrag ( app::MouseEvent event)
void cinder::CameraUi::mouseDown ( const vec2 &  mousePos)
void cinder::CameraUi::mouseUp ( const vec2 &  mousePos)
void cinder::CameraUi::mouseWheel ( float  increment)
void cinder::CameraUi::mouseDrag ( const vec2 &  mousePos,
bool  leftDown,
bool  middleDown,
bool  rightDown 
)
const CameraPersp& cinder::CameraUi::getCamera ( ) const

Returns a reference to the currently controlled CameraPersp.

void cinder::CameraUi::setCamera ( CameraPersp camera)

Specifices which CameraPersp should be modified.

void cinder::CameraUi::setWindowSize ( const ivec2 &  windowSizePixels)

Sets the size of the window in pixels when no WindowRef is supplied with connect()

void cinder::CameraUi::setMouseWheelMultiplier ( float  multiplier)

Sets the multiplier on mouse wheel zooming. Larger values zoom faster. Negative values invert the direction. Default is 1.2.

float cinder::CameraUi::getMouseWheelMultiplier ( ) const

Returns the multiplier on mouse wheel zooming. Default is 1.2.

void cinder::CameraUi::setMinimumPivotDistance ( float  minPivotDistance)

Sets the minimum allowable pivot distance. Default is 1.0. If the user dollies closer than minPivotDistance the pivotDistance remains minPivotDistance.

float cinder::CameraUi::getMinimumPivotDistance ( ) const

Returns the minimum allowable pivot distance. Default is 1.0.


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