1 #ifndef COIN_SOCAMERA_H
2 #define COIN_SOCAMERA_H
36 #include <Inventor/nodes/SoSubNode.h>
37 #include <Inventor/SbViewportRegion.h>
38 #include <Inventor/SbViewVolume.h>
39 #include <Inventor/fields/SoSFRotation.h>
40 #include <Inventor/fields/SoSFEnum.h>
41 #include <Inventor/fields/SoSFVec3f.h>
42 #include <Inventor/fields/SoSFFloat.h>
44 #include <Inventor/SbVec3f.h>
45 #include <Inventor/SbMatrix.h>
46 #include <Inventor/SbBox3f.h>
48 #define SO_ASPECT_SQUARE 1.0f
49 #define SO_ASPECT_VIDEO (4.0f/3.0f)
50 #define SO_ASPECT_35mm_ACADEMY 1.371
51 #define SO_ASPECT_16mm 1.369
52 #define SO_ASPECT_35mm_FULL 1.33333
53 #define SO_ASPECT_70mm 2.287
54 #define SO_ASPECT_CINEMASCOPE 2.35
55 #define SO_ASPECT_HDTV (16.0f/9.0f)
56 #define SO_ASPECT_PANAVISION 2.361
57 #define SO_ASPECT_35mm (3.0f/2.0f)
58 #define SO_ASPECT_VISTAVISION 2.301
70 static void initClass(
void);
73 CROP_VIEWPORT_FILL_FRAME,
74 CROP_VIEWPORT_LINE_FRAME,
75 CROP_VIEWPORT_NO_FRAME,
92 void pointAt(
const SbVec3f & targetpoint);
93 void pointAt(
const SbVec3f & targetpoint,
const SbVec3f & upvector);
94 virtual void scaleHeight(
float scalefactor) = 0;
95 virtual SbViewVolume getViewVolume(
float useaspectratio = 0.0f)
const = 0;
97 const float slack = 1.0f);
99 const float slack = 1.0f);
108 void setStereoMode(StereoMode mode);
109 StereoMode getStereoMode(
void)
const;
111 void setStereoAdjustment(
float adjustment);
112 float getStereoAdjustment(
void)
const;
113 void setBalanceAdjustment(
float adjustment);
114 float getBalanceAdjustment(
void)
const;
125 virtual void viewBoundingBox(
const SbBox3f & box,
float aspect,
131 virtual void jitter(
int numpasses,
int curpass,
138 const SbBool considermodelmatrix = TRUE);
141 const int viewportmapping,
147 StereoMode stereomode;
148 float stereoadjustment;
149 float balanceadjustment;
152 friend class SoCameraP;
155 #endif // !COIN_SOCAMERA_H
The SoSFVec3f class is a container for an SbVec3f vector.
Definition: SoSFVec3f.h:40
Definition: SoCamera.h:104
The SoAudioRenderAction class renders the aural parts of the scene graph.
Definition: SoAudioRenderAction.h:42
virtual void rayPick(SoRayPickAction *action)
Definition: SoNode.cpp:1139
SoSFFloat nearDistance
Definition: SoCamera.h:84
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition: SbMatrix.h:47
The SoSFRotation class is a container for an SbRotation.
Definition: SoSFRotation.h:40
SoSFFloat focalDistance
Definition: SoCamera.h:86
virtual void audioRender(SoAudioRenderAction *action)
Definition: SoNode.cpp:1307
virtual void GLRender(SoGLRenderAction *action)
Definition: SoNode.cpp:954
Definition: SoCamera.h:103
The SbBox3f class is an abstraction for an axis aligned 3 dimensional box.
Definition: SbBox3f.h:46
The SoAction class is the base class for all traversal actions.
Definition: SoAction.h:77
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: SoNode.cpp:894
virtual void callback(SoCallbackAction *action)
Definition: SoNode.cpp:1026
The SoPath class is a container class for traversal path descriptions.
Definition: SoPath.h:52
StereoMode
Definition: SoCamera.h:102
The SoGetMatrixAction class is an action for accumulating the transformation matrix of a subgraph.
Definition: SoGetMatrixAction.h:46
virtual void getMatrix(SoGetMatrixAction *action)
Definition: SoNode.cpp:1053
The SoSFEnum class is a container for an enum value.
Definition: SoSFEnum.h:40
The SoBase class is the top-level superclass for a number of class-hierarchies.
Definition: SoBase.h:45
SoSFFloat farDistance
Definition: SoCamera.h:85
The SoCamera class is the abstract base class for camera definition nodes.
Definition: SoCamera.h:64
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition: SbVec3f.h:51
The SoGetBoundingBoxAction class calculates bounding boxes for nodes and subgraphs.
Definition: SoGetBoundingBoxAction.h:45
The SoCallbackAction class invokes callbacks at specific nodes.
Definition: SoCallbackAction.h:80
The SbViewportRegion class is a viewport within a full window.
Definition: SbViewportRegion.h:40
ViewportMapping
Definition: SoCamera.h:72
virtual void handleEvent(SoHandleEventAction *action)
Definition: SoNode.cpp:1083
The SbViewVolume class is a viewing volume in 3D space.
Definition: SbViewVolume.h:50
The SoSFFloat class is a container for a floating point value.
Definition: SoSFFloat.h:39
SoSFVec3f position
Definition: SoCamera.h:81
The SoNode class is the base class for nodes used in scene graphs.
Definition: SoNode.h:56
SoSFFloat aspectRatio
Definition: SoCamera.h:83
The SoHandleEventAction class distributes user events to the scene.
Definition: SoHandleEventAction.h:46
SoSFEnum viewportMapping
Definition: SoCamera.h:80
SoSFRotation orientation
Definition: SoCamera.h:82
static SbMatrix identity(void)
Definition: SbMatrix.cpp:848
The SoRayPickAction class does ray intersection with scene graphs.
Definition: SoRayPickAction.h:50
virtual void doAction(SoAction *action)
Definition: SoNode.cpp:809
#define SO_NODE_ABSTRACT_HEADER(classname)
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: SoNode.cpp:865
The SoGLRenderAction class renders the scene graph with OpenGL calls.
Definition: SoGLRenderAction.h:50
The SoGetPrimitiveCountAction class counts the primitives in a scene.
Definition: SoGetPrimitiveCountAction.h:44