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

osg::RenderActionBase Class Reference

Base class using the render action interface of window.

#include <OSGRenderActionBase.h>

Inheritance diagram for osg::RenderActionBase:

osg::DrawActionBase osg::Action osg::RenderAction List of all members.

Public Types

typedef ArgsCollector< Action * > FunctorArgs
typedef TypedFunctor2Base<
ResultE, CPtrRefCallArg<
CNodePtr >, FunctorArgs
Functor
enum  ResultE { Continue, Skip, Quit }

Public Member Functions

ViewportgetViewport (void) const
void setViewport (Viewport *viewport)
CameragetCamera (void) const
void setCamera (Camera *cam)
const MatrixgetCameraToWorld (void)
BackgroundgetBackground (void) const
void setBackground (Background *background)
WindowgetWindow (void) const
void setWindow (Window *window)
StatCollectorgetStatistics (void)
void setStatistics (StatCollector *stat)
bool getFrustumCulling (void) const
void setFrustumCulling (bool val=true)
bool getVolumeDrawing (void) const
void setVolumeDrawing (bool val=false)
bool getAutoFrustum (void) const
void setAutoFrustum (bool val=true)
const FrustumVolumegetFrustum (void) const
void setFrustum (FrustumVolume &frust)
virtual bool isVisible (Node *node)=0
UInt32 selectVisibles (void)
MaterialgetMaterial (void) const
NodePtr getMaterialNode (void) const
void setMaterial (Material *pMaterial, NodePtr node)
virtual Action::ResultE start (void)
virtual Action::ResultE stop (Action::ResultE res)
void registerEnterFunction (const FieldContainerType &type, const Functor &func)
void registerLeaveFunction (const FieldContainerType &type, const Functor &func)
virtual ResultE apply (std::vector< NodePtr >::iterator begin, std::vector< NodePtr >::iterator end)
virtual ResultE apply (NodePtr node)
NodePtr getActNode (void)
UInt32 getNNodes (void) const
const NodePtr getNode (int index)
void addNode (NodePtr node)
void useNodeList (void)
void printTable (void)
UInt32 getTravMask (void) const
void setTravMask (UInt32 val)
bool operator< (const Action &other)
 assignment
bool operator== (const Action &other)
 equal
bool operator!= (const Action &other)
 unequal
Destructor
*virtual ~RenderActionBase (void)

Static Public Member Functions

static const char * getClassname (void)
static Actioncreate (void)
 create a new action
static void setPrototype (Action *proto)
static ActiongetPrototype (void)
static void registerEnterDefault (const FieldContainerType &type, const Functor &func)
static void registerLeaveDefault (const FieldContainerType &type, const Functor &func)

Static Public Attributes

static StatElemDesc< StatTimeElemstatTravTime
static StatElemDesc< StatIntElemstatCullTestedNodes
static StatElemDesc< StatIntElemstatCulledNodes

Protected Member Functions

virtual ResultE stop (ResultE res)
virtual std::vector< Functor > * getDefaultEnterFunctors (void)=0
virtual std::vector< Functor > * getDefaultLeaveFunctors (void)=0
ResultE callEnter (NodePtr node)
ResultE callLeave (NodePtr node)
ResultE recurse (NodePtr node)
ResultE callNewList (void)
void setActNode (NodePtr node)
Constructors
RenderActionBase (void)
 RenderActionBase (const RenderActionBase &source)

Static Protected Member Functions

static ResultE _defaultEnterFunction (CNodePtr &node, Action *action)
static ResultE _defaultLeaveFunction (CNodePtr &node, Action *action)

Protected Attributes

Camera_camera
Background_background
Window_window
Viewport_viewport
StatCollector_statistics
bool _ownStat
Material_pMaterial
NodePtr _pMaterialNode
bool _frustumCulling
bool _volumeDrawing
bool _autoFrustum
FrustumVolume _frustum
Matrix _mCameraToWorld
std::vector< Functor_enterFunctors
std::vector< Functor_leaveFunctors

Private Types

