scg3  0.6
scg::RenderTraverser Class Reference

A traverser that renders the scene graph (visitor pattern). More...

#include "RenderTraverser.h"

Inheritance diagram for scg::RenderTraverser:
[legend]
Collaboration diagram for scg::RenderTraverser:
[legend]

Public Member Functions

 RenderTraverser (RenderState *renderState)
 
virtual ~RenderTraverser ()
 
virtual void visitShape (Shape *node)
 
virtual void visitCamera (Camera *node)
 
virtual void visitPostCamera (Camera *node)
 
virtual void visitGroup (Group *node)
 
virtual void visitPostGroup (Group *node)
 
virtual void visitLight (Light *node)
 
virtual void visitPostLight (Light *node)
 
virtual void visitTransformation (Transformation *node)
 
virtual void visitPostTransformation (Transformation *node)
 
- Public Member Functions inherited from scg::Traverser
 Traverser (RenderState *renderState)
 
virtual ~Traverser ()=0
 
virtual void visitLightPosition (LightPosition *node)
 

Additional Inherited Members

- Protected Attributes inherited from scg::Traverser
RenderStaterenderState_
 

Detailed Description

A traverser that renders the scene graph (visitor pattern).

Definition at line 43 of file RenderTraverser.h.

Constructor & Destructor Documentation

◆ RenderTraverser()

scg::RenderTraverser::RenderTraverser ( RenderState renderState)

Constructor.

◆ ~RenderTraverser()

virtual scg::RenderTraverser::~RenderTraverser ( )
virtual

Destructor.

Member Function Documentation

◆ visitCamera()

virtual void scg::RenderTraverser::visitCamera ( Camera node)
virtual

Visit Camera node: apply camera transformation, update model-view matrix of RenderState, render cores.

Reimplemented from scg::Traverser.

◆ visitGroup()

virtual void scg::RenderTraverser::visitGroup ( Group node)
virtual

Visit Group node: render cores.

Reimplemented from scg::Traverser.

◆ visitLight()

virtual void scg::RenderTraverser::visitLight ( Light node)
virtual

Visit Light node: enable light.

Reimplemented from scg::Traverser.

◆ visitPostCamera()

virtual void scg::RenderTraverser::visitPostCamera ( Camera node)
virtual

Visit Camera node after traversing sub-tree: restore model-view matrix of RenderState.

Reimplemented from scg::Traverser.

◆ visitPostGroup()

virtual void scg::RenderTraverser::visitPostGroup ( Group node)
virtual

Visit Group node after traversing sub-tree: restore state.

Reimplemented from scg::Traverser.

◆ visitPostLight()

virtual void scg::RenderTraverser::visitPostLight ( Light node)
virtual

Visit Light node after traversing sub-tree: disable light.

Reimplemented from scg::Traverser.

◆ visitPostTransformation()

virtual void scg::RenderTraverser::visitPostTransformation ( Transformation node)
virtual

Visit Transformation node after traversing sub-tree: restore model-view matrix of RenderState.

Reimplemented from scg::Traverser.

◆ visitShape()

virtual void scg::RenderTraverser::visitShape ( Shape node)
virtual

Visit Shape node: render cores.

Reimplemented from scg::Traverser.

◆ visitTransformation()

virtual void scg::RenderTraverser::visitTransformation ( Transformation node)
virtual

Visit Transformation node: update model-view matrix of RenderState.

Reimplemented from scg::Traverser.


The documentation for this class was generated from the following file: