|
|
|
|
Documentation |
|
Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages Search
NL3D::IBaseClipObs Class ReferenceThe base interface for clip traversal.
More...
#include <base_clip_obs.h>
Inheritance diagram for NL3D::IBaseClipObs:
List of all members.
Detailed Description
The base interface for clip traversal.
Clip observers MUST derive from IBaseClipObs. This observer:
- leave the notification system to DO NOTHING.
- implement the init() method, to set shortcut to neighbor observers.
DERIVER RULES:
- implement the notification system (see IObs and IObs() for details).
- implement the clip() method.
- implement the traverse(), which should call clip(). see CTransform for an implementation.
- possibly modify/extend the graph methods (such as a graph behavior).
-
See also:
-
CClipTrav
-
Author:
-
Lionel Berenguier , Nevrax France
-
Date:
-
2000
Definition at line 62 of file base_clip_obs.h.
Member Enumeration Documentation
enum NL3D::IBaseClipObs::TClipReason
|
|
|
-
Enumeration values:
-
FrustumClip |
|
DistMaxClip |
|
countClip |
|
Definition at line 76 of file base_clip_obs.h. |
Constructor & Destructor Documentation
NL3D::IBaseClipObs::IBaseClipObs |
( |
|
) |
[inline] |
|
|
Constructor.
Definition at line 82 of file base_clip_obs.h.
References _IndexInVisibleList, HrcObs, RenderObs, and Visible.
Referenced by NL3D::CVegetableBlendLayerClipObs::clip, NL3D::CTransformClipObs::clip, NL3D::CSkipModelClipObs::clip, NL3D::CRootModelClipObs::clip, NL3D::CQuadGridClipClusterClipObs::clip, NL3D::CDefaultClipObs::clip, forceClip, and NL3D::CTransformClipObs::traverse. |
NL3D::IBaseClipObs::~IBaseClipObs |
( |
|
) |
[virtual] |
|
Member Function Documentation
virtual bool NL3D::IBaseClipObs::clip |
( |
IBaseClipObs * |
caller |
) |
[pure virtual] |
|
|
Should return true if object is visible (eg in frustum).
-
Parameters:
-
caller |
the caller obs (may NULL) |
Implemented in NL3D::CDefaultClipObs. |
void NL3D::IBaseClipObs::forceClip |
( |
TClipReason |
clipReason |
) |
[virtual] |
|
void NL3D::IBaseClipObs::init |
( |
|
) |
[virtual] |
|
virtual bool NL3D::IBaseClipObs::isTreeNode |
( |
|
) |
[inline, virtual] |
|
|
Because the clip traversal is a graph of observer not a hierarchy.
Reimplemented from NL3D::IObs.
Definition at line 123 of file base_clip_obs.h. |
virtual void NL3D::IBaseClipObs::traverse |
( |
IObs * |
caller |
) |
[pure virtual] |
|
|
The base doit method.
The default behavior should be:
- test if HrcObs->WorldVis is visible.
- test if the observer is clipped with clip()
- if visible and not clipped, set
Visible=true (else false). - if Visible==true, add it to the post-clip traversals which need it (if renderable, animDetailable etc...)
- always traverseSons(), to clip the sons.
Implements NL3D::IObs.
Implemented in NL3D::CDefaultClipObs. |
Friends And Related Function Documentation
friend class CClipTrav [friend]
|
|
Member Data Documentation
sint NL3D::IBaseClipObs::_IndexInVisibleList [private]
|
|
bool NL3D::IBaseClipObs::Visible
|
|
The documentation for this class was generated from the following files:
|
|