typedef DrawActionBase Inherited

Private Member Functions

void operator= (const RenderActionBase &source)
 prohibit default function (move to 'public' if needed)

Detailed Description

Definition at line 53 of file OSGRenderActionBase.h.


Member Typedef Documentation

typedef DrawActionBase osg::RenderActionBase::Inherited [private]
 

Reimplemented from osg::DrawActionBase.

Reimplemented in osg::RenderAction.

Definition at line 82 of file OSGRenderActionBase.h.

typedef ArgsCollector<Action *> osg::Action::FunctorArgs [inherited]
 

Definition at line 95 of file OSGAction.h.

typedef TypedFunctor2Base<ResultE, CPtrRefCallArg<CNodePtr>, FunctorArgs > osg::Action::Functor [inherited]
 

Definition at line 99 of file OSGAction.h.


Member Enumeration Documentation

enum osg::Action::ResultE [inherited]
 

Enumerator:
Continue 
Skip 
Quit 

Definition at line 87 of file OSGAction.h.

00088     {   
00089         Continue,   // continue with my children
00090         Skip,       // skip my children
00091         // really needed? Cancel, // skip my brothers, go one step up
00092         Quit        // forget it, you're done
00093     };


Constructor & Destructor Documentation

RenderActionBase::~RenderActionBase void   )  [virtual]
 

Definition at line 69 of file OSGRenderActionBase.cpp.

00070 {
00071 }

RenderActionBase::RenderActionBase void   )  [protected]
 

Definition at line 56 of file OSGRenderActionBase.cpp.

00056                                        :
00057     Inherited()
00058 {
00059 }

RenderActionBase::RenderActionBase const RenderActionBase source  )  [protected]
 

Definition at line 61 of file OSGRenderActionBase.cpp.

00061                                                                  :
00062      Inherited(source)
00063 {
00064 }


Member Function Documentation

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

Viewport * osg::DrawActionBase::getViewport void   )  const [inline, inherited]
 

Definition at line 119 of file OSGDrawActionBase.inl.

References osg::DrawActionBase::_viewport.

Referenced by osg::TextureTransformChunk::activate(), osg::TexGenChunk::activate(), osg::TextureTransformChunk::changeFrom(), osg::TexGenChunk::changeFrom(), osg::DVRIsoShader::deactivate_ColorMatrixShading(), osg::DVRIsoShader::getCoveredScreenRect(), osg::DrawActionBase::start(), osg::SHLChunk::updateCameraOrientation(), osg::SHLChunk::updateCameraPosition(), osg::SHLChunk::updateInvViewMatrix(), osg::SHLChunk::updateStereoLeftEye(), and osg::SHLChunk::updateViewMatrix().

00120 {
00121     return _viewport;
00122 }

void DrawActionBase::setViewport Viewport viewport  )  [inherited]
 

Definition at line 267 of file OSGDrawActionBase.cpp.

References osg::DrawActionBase::_viewport.

Referenced by osg::Viewport::draw(), osg::PassiveViewport::draw(), osg::Viewport::render(), and osg::PassiveViewport::render().

00268 {
00269     _viewport = viewport;
00270 }

Camera * osg::DrawActionBase::getCamera void   )  const [inline, inherited]
 

Definition at line 95 of file OSGDrawActionBase.inl.

References osg::DrawActionBase::_camera.

Referenced by osg::TextureTransformChunk::activate(), osg::TexGenChunk::activate(), osg::TextureTransformChunk::changeFrom(), osg::TexGenChunk::changeFrom(), osg::SkyBackground::clear(), drawViewerObjects< posTrait, colTrait, sizeTrait, geoTrait >::draw(), osg::DVRVolume::draw(), drawViewerObjects< posTrait, colTrait, sizeTrait, geoTrait >::drawIndexed(), osg::DVRIsoShader::getCoveredScreenRect(), osg::Slicer::getSlicingDirection(), osg::Slicer::rotateToLocal(), osg::DrawActionBase::start(), osg::SHLChunk::updateCameraOrientation(), osg::SHLChunk::updateCameraPosition(), osg::SHLChunk::updateInvViewMatrix(), osg::SHLChunk::updateStereoLeftEye(), and osg::SHLChunk::updateViewMatrix().

