38 _initialPosition = rhs._initialPosition;
39 _initialOrientation = rhs._initialOrientation;
53 _initialPosition = position;
54 _initialTarget = target;
55 _initialOrientation = orientation;
56 _initialOrientation = glm::normalize(_initialOrientation);
57 set(position, orientation, target);
62 set(_initialPosition, _initialOrientation, _initialTarget);
69 return os << position <<
", " << orientation;
The Camera class is an abstract interface for a camera in a 3D graphics application....
PLATFORM_API void setInitialState(const Vector3d &position, const Quaterniond &orientation, const Vector3d &target=Vector3d(0.0, 0.0, 0.0))
Sets the initial state of the camera.
PLATFORM_API void reset()
Resets the camera to its initial values.
PLATFORM_API void setTarget(const Vector3d &target)
Sets the camera target.
PLATFORM_API void setPosition(const Vector3d &position)
Sets the camera position.
PLATFORM_API const Vector3d & getPosition() const
Gets the camera position.
PLATFORM_API Camera & operator=(const Camera &rhs)
Copy constructor.
PLATFORM_API void set(const Vector3d &position, const Quaterniond &orientation, const Vector3d &target=Vector3d(0.0, 0.0, 0.0))
Sets the position, orientation quaternion, and target of the camera.
PLATFORM_API const Quaterniond & getOrientation() const
Gets the camera orientation quaternion.
PLATFORM_API void setOrientation(Quaterniond orientation)
Sets the camera orientation quaternion.
void clonePropertiesFrom(const PropertyObject &obj)
glm::vec< 3, double > Vector3d
glm::tquat< double, glm::highp > Quaterniond
Double quaternion.
std::ostream & operator<<(std::ostream &os, const Box< T > &aabb)