Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

osg::PerspectiveCameraBase Class Reference

PerspectiveCamera Base Class.

#include <OSGPerspectiveCameraBase.h>

Inheritance diagram for osg::PerspectiveCameraBase:

osg::Camera osg::CameraBase osg::AttachmentContainer osg::FieldContainer osg::PerspectiveCamera osg::OffCenterPerspectiveCameraBase osg::OffCenterPerspectiveCamera List of all members.

Setup Rendering

*virtual void setup (DrawActionBase *action, const Viewport &port)
virtual void setupProjection (DrawActionBase *action, const Viewport &port)
virtual void draw (DrawAction *action, const Viewport &port)

Access Parameters

*virtual void getProjection (Matrix &result, UInt32 width, UInt32 height)
virtual void getProjectionTranslation (Matrix &result, UInt32 width, UInt32 height)
virtual void getViewing (Matrix &result, UInt32 width, UInt32 height)
virtual void getFrustum (FrustumVolume &result, const Viewport &port)
virtual void getWorldToScreen (Matrix &result, const Viewport &port)

Public Types

typedef PerspectiveCameraPtr Ptr
enum  { FovFieldId = Inherited::NextFieldId, AspectFieldId = FovFieldId + 1, NextFieldId = AspectFieldId + 1 }

Public Member Functions

transformation
*virtual void changed (BitVector whichField, UInt32 origin)
dump
*virtual void dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const
Field Get
*virtual SFNodePtrgetSFBeacon (void)
virtual SFReal32getSFNear (void)
virtual SFReal32getSFFar (void)
virtual NodePtrgetBeacon (void)
virtual const NodePtrgetBeacon (void) const
virtual Real32getNear (void)
virtual const Real32getNear (void) const
virtual Real32getFar (void)
virtual const Real32getFar (void) const
Field Set
*virtual void setBeacon (const NodePtr &value)
virtual void setNear (const Real32 &value)
virtual void setFar (const Real32 &value)
FieldContainer Get
*virtual FieldContainerTypegetType (void)
virtual const FieldContainerTypegetType (void) const
virtual UInt32 getContainerSize (void) const
Field Get
*SFReal32getSFFov (void)
 Get the PerspectiveCamera::_sfFov field.
SFReal32getSFAspect (void)
 Get the PerspectiveCamera::_sfAspect field.
Real32getFov (void)
 Get the value of the PerspectiveCamera::_sfFov field.
const Real32getFov (void) const
 Get the value of the PerspectiveCamera::_sfFov field.
Real32getAspect (void)
 Get the value of the PerspectiveCamera::_sfAspect field.
const Real32getAspect (void) const
 Get the value of the PerspectiveCamera::_sfAspect field.
Field Set
*void setFov (const Real32 &value)
 Set the value of the PerspectiveCamera::_sfFov field.
void setAspect (const Real32 &value)
 Set the value of the PerspectiveCamera::_sfAspect field.
Binary Access
*virtual UInt32 getBinSize (const BitVector &whichField)
virtual void copyToBin (BinaryDataHandler &pMem, const BitVector &whichField)
virtual void copyFromBin (BinaryDataHandler &pMem, const BitVector &whichField)
Copy
*virtual FieldContainerPtr shallowCopy (void) const
transformation
*virtual void changed (BitVector whichField, UInt32 origin)
dump
*virtual void dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const
Field Get
*virtual SFNodePtrgetSFBeacon (void)
virtual SFReal32getSFNear (void)
virtual SFReal32getSFFar (void)
virtual NodePtrgetBeacon (void)
virtual const NodePtrgetBeacon (void) const
virtual Real32getNear (void)
virtual const Real32getNear (void) const
virtual Real32getFar (void)
virtual const Real32getFar (void) const
Field Set
*virtual void setBeacon (const NodePtr &value)
virtual void setNear (const Real32 &value)
virtual void setFar (const Real32 &value)

Static Public Member Functions

Class Get
*static FieldContainerTypegetClassType (void)
 access the type of the class
static UInt32 getClassTypeId (void)
 access the numerical type of the class
Construction
*static PerspectiveCameraPtr create (void)
 create a new instance of the class
static PerspectiveCameraPtr createEmpty (void)
 create an empty new instance of the class, do not copy the prototype

Static Public Attributes