00096 {
00097     return _camera;
00098 }

void DrawActionBase::setCamera Camera cam  )  [inherited]
 

Definition at line 272 of file OSGDrawActionBase.cpp.

References osg::DrawActionBase::_camera.

Referenced by osg::Viewport::draw(), osg::PassiveViewport::draw(), osg::Viewport::render(), and osg::PassiveViewport::render().

00273 {
00274     _camera = cam;
00275 }

const Matrix & osg::DrawActionBase::getCameraToWorld void   )  [inline, inherited]
 

Definition at line 101 of file OSGDrawActionBase.inl.

References osg::DrawActionBase::_mCameraToWorld.

Referenced by osg::ClipPlaneChunk::activate(), osg::Particles::calcIndex(), osg::Billboard::calcMatrix(), osg::ClipPlaneChunk::changeFrom(), drawViewerQuads< posTrait, colTrait, texTrait, sizeTrait >::draw(), drawViewDirQuads< posTrait, colTrait, texTrait, sizeTrait >::draw(), osg::DistanceLOD::draw(), drawViewerQuads< posTrait, colTrait, texTrait, sizeTrait >::drawIndexed(), drawViewDirQuads< posTrait, colTrait, texTrait, sizeTrait >::drawIndexed(), osg::Slices::drawPrimitives(), and osg::Particles::drawPrimitives().

00102 {
00103     return _mCameraToWorld;
00104 }

Background * osg::DrawActionBase::getBackground void   )  const [inline, inherited]
 

Definition at line 107 of file OSGDrawActionBase.inl.

References osg::DrawActionBase::_background.

00108 {
00109     return _background;
00110 }

void DrawActionBase::setBackground Background background  )  [inherited]
 

Definition at line 277 of file OSGDrawActionBase.cpp.

References osg::DrawActionBase::_background.

Referenced by osg::Viewport::draw(), osg::PassiveViewport::draw(), osg::Viewport::render(), and osg::PassiveViewport::render().

00278 {
00279     _background = background;
00280 }

Window * osg::DrawActionBase::getWindow void   )  const [inline, inherited]
 

Definition at line 113 of file OSGDrawActionBase.inl.

References osg::DrawActionBase::_window.

