# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::CClipTrav Class Reference

The clip traversal. More...

#include <clip_trav.h>

Inheritance diagram for NL3D::CClipTrav

Inheritance graph
[legend]
Collaboration diagram for NL3D::CClipTrav:

Collaboration graph
[legend]
List of all members.

Public Methods

 CClipTrav ()
 Constructor. More...

void setRenderTrav (CRenderTrav *trav)
 Setup the render traversal (else traverse() won't work). More...

ITrav/ITravScene Implementation.
IObscreateDefaultObs () const
 This method must create a default observer for this traversal. More...

NLMISC::CClassId getClassId () const
 This function must return the Unique Ident for this traversal class. More...

sint getRenderOrder () const
 Return the order of the traversal. More...

void traverse ()
 Execute the traversal. More...


Public Attributes

FOR OBSERVERS ONLY. (Read only)
Those variables are valid only in traverse().

std::vector<CPlane> ViewPyramid
 Vision Pyramid (6 normalized planes) in the view basis. More...

std::vector<CPlane> WorldPyramid
 Vision Pyramid (6 normalized planes) in the world basis. More...

CRenderTravRenderTrav
 Shortcut to the Rdr Traversals (to add the models rdr observers). More...


Detailed Description

The clip traversal.

The purpose of this traversal is to insert in the RenderTraversal the observers which are said to be not clipped. Some observers may do something else.

Observer should use the IBaseHrcObs->clip() method to implement their observer, or completly redefine the traverse() method.

USER RULES: Before using traverse() on a clip traversal, you should:

NB: see CScene for 3d conventions (orthonormal basis...)
See also:
CScene IBaseClipObs
Author(s):
Lionel Berenguier , Nevrax France
Date:
2000

Definition at line 72 of file clip_trav.h.


Constructor & Destructor Documentation

NL3D::CClipTrav::CClipTrav ( )
 

Constructor.

Definition at line 39 of file clip_trav.cpp.


Member Function Documentation

IObs * NL3D::CClipTrav::createDefaultObs ( ) const [virtual]
 

This method must create a default observer for this traversal.

Any model which doesn't provide (by registerObs() or by inheritance) an observer for this view will be linked with this default observer.

Reimplemented from NL3D::ITrav.

Definition at line 45 of file clip_trav.cpp.

NLMISC::CClassId NL3D::CClipTrav::getClassId ( ) const [inline, virtual]
 

This function must return the Unique Ident for this traversal class.

Reimplemented from NL3D::ITrav.

Definition at line 82 of file clip_trav.h.

sint NL3D::CClipTrav::getRenderOrder ( ) const [inline, virtual]
 

Return the order of the traversal.

This is usefull for CScene::render() method. It indicate when the traversal is called. Order for basic traversal are:

Reimplemented from NL3D::ITravScene.

Definition at line 83 of file clip_trav.h.

void NL3D::CClipTrav::setRenderTrav ( CRenderTrav * trav )
 

Setup the render traversal (else traverse() won't work).

Definition at line 94 of file clip_trav.cpp.

void NL3D::CClipTrav::traverse ( ) [virtual]
 

Execute the traversal.

CScene::render() will call this method, to execute the traversal.

Reimplemented from NL3D::ITravScene.

Definition at line 52 of file clip_trav.cpp.


Member Data Documentation

CRenderTrav * NL3D::CClipTrav::RenderTrav
 

Shortcut to the Rdr Traversals (to add the models rdr observers).

Definition at line 102 of file clip_trav.h.

std::vector< CPlane > NL3D::CClipTrav::ViewPyramid
 

Vision Pyramid (6 normalized planes) in the view basis.

Definition at line 98 of file clip_trav.h.

std::vector< CPlane > NL3D::CClipTrav::WorldPyramid
 

Vision Pyramid (6 normalized planes) in the world basis.

Definition at line 100 of file clip_trav.h.


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