1 #ifndef COIN_SOCAMERA_H
2 #define COIN_SOCAMERA_H
27 #include <Inventor/nodes/SoSubNode.h>
28 #include <Inventor/SbViewportRegion.h>
29 #include <Inventor/SbViewVolume.h>
30 #include <Inventor/fields/SoSFRotation.h>
31 #include <Inventor/fields/SoSFEnum.h>
32 #include <Inventor/fields/SoSFVec3f.h>
33 #include <Inventor/fields/SoSFFloat.h>
35 #include <Inventor/SbVec3f.h>
36 #include <Inventor/SbBox3f.h>
38 #define SO_ASPECT_SQUARE 1.0f
39 #define SO_ASPECT_VIDEO (4.0f/3.0f)
40 #define SO_ASPECT_35mm_ACADEMY 1.371
41 #define SO_ASPECT_16mm 1.369
42 #define SO_ASPECT_35mm_FULL 1.33333
43 #define SO_ASPECT_70mm 2.287
44 #define SO_ASPECT_CINEMASCOPE 2.35
45 #define SO_ASPECT_HDTV (16.0f/9.0f)
46 #define SO_ASPECT_PANAVISION 2.361
47 #define SO_ASPECT_35mm (3.0f/2.0f)
48 #define SO_ASPECT_VISTAVISION 2.301
60 static void initClass(
void);
63 CROP_VIEWPORT_FILL_FRAME,
64 CROP_VIEWPORT_LINE_FRAME,
65 CROP_VIEWPORT_NO_FRAME,
78 void pointAt(
const SbVec3f & targetpoint);
79 void pointAt(
const SbVec3f & targetpoint,
const SbVec3f & upvector);
80 virtual void scaleHeight(
float scalefactor) = 0;
81 virtual SbViewVolume getViewVolume(
float useaspectratio = 0.0f)
const = 0;
83 const float slack = 1.0f);
85 const float slack = 1.0f);
94 void setStereoMode(StereoMode mode);
95 StereoMode getStereoMode(
void)
const;
97 void setStereoAdjustment(
float adjustment);
98 float getStereoAdjustment(
void)
const;
99 void setBalanceAdjustment(
float adjustment);
100 float getBalanceAdjustment(
void)
const;
115 virtual void viewBoundingBox(
const SbBox3f & box,
float aspect,
117 virtual void jitter(
int numpasses,
int curpass,
124 const SbBool considermodelmatrix = TRUE);
127 const int viewportmapping,
133 StereoMode stereomode;
134 float stereoadjustment;
135 float balanceadjustment;
138 friend class SoCameraP;
141 #endif // !COIN_SOCAMERA_H