Summary of Camera Objects
C Summary
Constants
Camera Types
#define kQ3CameraTypeOrthographic Q3_OBJECT_TYPE('o','r','t','h')
#define kQ3CameraTypeViewAngleAspect Q3_OBJECT_TYPE('v','a','n','a')
#define kQ3CameraTypeViewPlane Q3_OBJECT_TYPE('v','w','p','l')
Data Types
Camera Placement Structure
typedef struct TQ3CameraPlacement {
TQ3Point3D cameraLocation;
TQ3Point3D pointOfInterest;
TQ3Vector3D upVector;
} TQ3CameraPlacement;
Camera Range Structure
typedef struct TQ3CameraRange {
float hither;
float yon;
} TQ3CameraRange;
Camera View Port
typedef struct TQ3CameraViewPort {
TQ3Point2D origin;
float width;
float height;
} TQ3CameraViewPort;
Camera Data Structure
typedef struct TQ3CameraData {
TQ3CameraPlacement placement;
TQ3CameraRange range;
TQ3CameraViewPort viewPort;
} TQ3CameraData;
Orthographic Camera Data Structure
typedef struct TQ3OrthographicCameraData {
TQ3CameraData cameraData;
float left;
float top;
float right;
float bottom;
} TQ3OrthographicCameraData;
View Plane Camera Data Structure
typedef struct TQ3ViewPlaneCameraData {
TQ3CameraData cameraData;
float viewPlane;
float halfWidthAtViewPlane;
float halfHeightAtViewPlane;
float centerXOnViewPlane;
float centerYOnViewPlane;
} TQ3ViewPlaneCameraData;
Aspect Ratio Camera Data Structure
typedef struct TQ3ViewAngleAspectCameraData {
TQ3CameraData cameraData;
float fov;
float aspectRatioXToY;
} TQ3ViewAngleAspectCameraData;
Camera Objects Routines
Managing Cameras
TQ3ObjectType Q3Camera_GetType(TQ3CameraObject camera);
TQ3Status Q3Camera_GetData(TQ3CameraObject camera,
TQ3CameraData *cameraData);
TQ3Status Q3Camera_SetData(TQ3CameraObject camera,
const TQ3CameraData *cameraData);
TQ3Status Q3Camera_GetPlacement (
TQ3CameraObject camera,
TQ3CameraPlacement *placement);
TQ3Status Q3Camera_SetPlacement (
TQ3CameraObject camera,
const TQ3CameraPlacement *placement);
TQ3Status Q3Camera_GetRange(TQ3CameraObject camera,
TQ3CameraRange *range);
TQ3Status Q3Camera_SetRange(TQ3CameraObject camera,
const TQ3CameraRange *range);
TQ3Status Q3Camera_GetViewPort(TQ3CameraObject camera,
TQ3CameraViewPort *viewPort);
TQ3Status Q3Camera_SetViewPort(TQ3CameraObject camera,
const TQ3CameraViewPort *viewPort);
TQ3Status Q3Camera_GetWorldToView (
TQ3CameraObject camera,
TQ3Matrix4x4 *worldToView);
TQ3Status Q3Camera_GetViewToFrustum (
TQ3CameraObject camera,
TQ3Matrix4x4 *viewToFrustum);
TQ3Status Q3Camera_GetWorldToFrustum (
TQ3CameraObject camera,
TQ3Matrix4x4 *worldToFrustum);
Managing Orthographic Cameras
TQ3CameraObject Q3OrthographicCamera_New (
const TQ3OrthographicCameraData
*orthographicData);
TQ3Status Q3OrthographicCamera_GetData (
TQ3CameraObject camera,
TQ3OrthographicCameraData *cameraData);
TQ3Status Q3OrthographicCamera_SetData (
TQ3CameraObject camera,
const TQ3OrthographicCameraData *cameraData);
TQ3Status Q3OrthographicCamera_GetLeft (
TQ3CameraObject camera, float *left);
TQ3Status Q3OrthographicCamera_SetLeft (
TQ3CameraObject camera, float left);
TQ3Status Q3OrthographicCamera_GetTop (
TQ3CameraObject camera, float *top);
TQ3Status Q3OrthographicCamera_SetTop (
TQ3CameraObject camera, float top);
TQ3Status Q3OrthographicCamera_GetRight (
TQ3CameraObject camera, float *right);
TQ3Status Q3OrthographicCamera_SetRight (
TQ3CameraObject camera, float right);
TQ3Status Q3OrthographicCamera_GetBottom (
TQ3CameraObject camera, float *bottom);
TQ3Status Q3OrthographicCamera_SetBottom (
TQ3CameraObject camera, float bottom);
Managing View Plane Cameras
TQ3CameraObject Q3ViewPlaneCamera_New (
const TQ3ViewPlaneCameraData *cameraData);
TQ3Status Q3ViewPlaneCamera_GetData (
TQ3CameraObject camera,
TQ3ViewPlaneCameraData *cameraData);
TQ3Status Q3ViewPlaneCamera_SetData (
TQ3CameraObject camera,
const TQ3ViewPlaneCameraData *cameraData);
TQ3Status Q3ViewPlaneCamera_GetViewPlane (
TQ3CameraObject camera, float *viewPlane);
TQ3Status Q3ViewPlaneCamera_SetViewPlane (
TQ3CameraObject camera, float viewPlane);
TQ3Status Q3ViewPlaneCamera_GetHalfWidth (
TQ3CameraObject camera,
float *halfWidthAtViewPlane);
TQ3Status Q3ViewPlaneCamera_SetHalfWidth (
TQ3CameraObject camera,
float halfWidthAtViewPlane);
TQ3Status Q3ViewPlaneCamera_GetHalfHeight (
TQ3CameraObject camera,
float *halfHeightAtViewPlane);
TQ3Status Q3ViewPlaneCamera_SetHalfHeight (
TQ3CameraObject camera,
float halfHeightAtViewPlane);
TQ3Status Q3ViewPlaneCamera_GetCenterX (
TQ3CameraObject camera,
float *centerXOnViewPlane);
TQ3Status Q3ViewPlaneCamera_SetCenterX (
TQ3CameraObject camera,
float centerXOnViewPlane);
TQ3Status Q3ViewPlaneCamera_GetCenterY (
TQ3CameraObject camera,
float *centerYOnViewPlane);
TQ3Status Q3ViewPlaneCamera_SetCenterY (
TQ3CameraObject camera,
float centerYOnViewPlane);
Managing Aspect Ratio Cameras
TQ3CameraObject Q3ViewAngleAspectCamera_New (
const TQ3ViewAngleAspectCameraData *cameraData);
TQ3Status Q3ViewAngleAspectCamera_GetData (
TQ3CameraObject camera,
TQ3ViewAngleAspectCameraData *cameraData);
TQ3Status Q3ViewAngleAspectCamera_SetData (
TQ3CameraObject camera,
const TQ3ViewAngleAspectCameraData *cameraData);
TQ3Status Q3ViewAngleAspectCamera_GetFOV (
TQ3CameraObject camera, float *fov);
TQ3Status Q3ViewAngleAspectCamera_SetFOV (
TQ3CameraObject camera, float fov);
TQ3Status Q3ViewAngleAspectCamera_GetAspectRatio (
TQ3CameraObject camera,
float *aspectRatioXToY);
TQ3Status Q3ViewAngleAspectCamera_SetAspectRatio (
TQ3CameraObject camera,
float aspectRatioXToY);
Errors
kQ3ErrorInvalidCameraValues | Some camera values are invalid |