static const osg::BitVector FovFieldMask
static const osg::BitVector AspectFieldMask
static const osg::BitVector MTInfluenceMask
static const osg::BitVector BeaconFieldMask
static const osg::BitVector NearFieldMask
static const osg::BitVector FarFieldMask
static const BitVector AttachmentsFieldMask
static const BitVector NextFieldMask

Protected Member Functions

Constructors
PerspectiveCameraBase (void)
 PerspectiveCameraBase (const PerspectiveCameraBase &source)
Destructors
*virtual ~PerspectiveCameraBase (void)
Sync
*void executeSyncImpl (PerspectiveCameraBase *pOther, const BitVector &whichField)
virtual void executeSync (FieldContainer &other, const BitVector &whichField)

Protected Attributes

Fields
*SFReal32 _sfFov
SFReal32 _sfAspect

Private Types

typedef Camera Inherited

Private Member Functions

void operator= (const PerspectiveCameraBase &source)

Static Private Attributes

static FieldDescription_desc []
 PerspectiveCamera description.
static FieldContainerType _type

Friends

class FieldContainer

Detailed Description

Definition at line 82 of file OSGPerspectiveCameraBase.h.


Member Typedef Documentation

typedef Camera osg::PerspectiveCameraBase::Inherited [private]
 

Reimplemented from osg::Camera.

Reimplemented in osg::OffCenterPerspectiveCamera, osg::OffCenterPerspectiveCameraBase, and osg::PerspectiveCamera.

Definition at line 86 of file OSGPerspectiveCameraBase.h.

typedef PerspectiveCameraPtr osg::PerspectiveCameraBase::Ptr
 

Reimplemented from osg::CameraBase.

Reimplemented in osg::OffCenterPerspectiveCameraBase.

Definition at line 91 of file OSGPerspectiveCameraBase.h.


Member Enumeration Documentation

anonymous enum
 

Enumerator:
FovFieldId 
AspectFieldId 
NextFieldId 

Reimplemented from osg::CameraBase.

Definition at line 93 of file OSGPerspectiveCameraBase.h.

00094     {
00095         FovFieldId    = Inherited::NextFieldId,
00096         AspectFieldId = FovFieldId    + 1,
00097         NextFieldId   = AspectFieldId + 1
00098     };


Constructor & Destructor Documentation

PerspectiveCameraBase::PerspectiveCameraBase void   )  [protected]
 

Definition at line 175 of file OSGPerspectiveCameraBase.cpp.

00175                                                  :
00176     _sfFov                    (), 
00177     _sfAspect                 (Real32(1)), 
00178     Inherited() 
00179 {
00180 }

PerspectiveCameraBase::PerspectiveCameraBase const PerspectiveCameraBase source  )  [protected]
 

Definition at line 186 of file OSGPerspectiveCameraBase.cpp.

00186                                                                                 :
00187     _sfFov                    (source._sfFov                    ), 
00188     _sfAspect                 (source._sfAspect                 ), 
00189     Inherited                 (source)
00190 {
00191 }

PerspectiveCameraBase::~PerspectiveCameraBase void   )  [protected, virtual]
 

Definition at line 195 of file OSGPerspectiveCameraBase.cpp.

00196 {
00197 }


Member Function Documentation

osg::FieldContainerType & osg::PerspectiveCameraBase::getClassType void   )  [inline, static]
 

Reimplemented from osg::CameraBase.

Reimplemented in osg::OffCenterPerspectiveCameraBase.

Definition at line 58 of file OSGPerspectiveCameraBase.inl.

References _type.

Referenced by create().

00059 {
00060     return _type; 
00061 } 

osg::UInt32 osg::PerspectiveCameraBase::getClassTypeId void   )  [inline, static]
 

Reimplemented from osg::CameraBase.

Reimplemented in osg::OffCenterPerspectiveCameraBase.

Definition at line 65 of file OSGPerspectiveCameraBase.inl.

References _type, and osg::TypeBase::getId().

00066 {
00067     return _type.getId(); 
00068 } 

FieldContainerType & PerspectiveCameraBase::getType void   )  [virtual]
 

Reimplemented from osg::CameraBase.

Reimplemented in osg::OffCenterPerspectiveCameraBase.

Definition at line 117 of file OSGPerspectiveCameraBase.cpp.

References _type.

