12#ifndef CAMERASHOWCASECONTROL_H_6014714286
13#define CAMERASHOWCASECONTROL_H_6014714286
15#include <Carna/Carna.h>
51 const std::unique_ptr< Details > pimpl;
Defines Carna::base::CameraControl.
Defines interface for intuitive Camera control.
Represents a spatial scene element. It's location is determined relatively to another spatial that is...
Implements base::CameraControl, rotates the camera around its parent node. The camera movement is bou...
virtual void rotateVertically(float radians) override
Rotates the camera around its local vector, shifted to its origin, by radians.
void setMinDistance(float minDistance)
Disallows the camera to move closer than minDistance to its origin. If the camera currently is closer...
virtual void moveAxially(float units) override
Moves the camera along its local vector by units. The location is bounded by the current values for ...
CameraShowcaseControl()
Instantiates.
virtual void setCamera(base::Spatial &) override
Sets the node that is to be controlled by this instance.
float maxDistance() const
Tells maximum allowed distance of camera to its origin.
void setMaxDistance(float maxDistance)
Disallows the camera to move further away than maxDistance from its origin. If the camera currently i...
float minDistance() const
Tells minimum allowed distance of camera to its origin.
virtual void rotateHorizontally(float radians) override
Rotates the camera around the vector of its origin by radians.
virtual ~CameraShowcaseControl()
Deletes.
static const float DEFAULT_MIN_DISTANCE
Holds default minimum allowed distance of the camera to its origin.
static const float DEFAULT_MAX_DISTANCE
Holds default maximum allowed distance of the camera to its origin.
virtual void moveLaterally(float unitsX, float unitsY) override
Moves the camera along its x-/y-axis. The parameters of this movement depend on the implementation.
#define NON_COPYABLE
Features class it is placed in as non-copyable.