OMK::Vis::CameraBaseExtension Class Reference
[Extensions]

This extension adds an attribute containing camera's Transform. More...

#include <OMKCameraBaseExtension.h>

Inheritance diagram for OMK::Vis::CameraBaseExtension:

Inheritance graph
[legend]
Collaboration diagram for OMK::Vis::CameraBaseExtension:

Collaboration graph
[legend]
List of all members.

Protected Member Functions

void retreiveCamera ()
 retreives pointer to Ogre::Camera after Ogre has been initialized.
virtual void computeParameters ()
 updates attribute with camera position
virtual void preComputeParameters ()
 calls computeParameters() if _viewportNumber is set to true.
virtual void postComputeParameters ()
 calls computeParameters() if _viewportNumber is set to false.

Protected Attributes

OgreVis_vis
int _viewportNumber
Ogre::Camera * _camera
AttributeT< Type::Transform > * _camBase
bool _usePreCompute

Private Member Functions

 DECLARE_EXTENSION_FACTORY (CameraBaseExtension)

Detailed Description

This extension adds an attribute containing camera's Transform.

Date:
2008-01-28
Author:
Laurent Aguerreche
Module description :
When added to a OMK::Vis::OgreVis object in configuration file, this extension creates a new attribute with an output which contains camera's Transform. This let other simulated objets to easily know camera position.
Configuration parameters :
Example:
cameraBaseObject
{
  Class CameraBase
  AttributeId CameraBase
}
This configuration declares an extension named cameraBaseObject with an attribute named CameraBase.

Definition at line 64 of file OMKCameraBaseExtension.h.


Member Function Documentation

OMK::Vis::CameraBaseExtension::DECLARE_EXTENSION_FACTORY ( CameraBaseExtension   )  [private]

void CameraBaseExtension::retreiveCamera (  )  [protected]

retreives pointer to Ogre::Camera after Ogre has been initialized.

Definition at line 69 of file OMKCameraBaseExtension.cpp.

References _camera, _viewportNumber, _vis, and OMK::Vis::OgreVis::touchRoot().

Referenced by computeParameters().

00070 {
00071   _camera = _vis->touchRoot().getAutoCreatedWindow()->
00072     getViewport( _viewportNumber )->getCamera() ;
00073 }

void CameraBaseExtension::computeParameters (  )  [protected, virtual]

updates attribute with camera position

Definition at line 75 of file OMKCameraBaseExtension.cpp.

References _camBase, _camera, and retreiveCamera().

Referenced by postComputeParameters(), and preComputeParameters().

00076 {
00077   if( _camera == 0 )
00078   { // now, Ogre is set up and we can access to camera
00079     retreiveCamera() ;
00080   }
00081   const Ogre::Vector3 &ogreCamPos( _camera->getWorldPosition() ) ;
00082   const Ogre::Quaternion &ogreCamQuat( _camera->getWorldOrientation() ) ;
00083   const Type::Transform camBase(
00084     Wm4::Vector3f( ogreCamPos.x, ogreCamPos.y, ogreCamPos.z ),
00085     Wm4::Quaternionf( ogreCamQuat.w, ogreCamQuat.x, ogreCamQuat.y, ogreCamQuat.z ) ) ;
00086   _camBase->set( camBase ) ;
00087 }

void CameraBaseExtension::preComputeParameters (  )  [protected, virtual]

calls computeParameters() if _viewportNumber is set to true.

Reimplemented from OMK::Extension.

Definition at line 89 of file OMKCameraBaseExtension.cpp.

References _usePreCompute, and computeParameters().

00090 {
00091   if( _usePreCompute )
00092   {
00093     computeParameters() ;
00094   }
00095 }

void CameraBaseExtension::postComputeParameters (  )  [protected, virtual]

calls computeParameters() if _viewportNumber is set to false.

Reimplemented from OMK::Extension.

Definition at line 97 of file OMKCameraBaseExtension.cpp.

References _usePreCompute, and computeParameters().

00098 {
00099   if( !_usePreCompute )
00100   {
00101     computeParameters() ;
00102   }
00103 }


Member Data Documentation

OgreVis* OMK::Vis::CameraBaseExtension::_vis [protected]

Definition at line 80 of file OMKCameraBaseExtension.h.

Referenced by retreiveCamera().

int OMK::Vis::CameraBaseExtension::_viewportNumber [protected]

Definition at line 81 of file OMKCameraBaseExtension.h.

Referenced by retreiveCamera().

Ogre::Camera* OMK::Vis::CameraBaseExtension::_camera [protected]

Definition at line 82 of file OMKCameraBaseExtension.h.

Referenced by computeParameters(), and retreiveCamera().

AttributeT< Type::Transform >* OMK::Vis::CameraBaseExtension::_camBase [protected]

Definition at line 83 of file OMKCameraBaseExtension.h.

Referenced by computeParameters().

bool OMK::Vis::CameraBaseExtension::_usePreCompute [protected]

Definition at line 84 of file OMKCameraBaseExtension.h.

Referenced by postComputeParameters(), and preComputeParameters().


logo OpenMask

Documentation generated on Mon Jun 9 11:46:05 2008

Generated with doxygen by Dimitri van Heesch ,   1997-2007