#include <Camera.h>
Inheritance diagram for nvsg::Camera:
Public Member Functions | |
virtual NVSG_API const Camera * | clone (void) const =0 |
Interface for creating a clone of this camera. | |
virtual NVSG_API void | addHeadLight (const LightSource *pLight, const nvmath::Vec3f &trans=nvmath::Vec3f(0.0f, 0.0f, 0.0f), const nvmath::Quatf &quat=nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f))=0 |
Interface for adding a headlight to this camera. | |
virtual NVSG_API bool | removeHeadLight (size_t index=0)=0 |
Interface for removing a headlight. | |
virtual NVSG_API size_t | getNumberOfHeadLights () const =0 |
Interface for getting the number of headlights attached to the camera. | |
virtual NVSG_API const LightSource * | getHeadLight (size_t index) const =0 |
Interface for getting a headlight of this camera. | |
virtual NVSG_API void | getHeadLightTrafo (nvmath::Vec3f &trans, nvmath::Quatf &quat, size_t index=0) const =0 |
Interface for getting the position/orientation of a camera's headlight. | |
virtual NVSG_API bool | setHeadLightTrafo (const nvmath::Vec3f &trans, const nvmath::Quatf &quat, size_t index=0)=0 |
Interface for setting the headlight position and orientation relative to the camera. | |
virtual NVSG_API float | getTargetDistance () const =0 |
Interface for getting the distance to the target point. | |
virtual NVSG_API void | setTargetDistance (float td)=0 |
Interface for setting the distance to the target point. | |
virtual NVSG_API const nvmath::Vec3f & | getPosition () const =0 |
Interface for getting the camera position. | |
virtual NVSG_API void | setPosition (const nvmath::Vec3f &pos)=0 |
Interface for setting the camera position. | |
virtual NVSG_API void | setUpVector (const nvmath::Vec3f &up)=0 |
Interface for setting the up direction. | |
virtual NVSG_API nvmath::Vec3f | getUpVector () const =0 |
Interface for getting the up direction. | |
virtual NVSG_API nvmath::Vec3f | getDirection () const =0 |
Interface for getting the viewing direction. | |
virtual NVSG_API void | setDirection (const nvmath::Vec3f &dir)=0 |
Interface for setting the viewing direction. | |
virtual NVSG_API void | setOrientation (const nvmath::Quatf &quat)=0 |
Interface for setting the orientation of the camera. | |
virtual NVSG_API void | setOrientation (const nvmath::Vec3f &dir, const nvmath::Vec3f &up)=0 |
Interface for setting the orientation of the camera. | |
virtual NVSG_API void | setOrientation (const nvmath::Vec3f &axis, float angle)=0 |
Interface for setting the orientation of the camera. | |
virtual NVSG_API nvmath::Quatf | getOrientation (void) const =0 |
Get the current orientation. | |
virtual NVSG_API nvmath::Mat44f | getWorldToViewMatrix () const =0 |
Interface for getting the world-to-view transformation. | |
virtual NVSG_API nvmath::Mat44f | getViewToWorldMatrix () const =0 |
Interface for getting the inverse world to view transformation. | |
virtual NVSG_API const nvmath::Vec2f & | getWindowOffset (void) const =0 |
Interface for getting the window offset. | |
virtual NVSG_API void | setWindowOffset (const nvmath::Vec2f &offset)=0 |
Interface for setting the window offset. | |
virtual NVSG_API void | getWindowRegion (nvmath::Vec2f &lowerLeft, nvmath::Vec2f &upperRight) const =0 |
Interface for getting the relative window region to view. | |
virtual NVSG_API void | setWindowRegion (const nvmath::Vec2f &lowerLeft, const nvmath::Vec2f &upperRight)=0 |
Interface for setting the relative window region to view. | |
virtual NVSG_API const nvmath::Vec2f & | getWindowSize () const =0 |
Interface for getting the window size. | |
virtual NVSG_API void | setWindowSize (const nvmath::Vec2f &size)=0 |
Interface for setting the window size. | |
virtual NVSG_API float | getAspectRatio () const =0 |
Interface for getting the current aspect ratio. | |
virtual NVSG_API void | setAspectRatio (float ar, bool keepWidth=false)=0 |
Interface for setting the aspect ratio. | |
virtual NVSG_API bool | isAutoClipPlanes () const =0 |
Interface for determining if auto clipping is on. | |
virtual NVSG_API void | setAutoClipPlanes (bool on)=0 |
Interface for enabling/disabling automatic clip plane determination. | |
virtual NVSG_API void | calcNearFarDistances (const nvmath::Sphere3f &sphere)=0 |
Interface for calculating the near and far clipping distances. | |
virtual NVSG_API float | getFarDistance () const =0 |
Interface for getting the far clipping distance. | |
virtual NVSG_API void | setFarDistance (float fd)=0 |
Interface for setting the far clipping distance. | |
virtual NVSG_API float | getNearDistance () const =0 |
Interface for getting the near clipping distance. | |
virtual NVSG_API void | setNearDistance (float nd)=0 |
Interface for setting the near clipping distance. | |
virtual NVSG_API void | move (const nvmath::Vec3f &delta)=0 |
Interface for moving the camera. | |
virtual NVSG_API void | orbit (const nvmath::Vec3f &axis, float rad)=0 |
Interface for orbiting the camera. | |
virtual NVSG_API void | rotate (const nvmath::Vec3f &axis, float rad, bool cameraRelative=true)=0 |
Interface for rotating the camera. | |
virtual NVSG_API void | zoom (float factor)=0 |
Interface for zooming by a certain factor. | |
virtual NVSG_API void | zoom (const nvmath::Sphere3f &sphere, float fovy=-1.0f)=0 |
Interface for zooming to fit view to a sphere. | |
void | moveX (float val) |
Move the camera to the right/left (camera coordinates). | |
void | moveY (float val) |
Move the camera up/down (camera coordinates). | |
void | moveZ (float val) |
Move the camera back/forth (camera coordinates). | |
void | orbitX (float rad) |
Orbit the camera around the camera's x-axis. | |
void | orbitY (float rad) |
Orbit the camera around the up direction. | |
void | orbitZ (float rad) |
Orbit the camera around the negative view direction. | |
void | rotateX (float rad, bool cameraRelative=true) |
Rotate the camera around the camera's x-axis. | |
void | rotateY (float rad, bool cameraRelative=true) |
Rotate the camera around the up direction. | |
void | rotateZ (float rad, bool cameraRelative=true) |
Rotate the camera around the negative view direction. | |
Protected Member Functions | |
NVSG_API | Camera () |
Protected constructor. | |
virtual NVSG_API | ~Camera (void) |
Protected destructor to prevent explicit creation on stack. |
|
Protected constructor.
|
|
Protected destructor to prevent explicit creation on stack.
|
|
Interface for creating a clone of this camera.
Implemented in nvsg::JitterCamera, nvsg::MonoCamera, nvsg::ParallelCamera, nvsg::PerspectiveCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for adding a headlight to this camera.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for removing a headlight.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the number of headlights attached to the camera.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting a headlight of this camera.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the position/orientation of a camera's headlight.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the headlight position and orientation relative to the camera.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the distance to the target point.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the distance to the target point.
Implemented in nvsg::JitterCamera, nvsg::PerspectiveCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the camera position.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the camera position.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the up direction.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the up direction.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the viewing direction.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the viewing direction.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the orientation of the camera.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the orientation of the camera.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the orientation of the camera.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Get the current orientation.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the world-to-view transformation.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the inverse world to view transformation.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the window offset.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the window offset.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the relative window region to view.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the relative window region to view.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the window size.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the window size.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the current aspect ratio.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the aspect ratio.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for determining if auto clipping is on. If auto clipping is on, the camera determines the optimal near and front clipping distances from the scene. If the user has additional information about the scene that might help clipping, it should be turned off.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for enabling/disabling automatic clip plane determination.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for calculating the near and far clipping distances.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the far clipping distance.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the far clipping distance.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for getting the near clipping distance.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for setting the near clipping distance.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for moving the camera.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for orbiting the camera.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for rotating the camera.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for zooming by a certain factor.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Interface for zooming to fit view to a sphere.
Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera. |
|
Move the camera to the right/left (camera coordinates).
|
|
Move the camera up/down (camera coordinates).
|
|
Move the camera back/forth (camera coordinates).
|
|
Orbit the camera around the camera's x-axis.
|
|
Orbit the camera around the up direction.
|
|
Orbit the camera around the negative view direction.
|
|
Rotate the camera around the camera's x-axis.
|
|
Rotate the camera around the up direction.
|
|
Rotate the camera around the negative view direction.
|