Referenced by osg::TextureTransformChunk::activate(), osg::TextureChunk::activate(), osg::TexGenChunk::activate(), osg::SHLParameterChunk::activate(), osg::SHLChunk::activate(), osg::RegisterCombinersChunk::activate(), osg::ProgramChunk::activate(), osg::PointChunk::activate(), osg::DVRSimpleLUTShader::activate(), osg::CubeTextureChunk::activate(), osg::BlendChunk::activate(), osg::DVRIsoShader::activate_NVRegisterCombinerShading(), osg::DVRSimpleLUTShader::brickActivate(), osg::TextureTransformChunk::changeFrom(), osg::TextureChunk::changeFrom(), osg::TexGenChunk::changeFrom(), osg::SHLParameterChunk::changeFrom(), osg::SHLChunk::changeFrom(), osg::ProgramChunk::changeFrom(), osg::PointChunk::changeFrom(), osg::CubeTextureChunk::changeFrom(), osg::BlendChunk::changeFrom(), osg::TextureGrabBackground::clear(), osg::TextureTransformChunk::deactivate(), osg::TextureChunk::deactivate(), osg::TexGenChunk::deactivate(), osg::SHLChunk::deactivate(), osg::ProgramChunk::deactivate(), osg::PointChunk::deactivate(), osg::DVRSimpleLUTShader::deactivate(), osg::CubeTextureChunk::deactivate(), osg::BlendChunk::deactivate(), osg::TextureGrabForeground::draw(), osg::DVRVolume::draw(), osg::Surface::drawPrimitives(), osg::Slices::drawPrimitives(), osg::Geometry::drawPrimitives(), osg::DVRMtexLUTShader::initCombiners(), osg::DVRIsoShader::initCombiners_Diffuse2Combiners(), osg::DVRIsoShader::initCombiners_DiffuseMultiCombiners(), osg::DVRIsoShader::initCombiners_IsoSurfaceDiffuse(), osg::DVRIsoShader::initCombiners_IsoSurfaceSpecular(), osg::DVRIsoShader::initCombiners_Specular2Combiners(), osg::DVRIsoShader::initCombiners_SpecularMultiCombiners(), osg::DVRSimpleLUTShader::initialize(), osg::DVRMtexLUTShader::initialize(), osg::DVRVolume::initializeClipObjects(), osg::DVRSimpleLUTShader::isModeSupported(), osg::DVRIsoShader::isModeSupported(), osg::BrickSet::reloadBrickTextures(), osg::DVRMtexLUTShader::renderSlice(), osg::DVRIsoShader::renderSlice_NVRegisterCombinerShading(), osg::DVRSimpleLUTShader::setupAlphaCorrectionRegisterCombiners(), osg::DVRIsoShader::setupCombinerParametersDiffuse(), osg::DVRIsoShader::setupCombinerParametersSpecular(), osg::SHLChunk::updateActiveLightsMask(), osg::SHLChunk::updateCameraOrientation(), osg::SHLChunk::updateCameraPosition(), osg::SHLChunk::updateClusterId(), osg::SHLChunk::updateInvViewMatrix(), osg::SHLChunk::updateLight0Active(), osg::SHLChunk::updateLight1Active(), osg::SHLChunk::updateLight2Active(), osg::SHLChunk::updateLight3Active(), osg::SHLChunk::updateLight4Active(), osg::SHLChunk::updateLight5Active(), osg::SHLChunk::updateLight6Active(), osg::SHLChunk::updateLight7Active(), osg::SHLChunk::updateOSGParameters(), osg::SHLChunk::updateStereoLeftEye(), and osg::SHLChunk::updateViewMatrix().

00114 {
00115     return _window;
00116 }

void DrawActionBase::setWindow Window window  )  [inherited]
 

Definition at line 282 of file OSGDrawActionBase.cpp.

References osg::DrawActionBase::_window.

Referenced by osg::Window::drawAllViewports(), osg::Window::renderAllViewports(), and osg::SortFirstWindow::serverRender().

00283 {
00284     _window = window;
00285 }

StatCollector * osg::DrawActionBase::getStatistics void   )  [inline, inherited]
 

Definition at line 149 of file OSGDrawActionBase.inl.

References osg::DrawActionBase::_ownStat, osg::DrawActionBase::_statistics, and osg::StatCollector::create().

Referenced by osg::TextureChunk::activate(), osg::TextureChunk::changeFrom(), osg::SpotLight::drawEnter(), osg::PointLight::drawEnter(), osg::DirectionalLight::drawEnter(), osg::Slices::drawPrimitives(), osg::Geometry::drawPrimitives(), osg::RenderAction::isVisible(), osg::DrawAction::isVisible(), osg::RenderAction::pushVisibility(), osg::SpotLight::renderEnter(), osg::PointLight::renderEnter(), osg::DirectionalLight::renderEnter(), osg::RenderAction::start(), osg::DrawActionBase::start(), osg::RenderAction::stop(), and osg::DrawActionBase::stop().

00150 {
00151     if(_statistics == NULL)
00152     {
00153         _statistics = StatCollector::create();
00154         _ownStat = true;
00155     }
00156 
00157     return _statistics;
00158 }

void DrawActionBase::setStatistics StatCollector stat  )  [inherited]
 

Definition at line 287 of file OSGDrawActionBase.cpp.

References osg::DrawActionBase::_ownStat, and osg::DrawActionBase::_statistics.

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

00288 {
00289 #if 0 // Altered for last frame time
00290     _statistics = statistics;
00291     _ownStat = false;
00292 #else
00293     if (_ownStat) {
00294        delete _statistics;
00295     }
00296     _statistics = statistics;
00297     _ownStat = false;
00298 #endif
00299 }