00118 {
00119     return _type; 
00120 } 

const FieldContainerType & PerspectiveCameraBase::getType void   )  const [virtual]
 

Reimplemented from osg::CameraBase.

Reimplemented in osg::OffCenterPerspectiveCameraBase.

Definition at line 122 of file OSGPerspectiveCameraBase.cpp.

References _type.

00123 {
00124     return _type;
00125 } 

UInt32 PerspectiveCameraBase::getContainerSize void   )  const [virtual]
 

Reimplemented from osg::CameraBase.

Reimplemented in osg::OffCenterPerspectiveCameraBase.

Definition at line 137 of file OSGPerspectiveCameraBase.cpp.

00138 { 
00139     return sizeof(PerspectiveCamera); 
00140 }

SFReal32 * osg::PerspectiveCameraBase::getSFFov void   )  [inline]
 

Definition at line 101 of file OSGPerspectiveCameraBase.inl.

References _sfFov.

00102 {
00103     return &_sfFov;
00104 }

SFReal32 * osg::PerspectiveCameraBase::getSFAspect void   )  [inline]
 

Definition at line 108 of file OSGPerspectiveCameraBase.inl.

References _sfAspect.

00109 {
00110     return &_sfAspect;
00111 }

Real32 & osg::PerspectiveCameraBase::getFov void   )  [inline]
 

Definition at line 116 of file OSGPerspectiveCameraBase.inl.

References _sfFov, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by osg::PerspectiveCamera::getProjection(), and osg::OffCenterPerspectiveCamera::getProjection().

00117 {
00118     return _sfFov.getValue();
00119 }

const Real32 & osg::PerspectiveCameraBase::getFov void   )  const [inline]
 

Definition at line 123 of file OSGPerspectiveCameraBase.inl.

References _sfFov, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00124 {
00125     return _sfFov.getValue();
00126 }

Real32 & osg::PerspectiveCameraBase::getAspect void   )  [inline]
 

Definition at line 137 of file OSGPerspectiveCameraBase.inl.

References _sfAspect, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by osg::PerspectiveCamera::getProjection(), and osg::OffCenterPerspectiveCamera::getProjection().

00138 {
00139     return _sfAspect.getValue();
00140 }

const Real32 & osg::PerspectiveCameraBase::getAspect void   )  const [inline]
 

Definition at line 144 of file OSGPerspectiveCameraBase.inl.

References _sfAspect, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00145 {
00146     return _sfAspect.getValue();
00147 }

void osg::PerspectiveCameraBase::setFov const Real32 value  )  [inline]
 

Definition at line 130 of file OSGPerspectiveCameraBase.inl.

References _sfFov, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00131 {
00132     _sfFov.setValue(value);
00133 }

void osg::PerspectiveCameraBase::setAspect const Real32 value  )  [inline]
 

Definition at line 151 of file OSGPerspectiveCameraBase.inl.

References _sfAspect, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00152 {
00153     _sfAspect.setValue(value);
00154 }

UInt32 PerspectiveCameraBase::getBinSize const BitVector whichField  )  [virtual]
 

Reimplemented from osg::CameraBase.

Reimplemented in osg::OffCenterPerspectiveCameraBase.

Definition at line 201 of file OSGPerspectiveCameraBase.cpp.

References _sfAspect, _sfFov, AspectFieldMask, FovFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::CameraBase::getBinSize(), and osg::FieldBits::NoField.

Referenced by osg::OffCenterPerspectiveCameraBase::getBinSize().

00202 {
00203     UInt32 returnValue = Inherited::getBinSize(whichField);
00204 
00205     if(FieldBits::NoField != (FovFieldMask & whichField))
00206     {
00207         returnValue += _sfFov.getBinSize();
00208     }
00209 
00210     if(FieldBits::NoField != (AspectFieldMask & whichField))
00211     {
00212         returnValue += _sfAspect.getBinSize();
00213     }
00214 
00215 
00216     return returnValue;
00217 }

void PerspectiveCameraBase::copyToBin BinaryDataHandler pMem,
const BitVector whichField
[virtual]
 

Reimplemented from osg::CameraBase.

Reimplemented in osg::OffCenterPerspectiveCameraBase.

Definition at line 219 of file OSGPerspectiveCameraBase.cpp.

