OMK::Vis::OgreObject Class Reference

OgreObject creates a new scene node named with the id of this VisualObject and adds it into the subtree of root _sceneNode. More...

#include <OMKOgreObject.h>

Inheritance diagram for OMK::Vis::OgreObject:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

NodeMaterialOriggetNodeMaterialOrig ()
 Return the node to change the materials.
const OgreVisgetOgreVis () const
 returns a const reference to the associated visualisation
Ogre::SceneNode & getSceneNode () const
 returns a const reference to the object root node

Protected Member Functions

virtual void visualise ()
 implement the VisualObject visualise, do nothing

Protected Attributes

OgreVis_ogreVis
 reference to the associated visualisation
Ogre::SceneNode & _sceneNode
 root node of the current geometry
NodeMaterialOrig_nodeMaterial
 MaterialAnimation stack.

Private Member Functions

 OgreObject (const OgreObject &vis)
 Copy constructor, private and not defined to prevent from copying.
const OgreObjectoperator= (const OgreObject &vis)
 Assigment operator, private and not defined to prevent from copying.

Detailed Description

OgreObject creates a new scene node named with the id of this VisualObject and adds it into the subtree of root _sceneNode.

Author:
Michaël Rouillé, bunraku <michael.rouille@irisa.fr>

Definition at line 42 of file OMKOgreObject.h.


Constructor & Destructor Documentation

OgreObject::OgreObject ( VisBase vis,
const Name id,
const ConfigurationParameterDescriptor node 
)

Constructor of OMK::Vis::OgreObject.

Definition at line 35 of file OMKOgreObject.cpp.

References _sceneNode, OMK::Vis::convert(), and OMK::Vis::VisualObject::getTransform().

00037   : VisualObject( vis, id, node ),
00038     _ogreVis( static_cast< OgreVis& >( vis ) ),
00039     // create a new ogre scene node
00040     _sceneNode( *_ogreVis.touchRoot().getSceneManager( "sceneManager" )->getRootSceneNode()->createChildSceneNode( getId().getCString() ) ),
00041   _nodeMaterial( 0 )
00042 {
00043   // converts the transform value read by VisualObject to the ogre node
00044   convert( getTransform(), _sceneNode ) ;
00045 }

OgreObject::~OgreObject (  )  [virtual]

Destructor of OMK::Vis::OgreObject.

Destroy the animators.

Definition at line 50 of file OMKOgreObject.cpp.

References OMK::Vis::VisualObject::_animators, _nodeMaterial, _ogreVis, _sceneNode, and OMK::Vis::OgreVis::touchRoot().

00051 {
00052   //Animator Destruction before OgreStuff
00053   for( AnimatorsMap::iterator a( _animators.begin() ) ;
00054        a != _animators.end() ;
00055        a++ )
00056   {
00057     delete a->second ;
00058   }
00059   _animators.clear() ;
00060   _ogreVis.touchRoot().getSceneManager( "sceneManager" )->destroySceneNode( _sceneNode.getName() ) ;
00061 
00062   delete _nodeMaterial ;
00063 }

OMK::Vis::OgreObject::OgreObject ( const OgreObject vis  )  [private]

Copy constructor, private and not defined to prevent from copying.

OgreObject::OgreObject ( VisBase vis,
const Name id,
const ConfigurationParameterDescriptor node 
)

Constructor of OMK::Vis::OgreObject.

Definition at line 35 of file OMKOgreObject.cpp.

References _sceneNode, OMK::Vis::convert(), and OMK::Vis::VisualObject::getTransform().

00037   : VisualObject( vis, id, node ),
00038     _ogreVis( static_cast< OgreVis& >( vis ) ),
00039     // create a new ogre scene node
00040     _sceneNode( *_ogreVis.touchRoot().getSceneManager( "sceneManager" )->getRootSceneNode()->createChildSceneNode( getId().getCString() ) ),
00041   _nodeMaterial( 0 )
00042 {
00043   // converts the transform value read by VisualObject to the ogre node
00044   convert( getTransform(), _sceneNode ) ;
00045 }

OgreObject::~OgreObject (  )  [virtual]

Destructor of OMK::Vis::OgreObject.

Destroy the animators.

Definition at line 50 of file OMKOgreObject.cpp.

References OMK::Vis::VisualObject::_animators, _nodeMaterial, _ogreVis, _sceneNode, and OMK::Vis::OgreVis::touchRoot().

00051 {
00052   //Animator Destruction before OgreStuff
00053   for( AnimatorsMap::iterator a( _animators.begin() ) ;
00054        a != _animators.end() ;
00055        a++ )
00056   {
00057     delete a->second ;
00058   }
00059   _animators.clear() ;
00060   _ogreVis.touchRoot().getSceneManager( "sceneManager" )->destroySceneNode( _sceneNode.getName() ) ;
00061 
00062   delete _nodeMaterial ;
00063 }


Member Function Documentation

NodeMaterialOrig * OgreObject::getNodeMaterialOrig (  ) 

Return the node to change the materials.

Definition at line 73 of file OMKOgreObject.cpp.

References _nodeMaterial, and _sceneNode.

Referenced by OMK::Vis::TransparencyValueAnimator::selfProcessVis(), and OMK::Vis::TransparencyAnimAnimator::selfProcessVis().

00074 {
00075   if( !_nodeMaterial )
00076   {
00077     _nodeMaterial = new NodeMaterialOrig( &_sceneNode ) ;
00078   }
00079   return _nodeMaterial ;
00080 }

const OgreVis & OMK::Vis::OgreObject::getOgreVis (  )  const [inline]

returns a const reference to the associated visualisation

Definition at line 91 of file OMKOgreObject.h.

References _ogreVis.

00092 {
00093   return _ogreVis ;
00094 }

Ogre::SceneNode & OMK::Vis::OgreObject::getSceneNode (  )  const [inline]

returns a const reference to the object root node

Definition at line 100 of file OMKOgreObject.h.

References _sceneNode.

00101 {
00102   return _sceneNode ;
00103 }

void OgreObject::visualise (  )  [protected, virtual]

implement the VisualObject visualise, do nothing

Implements OMK::Vis::VisualObject.

Reimplemented in OMK::Vis::AvatarVisualObject.

Definition at line 69 of file OMKOgreObject.cpp.

00070 {
00071 }

const OgreObject& OMK::Vis::OgreObject::operator= ( const OgreObject vis  )  [private]

Assigment operator, private and not defined to prevent from copying.


Member Data Documentation

OgreVis& OMK::Vis::OgreObject::_ogreVis [protected]

reference to the associated visualisation

Definition at line 79 of file OMKOgreObject.h.

Referenced by getOgreVis(), OMK::Vis::OgreObjectScene::loadGeometry(), and ~OgreObject().

Ogre::SceneNode& OMK::Vis::OgreObject::_sceneNode [protected]

root node of the current geometry

Definition at line 82 of file OMKOgreObject.h.

Referenced by getNodeMaterialOrig(), getSceneNode(), OMK::Vis::OgreObjectScene::loadGeometry(), OgreObject(), and ~OgreObject().

NodeMaterialOrig* OMK::Vis::OgreObject::_nodeMaterial [protected]

MaterialAnimation stack.

Definition at line 84 of file OMKOgreObject.h.

Referenced by getNodeMaterialOrig(), and ~OgreObject().


logo OpenMask

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

Generated with doxygen by Dimitri van Heesch ,   1997-2007