Perspective camera node. More...
#include <Inventor/nodes/SoPerspectiveCamera.h>
Public Member Functions | |
virtual SoType | getTypeId () const |
SoPerspectiveCamera () | |
virtual void | scaleHeight (float scaleFactor) |
virtual SbViewVolume | getViewVolume (float useAspectRatio=0.0) const |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Public Attributes | |
SoSFFloat | heightAngle |
Perspective camera node.
A perspective camera defines a perspective projection from a viewpoint. The viewing volume for a perspective camera is a truncated right pyramid.
By default, the camera is located at (0,0,1) and looks along the negative z-axis; the position and orientation fields can be used to change these values. The heightAngle field defines the total vertical angle of the viewing volume; this and the aspectRatio field determine the horizontal angle.
See the base class SoCamera for more information about the inherited fields.
Useful algorithms for manipulating a camera are provided in the SoCameraInteractor class.
viewportMapping | ADJUST_CAMERA |
position | 0 0 1 |
orientation | 0 0 1 0 |
aspectRatio | 1 |
nearDistance | 1 |
farDistance | 10 |
focalDistance | 5 |
heightAngle | 0.785398 |
SbViewVolume, SoOrthographicCamera, SoCameraInteractor
SoPerspectiveCamera::SoPerspectiveCamera | ( | ) |
Creates a perspective camera node with default settings.
static SoType SoPerspectiveCamera::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoCamera.
Reimplemented in SoStereoCamera.
virtual SoType SoPerspectiveCamera::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from SoCamera.
Reimplemented in SoStereoCamera.
virtual SbViewVolume SoPerspectiveCamera::getViewVolume | ( | float | useAspectRatio = 0.0 |
) | const [virtual] |
Fills in a view volume structure, based on the camera.
If the useAspectRatio field is not 0.0 (the default), the camera uses that ratio instead of the one it has.
Note that in ADJUST_CAMERA mode, Inventor automatically modifies the view volume based on the aspect ratio of the viewport. However the view volume values are not changed, only the values passed to OpenGL. In order to get the modified values (i.e., the actual view volume used to render) you must pass the actual viewport aspect ratio to getViewVolume.
Implements SoCamera.
virtual void SoPerspectiveCamera::scaleHeight | ( | float | scaleFactor | ) | [virtual] |
Scales the height of the camera, in this case, the heightAngle field.
Implements SoCamera.
Vertical angle of the viewing volume.