bool osg::DrawActionBase::getFrustumCulling void   )  const [inline, inherited]
 

Definition at line 125 of file OSGDrawActionBase.inl.

References osg::DrawActionBase::_frustumCulling.

Referenced by osg::RenderAction::isVisible(), osg::DrawAction::isVisible(), osg::RenderAction::popVisibility(), osg::RenderAction::pushVisibility(), osg::DrawActionBase::selectVisibles(), and osg::DrawActionBase::start().

00126 {
00127     return _frustumCulling;
00128 }

void DrawActionBase::setFrustumCulling bool  val = true  )  [inherited]
 

Definition at line 305 of file OSGDrawActionBase.cpp.

References osg::DrawActionBase::_frustumCulling.

00306 {
00307     _frustumCulling = frustumCulling;
00308 }

bool osg::DrawActionBase::getVolumeDrawing void   )  const [inline, inherited]
 

Definition at line 131 of file OSGDrawActionBase.inl.

References osg::DrawActionBase::_volumeDrawing.

Referenced by osg::RenderAction::pushVisibility(), osg::DrawActionBase::selectVisibles(), and osg::DrawActionBase::stop().

00132 {
00133     return _volumeDrawing;
00134 }

void DrawActionBase::setVolumeDrawing bool  val = false  )  [inherited]
 

Definition at line 321 of file OSGDrawActionBase.cpp.

References osg::DrawActionBase::_volumeDrawing.

00322 {
00323     _volumeDrawing = volumeDrawing;
00324 }

bool osg::DrawActionBase::getAutoFrustum void   )  const [inline, inherited]
 

Definition at line 137 of file OSGDrawActionBase.inl.

References osg::DrawActionBase::_autoFrustum.

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

00138 {
00139     return _autoFrustum;
00140 }

void DrawActionBase::setAutoFrustum bool  val = true  )  [inherited]
 

Definition at line 313 of file OSGDrawActionBase.cpp.

References osg::DrawActionBase::_autoFrustum.

00314 {
00315     _autoFrustum = autoFrustum;
00316 }

const FrustumVolume & osg::DrawActionBase::getFrustum void   )  const [inline, inherited]
 

Definition at line 143 of file OSGDrawActionBase.inl.

References osg::DrawActionBase::_frustum.

00144 {
00145     return _frustum;
00146 }

void DrawActionBase::setFrustum FrustumVolume frust  )  [inherited]
 

Definition at line 328 of file OSGDrawActionBase.cpp.

References osg::DrawActionBase::_frustum.

00329 {
00330     _frustum = frustum;
00331 }

virtual bool osg::DrawActionBase::isVisible Node node  )  [pure virtual, inherited]
 

Implemented in osg::DrawAction, and osg::RenderAction.

Referenced by osg::Switch::draw(), osg::ProxyGroup::draw(), osg::DistanceLOD::draw(), and osg::DrawActionBase::selectVisibles().

UInt32 DrawActionBase::selectVisibles void   )  [inherited]
 

Definition at line 334 of file OSGDrawActionBase.cpp.

References osg::Action::addNode(), osg::dropVolume(), osg::DrawActionBase::getFrustumCulling(), osg::Action::getNNodes(), osg::Action::getNode(), osg::DrawActionBase::getVolumeDrawing(), osg::DrawActionBase::isVisible(), osg::Color3< ValueTypeT >::setValuesRGB(), and osg::Action::useNodeList().

Referenced by osg::Switch::draw(), osg::Transform::drawEnter(), osg::MaterialGroup::drawEnter(), osg::Light::drawEnter(), osg::Inline::drawEnter(), and osg::Group::drawEnter().