References _sfAspect, _sfFov, AspectFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::CameraBase::copyToBin(), FovFieldMask, and osg::FieldBits::NoField.

Referenced by osg::OffCenterPerspectiveCameraBase::copyToBin().

00221 {
00222     Inherited::copyToBin(pMem, whichField);
00223 
00224     if(FieldBits::NoField != (FovFieldMask & whichField))
00225     {
00226         _sfFov.copyToBin(pMem);
00227     }
00228 
00229     if(FieldBits::NoField != (AspectFieldMask & whichField))
00230     {
00231         _sfAspect.copyToBin(pMem);
00232     }
00233 
00234 
00235 }

void PerspectiveCameraBase::copyFromBin BinaryDataHandler pMem,
const BitVector whichField
[virtual]
 

Reimplemented from osg::CameraBase.

Reimplemented in osg::OffCenterPerspectiveCameraBase.

Definition at line 237 of file OSGPerspectiveCameraBase.cpp.

References _sfAspect, _sfFov, AspectFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::CameraBase::copyFromBin(), FovFieldMask, and osg::FieldBits::NoField.

Referenced by osg::OffCenterPerspectiveCameraBase::copyFromBin().

00239 {
00240     Inherited::copyFromBin(pMem, whichField);
00241 
00242     if(FieldBits::NoField != (FovFieldMask & whichField))
00243     {
00244         _sfFov.copyFromBin(pMem);
00245     }
00246 
00247     if(FieldBits::NoField != (AspectFieldMask & whichField))
00248     {
00249         _sfAspect.copyFromBin(pMem);
00250     }
00251 
00252 
00253 }

PerspectiveCameraPtr osg::PerspectiveCameraBase::create void   )  [inline, static]
 

Reimplemented in osg::OffCenterPerspectiveCameraBase.

Definition at line 72 of file OSGPerspectiveCameraBase.inl.

References osg::AttachmentContainerPtr::dcast(), getClassType(), osg::FieldContainerType::getPrototype(), osg::NullFC, and shallowCopy().

Referenced by osg::SimpleSceneManager::initialize().

00073 {
00074     PerspectiveCameraPtr fc; 
00075 
00076     if(getClassType().getPrototype() != OSG::NullFC) 
00077     {
00078         fc = PerspectiveCameraPtr::dcast(
00079             getClassType().getPrototype()-> shallowCopy()); 
00080     }
00081     
00082     return fc; 
00083 }

PerspectiveCameraPtr osg::PerspectiveCameraBase::createEmpty void   )  [inline, static]
 

Reimplemented in osg::OffCenterPerspectiveCameraBase.

Definition at line 87 of file OSGPerspectiveCameraBase.inl.

References osg::FieldContainer::newPtr().

00088 { 
00089     PerspectiveCameraPtr returnValue; 
00090     
00091     newPtr(returnValue); 
00092 
00093     return returnValue; 
00094 }

FieldContainerPtr PerspectiveCameraBase::shallowCopy void   )  const [virtual]
 

Implements osg::FieldContainer.

Reimplemented in osg::OffCenterPerspectiveCameraBase.

Definition at line 128 of file OSGPerspectiveCameraBase.cpp.

References osg::FieldContainer::newPtr().

Referenced by create().

00129 { 
00130     PerspectiveCameraPtr returnValue; 
00131 
00132     newPtr(returnValue, dynamic_cast<const PerspectiveCamera *>(this)); 
00133 
00134     return returnValue; 
00135 }

void PerspectiveCameraBase::executeSyncImpl PerspectiveCameraBase pOther,
const BitVector whichField
[protected]
 

Definition at line 256 of file OSGPerspectiveCameraBase.cpp.

References _sfAspect, _sfFov, AspectFieldMask, osg::CameraBase::executeSyncImpl(), FovFieldMask, osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().

Referenced by executeSync(), and osg::OffCenterPerspectiveCameraBase::executeSyncImpl().

00258 {
00259 
00260     Inherited::executeSyncImpl(pOther, whichField);
00261 
00262     if(FieldBits::NoField != (FovFieldMask & whichField))
00263         _sfFov.syncWith(pOther->_sfFov);
00264 
00265     if(FieldBits::NoField != (AspectFieldMask & whichField))
00266         _sfAspect.syncWith(pOther->_sfAspect);
00267 
00268 
00269 }

