Coin Logo http://www.sim.no
http://www.coin3d.org

SoFrustumCamera.h
1 #ifndef COIN_SOFRUSTUM_CAMERA_H
2 #define COIN_SOFRUSTUM_CAMERA_H
3 
4 /**************************************************************************\
5  *
6  * This file is part of the Coin 3D visualization library.
7  * Copyright (C) 1998-2007 by Systems in Motion. All rights reserved.
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License
11  * ("GPL") version 2 as published by the Free Software Foundation.
12  * See the file LICENSE.GPL at the root directory of this source
13  * distribution for additional information about the GNU GPL.
14  *
15  * For using Coin with software that can not be combined with the GNU
16  * GPL, and for taking advantage of the additional benefits of our
17  * support services, please contact Systems in Motion about acquiring
18  * a Coin Professional Edition License.
19  *
20  * See http://www.coin3d.org/ for more information.
21  *
22  * Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
23  * http://www.sim.no/ sales@sim.no coin-support@coin3d.org
24  *
25 \**************************************************************************/
26 
27 #include <Inventor/nodes/SoSubNode.h>
28 #include <Inventor/nodes/SoCamera.h>
29 #include <Inventor/fields/SoSFFloat.h>
30 
31 class COIN_DLL_API SoFrustumCamera : public SoCamera {
32  typedef SoCamera inherited;
33 
34  SO_NODE_HEADER(SoFrustumCamera);
35 
36 public:
37  static void initClass(void);
38  SoFrustumCamera(void);
39 
44 
45  virtual void scaleHeight(float scalefactor);
46  virtual SbViewVolume getViewVolume(float useaspectratio = 0.0f) const;
47 
48 protected:
49  virtual ~SoFrustumCamera();
50  virtual void viewBoundingBox(const SbBox3f & box, float aspect, float slack);
51 };
52 
53 #endif // COIN_SOFRUSTUM_CAMERA_H
SbViewVolume::translateCamera
void translateCamera(const SbVec3f &v)
Definition: SbViewVolume.cpp:502
SoFrustumCamera::left
SoSFFloat left
Definition: SoFrustumCamera.h:40
SoFrustumCamera::~SoFrustumCamera
virtual ~SoFrustumCamera()
Definition: SoFrustumCamera.cpp:89
SoCamera::nearDistance
SoSFFloat nearDistance
Definition: SoCamera.h:74
SbSphere::circumscribe
void circumscribe(const SbBox3f &box)
Definition: SbSphere.cpp:136
SbSphere::getRadius
float getRadius(void) const
Definition: SbSphere.cpp:125
SbBox3f::getCenter
SbVec3f getCenter(void) const
Definition: SbBox3f.cpp:161
SoCamera::focalDistance
SoSFFloat focalDistance
Definition: SoCamera.h:76
SbViewVolume::frustum
void frustum(float left, float right, float bottom, float top, float nearval, float farval)
Definition: SbViewVolume.cpp:468
SoFrustumCamera::viewBoundingBox
virtual void viewBoundingBox(const SbBox3f &box, float aspect, float slack)
Definition: SoFrustumCamera.cpp:141
SoCamera::getViewVolume
virtual SbViewVolume getViewVolume(float useaspectratio=0.0f) const =0
SoCamera::scaleHeight
virtual void scaleHeight(float scalefactor)=0
SoFrustumCamera::scaleHeight
virtual void scaleHeight(float scalefactor)
Definition: SoFrustumCamera.cpp:102
SbBox3f
The SbBox3f class is an abstraction for an axis aligned 3 dimensional box.
Definition: SbBox3f.h:37
SoDebugError::postWarning
static void postWarning(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:324
SoFrustumCamera::top
SoSFFloat top
Definition: SoFrustumCamera.h:42
SoFrustumCamera::bottom
SoSFFloat bottom
Definition: SoFrustumCamera.h:43
SoCamera::viewBoundingBox
virtual void viewBoundingBox(const SbBox3f &box, float aspect, float slack)=0
SoFrustumCamera::right
SoSFFloat right
Definition: SoFrustumCamera.h:41
SbSphere
The SbSphere class is a representation of a sphere.
Definition: SbSphere.h:33
SoBase
The SoBase class is the top-level superclass for a number of class-hierarchies.
Definition: SoBase.h:41
SoCamera::farDistance
SoSFFloat farDistance
Definition: SoCamera.h:75
SoCamera
The SoCamera class is the abstract base class for camera definition nodes.
Definition: SoCamera.h:54
SbViewVolume::rotateCamera
void rotateCamera(const SbRotation &q)
Definition: SbViewVolume.cpp:482
SbVec3f
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition: SbVec3f.h:37
SbVec3f::dot
float dot(const SbVec3f &v) const
Definition: SbVec3f.cpp:282
SbRotation::multVec
void multVec(const SbVec3f &src, SbVec3f &dst) const
Definition: SbRotation.cpp:593
SbVec3f::normalize
float normalize(void)
Definition: SbVec3f.cpp:436
SbViewVolume
The SbViewVolume class is a viewing volume in 3D space.
Definition: SbViewVolume.h:41
SoSFFloat
The SoSFFloat class is a container for a floating point value.
Definition: SoSFFloat.h:30
SoCamera::position
SoSFVec3f position
Definition: SoCamera.h:71
SoCamera::orientation
SoSFRotation orientation
Definition: SoCamera.h:72
SoFrustumCamera
The SoFrustumCamera class defines a camera with a generic frustum..
Definition: SoFrustumCamera.h:31
SbBox3f::isEmpty
SbBool isEmpty(void) const
Definition: SbBox3f.cpp:436
SoFrustumCamera::getViewVolume
virtual SbViewVolume getViewVolume(float useaspectratio=0.0f) const
Definition: SoFrustumCamera.cpp:110
SoFrustumCamera::SoFrustumCamera
SoFrustumCamera(void)
Definition: SoFrustumCamera.cpp:76

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Wed Jul 24 2019 for Coin by Doxygen. 1.8.17