00335 {
00336     if(getFrustumCulling() == false)
00337         return getNNodes();
00338 
00339     useNodeList();
00340 
00341     Color3f col;
00342     
00343     UInt32 count = 0;
00344     for ( UInt32 i = 0; i < getNNodes(); i++ )
00345     {
00346         if ( isVisible( getNode(i).getCPtr() ) )
00347         {
00348             col.setValuesRGB(0,1,0);
00349             addNode( getNode(i) );
00350             ++count;
00351         }
00352         else
00353             col.setValuesRGB(1,0,0);
00354         
00355         if(getVolumeDrawing())
00356         {
00357             dropVolume(this, getNode(i), col);
00358         }
00359     }
00360 
00361     return count;
00362 }

Material * osg::DrawActionBase::getMaterial void   )  const [inline, inherited]
 

Definition at line 161 of file OSGDrawActionBase.inl.

References osg::DrawActionBase::_pMaterial.

Referenced by osg::DVRVolume::doDraw(), osg::MaterialDrawable::drawActionHandler(), osg::MaterialGroup::drawEnter(), osg::RenderAction::dropFunctor(), osg::RenderAction::dropGeometry(), osg::MaterialDrawable::renderActionHandler(), and osg::MaterialGroup::renderEnter().

00162 {
00163     return _pMaterial;
00164 }

NodePtr osg::DrawActionBase::getMaterialNode void   )  const [inline, inherited]
 

Definition at line 167 of file OSGDrawActionBase.inl.

References osg::DrawActionBase::_pMaterialNode.

Referenced by osg::MaterialGroup::drawLeave(), and osg::MaterialGroup::renderLeave().

00168 {
00169     return _pMaterialNode;
00170 }

void DrawActionBase::setMaterial Material pMaterial,
NodePtr  node
[inherited]
 

Definition at line 175 of file OSGDrawActionBase.cpp.

References osg::DrawActionBase::_pMaterial, and osg::DrawActionBase::_pMaterialNode.

Referenced by osg::MaterialGroup::drawEnter(), osg::MaterialGroup::drawLeave(), osg::MaterialGroup::renderEnter(), and osg::MaterialGroup::renderLeave().

00176 {
00177     _pMaterial     = pMaterial;
00178     _pMaterialNode = node;
00179 }

Action::ResultE DrawActionBase::start void   )  [virtual, inherited]
 

Reimplemented from osg::Action.

Reimplemented in osg::DrawAction, and osg::RenderAction.

Definition at line 182 of file OSGDrawActionBase.cpp.

References osg::DrawActionBase::_camera, osg::DrawActionBase::_frustum, osg::DrawActionBase::_mCameraToWorld, osg::DrawActionBase::_ownStat, osg::DrawActionBase::_statistics, osg::Action::Continue, osg::StatCollector::create(), osg::DrawActionBase::getAutoFrustum(), osg::DrawActionBase::getCamera(), osg::StatCollector::getElem(), osg::Camera::getFrustum(), osg::DrawActionBase::getFrustumCulling(), osg::DrawActionBase::getStatistics(), osg::Camera::getViewing(), osg::DrawActionBase::getViewport(), osg::TransformationMatrix< ValueTypeT >::invert(), osg::StatElem::reset(), osg::DrawActionBase::statCulledNodes, osg::DrawActionBase::statCullTestedNodes, osg::Drawable::statNLines, osg::Drawable::statNPoints, osg::Drawable::statNPrimitives, osg::Drawable::statNTriangles, osg::Drawable::statNVertices, and osg::DrawActionBase::statTravTime.