void PerspectiveCameraBase::executeSync FieldContainer other,
const BitVector whichField
[protected, virtual]
 

Reimplemented from osg::CameraBase.

Reimplemented in osg::OffCenterPerspectiveCameraBase.

Definition at line 144 of file OSGPerspectiveCameraBase.cpp.

References executeSyncImpl().

00146 {
00147     this->executeSyncImpl((PerspectiveCameraBase *) &other, whichField);
00148 }

void osg::PerspectiveCameraBase::operator= const PerspectiveCameraBase source  )  [private]
 

* static const char* osg::Camera::getClassname void   )  [inline, static, inherited]
 

Reimplemented in osg::MatrixCamera, osg::OffCenterPerspectiveCamera, osg::PerspectiveCamera, and osg::TileCameraDecorator.

Definition at line 73 of file OSGCamera.h.

00073 { return "Camera"; };

void Camera::changed BitVector  whichField,
UInt32  origin
[virtual, inherited]
 

Reimplemented from osg::AttachmentContainer.

Reimplemented in osg::CameraDecorator, osg::MatrixCamera, osg::MatrixCameraDecorator, osg::OffCenterPerspectiveCamera, osg::PerspectiveCamera, osg::ProjectionCameraDecorator, osg::ShearedStereoCameraDecorator, osg::StereoCameraDecorator, and osg::TileCameraDecorator.

Definition at line 98 of file OSGCamera.cpp.

References osg::AttachmentContainer::changed().

Referenced by osg::PerspectiveCamera::changed(), osg::MatrixCamera::changed(), and osg::CameraDecorator::changed().

00099 {
00100     Inherited::changed(whichField, origin);
00101 }

void Camera::setup DrawActionBase action,
const Viewport port
[virtual, inherited]
 

Setup OpenGL for rendering, call all the necessary commands to start rendering with this camera.

Definition at line 109 of file OSGCamera.cpp.

References osg::Viewport::getPixelHeight(), osg::Viewport::getPixelWidth(), osg::Camera::getProjection(), osg::Camera::getProjectionTranslation(), osg::TransformationMatrix< ValueTypeT >::getValues(), osg::Camera::getViewing(), and osg::TransformationMatrix< ValueTypeT >::mult().

00111 {
00112     Matrix m, t;
00113 
00114     // set the projection
00115 
00116     getProjection           ( m, port.getPixelWidth(), port.getPixelHeight() );
00117     getProjectionTranslation( t, port.getPixelWidth(), port.getPixelHeight() );
00118 
00119     m.mult(t);
00120 
00121     //SDEBUG << "Projection matrix: " << m << std::endl;
00122 
00123     glMatrixMode( GL_PROJECTION );
00124     glLoadMatrixf( m.getValues() );
00125 
00126     // set the viewing
00127 
00128     getViewing( m, port.getPixelWidth(), port.getPixelHeight() );
00129 
00130     //SDEBUG << "Viewing matrix: " << m << std::endl;
00131     
00132     glMatrixMode( GL_MODELVIEW );
00133     glLoadMatrixf( m.getValues() );
00134 }

void Camera::setupProjection DrawActionBase action,
const Viewport port
[virtual, inherited]
 

Setup OpenGL projection for rendering.

Definition at line 138 of file OSGCamera.cpp.

References osg::Viewport::getPixelHeight(), osg::Viewport::getPixelWidth(), osg::Camera::getProjection(), osg::Camera::getProjectionTranslation(), osg::TransformationMatrix< ValueTypeT >::getValues(), and osg::TransformationMatrix< ValueTypeT >::mult().

Referenced by osg::RenderAction::start().

00140 {
00141     Matrix m, t;
00142 
00143     // set the projection
00144 
00145     getProjection           ( m, port.getPixelWidth(), port.getPixelHeight() );
00146     getProjectionTranslation( t, port.getPixelWidth(), port.getPixelHeight() );
00147 
00148     m.mult(t);
00149 
00150     //SDEBUG << "Projection matrix: " << m << std::endl;
00151 
00152     glMatrixMode( GL_PROJECTION );
00153     glLoadMatrixf( m.getValues() );
00154 }

void Camera::draw DrawAction action,
const Viewport port
[virtual, inherited]
 

Draw the camera's geometry (if any). Usually there is none.