00183 {
00184     if(getFrustumCulling() == true &&
00185        getAutoFrustum   () == true &&
00186        getCamera        () != NULL &&
00187        getViewport      () != NULL)
00188     {
00189         getCamera()->getFrustum( _frustum, *getViewport() );
00190 //_frustum.dump();
00191     }
00192 
00193     if(_camera != NULL && getViewport() != NULL)
00194     {
00195         _camera->getViewing( _mCameraToWorld,
00196                              getViewport()->getPixelWidth(),
00197                              getViewport()->getPixelHeight() );
00198         _mCameraToWorld.invert();
00199     }
00200 
00201 //    cerr << "DA::start" << endl;
00202 
00203 //    cerr << _mCameraToWorld << endl << endl;
00204     
00205 
00206 #if 0 // Altered for last frame time
00207     if(_statistics == NULL)
00208     {
00209         _statistics = StatCollector::create();
00210         _ownStat = true;
00211     }
00212     else
00213     {
00214         _ownStat = false;        
00215     }
00216 #else
00217     if(_statistics == NULL)
00218     {
00219         _statistics = StatCollector::create();
00220         _ownStat = true;
00221     }
00222 #endif
00223 
00224     getStatistics()->getElem(statTravTime)->start();
00225     getStatistics()->getElem(statCullTestedNodes)->reset();
00226     getStatistics()->getElem(statCulledNodes)->reset();
00227    
00228     // this really doesn't belong here, but don't know a better place to put it
00229     if(getStatistics()->getElem(Drawable::statNTriangles,false))
00230     {
00231         getStatistics()->getElem(Drawable::statNTriangles)->set(0);
00232         getStatistics()->getElem(Drawable::statNLines)->set(0);
00233         getStatistics()->getElem(Drawable::statNPoints)->set(0);
00234         getStatistics()->getElem(Drawable::statNVertices)->set(0);
00235         getStatistics()->getElem(Drawable::statNPrimitives)->set(0);
00236     }
00237 
00238 //fprintf(stderr,"%p: start\n", Thread::getCurrent());
00239         
00240     return Action::Continue;
00241 }

Action::ResultE DrawActionBase::stop Action::ResultE  res  )  [virtual, inherited]
 

Definition at line 243 of file OSGDrawActionBase.cpp.

References osg::DrawActionBase::_frustum, osg::DrawActionBase::_ownStat, osg::DrawActionBase::_statistics, osg::drawVolume(), osg::StatCollector::getElem(), osg::DrawActionBase::getStatistics(), osg::DrawActionBase::getVolumeDrawing(), and osg::DrawActionBase::statTravTime.

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

00244 {
00245     if ( getVolumeDrawing() )
00246         drawVolume( _frustum );  
00247  
00248     getStatistics()->getElem(statTravTime)->stop();
00249   
00250 #if 0 // Altered for last frame time
00251     if(_ownStat)
00252     {
00253         delete _statistics;
00254         _statistics = NULL;
00255     }
00256     else
00257     {
00258         _ownStat = false;        
00259     }
00260 #endif
00261 
00262     return res; 
00263 }

Action::ResultE Action::stop ResultE  res  )  [protected, virtual, inherited]
 

Reimplemented in osg::RenderAction.

Definition at line 425 of file OSGAction.cpp.

Referenced by osg::Action::callStop().

00426 {
00427     return res;
00428 }

virtual std::vector<Functor>* osg::DrawActionBase::getDefaultEnterFunctors void   )  [protected, pure virtual, inherited]
 

Reimplemented from osg::Action.

Implemented in osg::DrawAction, and osg::RenderAction.

virtual std::vector<Functor>* osg::DrawActionBase::getDefaultLeaveFunctors void   )  [protected, pure virtual, inherited]
 

Reimplemented from osg::Action.

Implemented in osg::DrawAction, and osg::RenderAction.

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

Reimplemented in osg::DrawAction, osg::IntersectAction, and osg::VRMLWriteAction.

Definition at line 109 of file OSGAction.h.

00109 { return "Action"; }

Action * Action::create void   )  [static, inherited]
 

Reimplemented in osg::DrawAction, osg::IntersectAction, osg::RenderAction, and osg::VRMLWriteAction.

Definition at line 176 of file OSGAction.cpp.

References osg::Action::_prototype, and osg::Action::Action().

00177 {
00178     Action * act;
00179     
00180     if ( _prototype )
00181         act = new Action( *_prototype );
00182     else
00183         act = new Action();
00184     
00185     return act;
00186 }

void Action::setPrototype Action proto  )  [static, inherited]
 

Definition at line 119 of file OSGAction.cpp.

References osg::Action::_prototype.

00120 {
00121     _prototype = proto;
00122 }

Ac