Reimplemented in osg::CameraDecorator, osg::MatrixCamera, osg::OffCenterPerspectiveCamera, and osg::PerspectiveCamera.

Definition at line 158 of file OSGCamera.cpp.

00160 {
00161 }

void Camera::getProjection Matrix result,
UInt32  width,
UInt32  height
[virtual, inherited]
 

Get/calculate the projection matrix for this camera.

Reimplemented in osg::CameraDecorator, osg::MatrixCamera, osg::MatrixCameraDecorator, osg::OffCenterPerspectiveCamera, osg::PerspectiveCamera, osg::ProjectionCameraDecorator, osg::ShearedStereoCameraDecorator, and osg::TileCameraDecorator.

Definition at line 165 of file OSGCamera.cpp.

References SFATAL.

Referenced by osg::Camera::calcViewRay(), osg::SkyBackground::clear(), osg::DVRIsoShader::getCoveredScreenRect(), osg::Camera::getFrustum(), osg::Camera::getWorldToScreen(), osg::Camera::setup(), and osg::Camera::setupProjection().

00168 {
00169     SFATAL << "Camera::getProjection: NIY" << std::endl;
00170     abort();
00171 }

void Camera::getProjectionTranslation Matrix result,
UInt32  width,
UInt32  height
[virtual, inherited]
 

Get/calculate the projection translation matrix for this camera. The default is identity.

Reimplemented in osg::CameraDecorator, osg::MatrixCameraDecorator, and osg::ProjectionCameraDecorator.

Definition at line 176 of file OSGCamera.cpp.

References osg::TransformationMatrix< ValueTypeT >::setIdentity().

Referenced by osg::Camera::calcViewRay(), osg::SkyBackground::clear(), osg::DVRIsoShader::getCoveredScreenRect(), osg::Camera::getFrustum(), osg::Camera::getWorldToScreen(), osg::Camera::setup(), and osg::Camera::setupProjection().

00179 {
00180     result.setIdentity();
00181 }

void Camera::getViewing Matrix result,
UInt32  width,
UInt32  height
[virtual, inherited]
 

Get/calculate the viewing matrix for this camera. This is the inverse of the beacon's toWorld transformation.

Reimplemented in osg::CameraDecorator, osg::MatrixCamera, osg::MatrixCameraDecorator, and osg::ProjectionCameraDecorator.

Definition at line 186 of file OSGCamera.cpp.

References osg::CameraBase::getBeacon(), osg::TransformationMatrix< ValueTypeT >::invert(), osg::NullFC, and SWARNING.

Referenced by osg::TextureTransformChunk::activate(), osg::TexGenChunk::activate(), osg::Camera::calcViewRay(), osg::TextureTransformChunk::changeFrom(), osg::TexGenChunk::changeFrom(), osg::SkyBackground::clear(), osg::Camera::getFrustum(), osg::Camera::getWorldToScreen(), osg::Camera::setup(), osg::RenderAction::start(), osg::DrawActionBase::start(), osg::SHLChunk::updateCameraOrientation(), osg::SHLChunk::updateCameraPosition(), osg::SHLChunk::updateInvViewMatrix(), and osg::SHLChunk::updateViewMatrix().

00189 {
00190     if (getBeacon() == NullFC)
00191     {
00192         SWARNING << "Camera::setup: no beacon!" << std::endl;
00193         return;
00194     }   
00195 
00196     getBeacon()->getToWorld(result);  
00197     result.invert();
00198 }

void Camera::getFrustum FrustumVolume result,
const Viewport p
[virtual, inherited]
 

Calculate the frustum of this camera's visible area.

Definition at line 202 of file OSGCamera.cpp.

References osg::Viewport::getPixelHeight(), osg::Viewport::getPixelWidth(), osg::Camera::getProjection(), osg::Camera::getProjectionTranslation(), osg::Camera::getViewing(), osg::TransformationMatrix< ValueTypeT >::mult(), and osg::FrustumVolume::setPlanes().

Referenced by osg::DrawActionBase::start().

00203 {
00204     Matrix mv,prt,pr;
00205     
00206     getProjection           (pr , p.getPixelWidth(), p.getPixelHeight());
00207     getProjectionTranslation(prt, p.getPixelWidth(), p.getPixelHeight());
00208     ge