From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/classNL3D_1_1CClipTrav.html | 1264 ++++++++++++++++++++++++++ 1 file changed, 1264 insertions(+) create mode 100644 docs/doxygen/nel/classNL3D_1_1CClipTrav.html (limited to 'docs/doxygen/nel/classNL3D_1_1CClipTrav.html') diff --git a/docs/doxygen/nel/classNL3D_1_1CClipTrav.html b/docs/doxygen/nel/classNL3D_1_1CClipTrav.html new file mode 100644 index 00000000..d7a8c633 --- /dev/null +++ b/docs/doxygen/nel/classNL3D_1_1CClipTrav.html @@ -0,0 +1,1264 @@ + + + + nevrax.org : docs + + + + + + + + + + + + + + +
# 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: +

+ +NL3D::ITravCameraScene +NL3D::ITravScene +NL3D::ITrav +NLMISC::CRefCount + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Methods

 CClipTrav ()
 Constructor. More...

 ~CClipTrav ()
void registerCluster (CCluster *pCluster)
void unregisterCluster (CCluster *pCluster)
void setHrcTrav (CHrcTrav *trav)
 Setup the render traversal (else traverse() won't work). More...

void setAnimDetailTrav (CAnimDetailTrav *trav)
void setLoadBalancingTrav (CLoadBalancingTrav *trav)
void setLightTrav (CLightTrav *trav)
void setRenderTrav (CRenderTrav *trav)
void setQuadGridClipManager (CQuadGridClipManager *mgr)
bool fullSearch (std::vector< CCluster * > &result, CInstanceGroup *pIG, CVector &pos)
void setSonsOfAncestorSkeletonModelGroup (CRootModel *m)
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...

Visible List mgt. Those visible observers are updated each traverse(). Only support Transform Type obs.
void addVisibleObs (CTransformClipObs *obs)

Public Attributes

sint64 CurrentDate
CClusterRootCluster
CCameraCamera
CQuadGrid< CCluster * > Accel
bool ForceNoFrustumClip
 for CQuadGridClipClusterClipObs only. More...

CRootModelSonsOfAncestorSkeletonModelGroup
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 > WorldFrustumPyramid
 Vision Pyramid (6 normalized planes) in the world basis. NB: NOT modified by the ClusterSystem. More...

std::vector< CPlane > WorldPyramid
 Vision Pyramid in the world basis. NB: may be modified by the ClusterSystem. More...

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

CAnimDetailTravAnimDetailTrav
CLoadBalancingTravLoadBalancingTrav
CLightTravLightTrav
CRenderTravRenderTrav

Private Methods

void loadBalanceSkeletonCLod ()

Private Attributes

std::vector< CTransformClipObs * > _VisibleList
CQuadGridClipManager_QuadGridClipManager
std::vector< CSkeletonKey_TmpSortSkeletons

Friends

class IBaseClipObs
+

Detailed Description

+The clip traversal. +

+The purpose of this traversal is to insert in the post-clip Traversal 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:
+Lionel Berenguier , Nevrax France
+Date:
+2000
+

+ +

+Definition at line 91 of file clip_trav.h.


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
NL3D::CClipTrav::CClipTrav  
+
+ + + + + +
+   + + +

+Constructor. +

+ +

+Definition at line 55 of file clip_trav.cpp. +

+References _QuadGridClipManager, _VisibleList, Accel, AnimDetailTrav, CurrentDate, ForceNoFrustumClip, HrcTrav, LightTrav, LoadBalancingTrav, and RenderTrav.

+

+ + + + +
+ + + + + + + + + +
NL3D::CClipTrav::~CClipTrav  
+
+ + + + + +
+   + + +

+ +

+Definition at line 73 of file clip_trav.cpp.

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CClipTrav::addVisibleObs CTransformClipObs  obs
+
+ + + + + +
+   + + +

+ +

+Definition at line 425 of file clip_trav.cpp. +

+References _VisibleList.

+

+ + + + +
+ + + + + + + + + +
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. +

+Implements NL3D::ITrav. +

+Definition at line 78 of file clip_trav.cpp.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
bool NL3D::CClipTrav::fullSearch std::vector< CCluster * > &   result,
CInstanceGroup  pIG,
CVector &   pos
+
+ + + + + +
+   + + +

+ +

+Definition at line 84 of file clip_trav.cpp. +

+Referenced by traverse.

+

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

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

+ +

+Implements NL3D::ITrav. +

+Definition at line 102 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:

+ +

+Implements NL3D::ITravScene. +

+Definition at line 103 of file clip_trav.h.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CClipTrav::loadBalanceSkeletonCLod   [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 433 of file clip_trav.cpp. +

+References _TmpSortSkeletons, min, NL3D::OptFastFloor, and NL3D::ITravScene::Scene. +

+Referenced by traverse.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CClipTrav::registerCluster CCluster  pCluster
+
+ + + + + +
+   + + +

+ +

+Definition at line 394 of file clip_trav.cpp. +

+References Accel.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CClipTrav::setAnimDetailTrav CAnimDetailTrav  trav
+
+ + + + + +
+   + + +

+ +

+Definition at line 364 of file clip_trav.cpp. +

+References AnimDetailTrav.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CClipTrav::setHrcTrav CHrcTrav  trav
+
+ + + + + +
+   + + +

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

+ +

+Definition at line 358 of file clip_trav.cpp. +

+References HrcTrav.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CClipTrav::setLightTrav CLightTrav  trav
+
+ + + + + +
+   + + +

+ +

+Definition at line 376 of file clip_trav.cpp. +

+References LightTrav.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CClipTrav::setLoadBalancingTrav CLoadBalancingTrav  trav
+
+ + + + + +
+   + + +

+ +

+Definition at line 370 of file clip_trav.cpp. +

+References LoadBalancingTrav.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CClipTrav::setQuadGridClipManager CQuadGridClipManager  mgr
+
+ + + + + +
+   + + +

+ +

+Definition at line 388 of file clip_trav.cpp. +

+References _QuadGridClipManager.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CClipTrav::setRenderTrav CRenderTrav  trav
+
+ + + + + +
+   + + +

+ +

+Definition at line 382 of file clip_trav.cpp. +

+References RenderTrav.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CClipTrav::setSonsOfAncestorSkeletonModelGroup CRootModel  m
+
+ + + + + +
+   + + +

+ +

+Definition at line 418 of file clip_trav.cpp. +

+References SonsOfAncestorSkeletonModelGroup.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CClipTrav::traverse   [virtual]
+
+ + + + + +
+   + + +

+Execute the traversal. +

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

+Implements NL3D::ITravScene. +

+Definition at line 108 of file clip_trav.cpp. +

+References _QuadGridClipManager, _VisibleList, Accel, AnimDetailTrav, NL3D::ITravCameraScene::Bottom, Camera, NL3D::ITravCameraScene::CamPos, CurrentDate, NL3D::ITravCameraScene::Far, fullSearch, NL3D::ITrav::getFirstParent, NL3D::ITrav::getNextParent, H_AUTO, HrcTrav, NL3D::ITravCameraScene::Left, LightTrav, NL3D::ITrav::link, loadBalanceSkeletonCLod, LoadBalancingTrav, NL3D::ITravCameraScene::Near, NL3D_CLIP_PLANE_BOTTOM, NL3D_CLIP_PLANE_FAR, NL3D_CLIP_PLANE_LEFT, NL3D_CLIP_PLANE_NEAR, NL3D_CLIP_PLANE_RIGHT, NL3D_CLIP_PLANE_TOP, nlassert, RenderTrav, NL3D::ITravCameraScene::Right, NL3D::ITrav::Root, RootCluster, s, NL3D::ITravScene::Scene, SonsOfAncestorSkeletonModelGroup, NL3D::ITravCameraScene::Top, NL3D::ITrav::unlink, NL3D::ITravCameraScene::ViewMatrix, ViewPyramid, WorldFrustumPyramid, and WorldPyramid.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CClipTrav::unregisterCluster CCluster  pCluster
+
+ + + + + +
+   + + +

+ +

+Definition at line 400 of file clip_trav.cpp. +

+References Accel.

+


Friends And Related Function Documentation

+

+ + + + +
+ + +
friend class IBaseClipObs [friend] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 167 of file clip_trav.h.

+


Member Data Documentation

+

+ + + + +
+ + +
CQuadGridClipManager* NL3D::CClipTrav::_QuadGridClipManager [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 171 of file clip_trav.h. +

+Referenced by CClipTrav, setQuadGridClipManager, and traverse.

+

+ + + + +
+ + +
std::vector<CSkeletonKey> NL3D::CClipTrav::_TmpSortSkeletons [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 184 of file clip_trav.h. +

+Referenced by loadBalanceSkeletonCLod.

+

+ + + + +
+ + +
std::vector<CTransformClipObs*> NL3D::CClipTrav::_VisibleList [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 169 of file clip_trav.h. +

+Referenced by addVisibleObs, CClipTrav, and traverse.

+

+ + + + +
+ + +
CQuadGrid<CCluster*> NL3D::CClipTrav::Accel +
+
+ + + + + +
+   + + +

+ +

+Definition at line 154 of file clip_trav.h. +

+Referenced by CClipTrav, registerCluster, traverse, and unregisterCluster.

+

+ + + + +
+ + +
CAnimDetailTrav* NL3D::CClipTrav::AnimDetailTrav +
+
+ + + + + +
+   + + +

+ +

+Definition at line 144 of file clip_trav.h. +

+Referenced by CClipTrav, setAnimDetailTrav, and traverse.

+

+ + + + +
+ + +
CCamera* NL3D::CClipTrav::Camera +
+
+ + + + + +
+   + + +

+ +

+Definition at line 152 of file clip_trav.h. +

+Referenced by traverse.

+

+ + + + +
+ + +
sint64 NL3D::CClipTrav::CurrentDate +
+
+ + + + + +
+   + + +

+ +

+Definition at line 149 of file clip_trav.h. +

+Referenced by CClipTrav, and traverse.

+

+ + + + +
+ + +
bool NL3D::CClipTrav::ForceNoFrustumClip +
+
+ + + + + +
+   + + +

+for CQuadGridClipClusterClipObs only. +

+This flag means observers traversed do not need to clip, they are sure to be visible. +

+Definition at line 159 of file clip_trav.h. +

+Referenced by CClipTrav.

+

+ + + + +
+ + +
CHrcTrav* NL3D::CClipTrav::HrcTrav +
+
+ + + + + +
+   + + +

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

+ +

+Definition at line 143 of file clip_trav.h. +

+Referenced by CClipTrav, setHrcTrav, and traverse.

+

+ + + + +
+ + +
CLightTrav* NL3D::CClipTrav::LightTrav +
+
+ + + + + +
+   + + +

+ +

+Definition at line 146 of file clip_trav.h. +

+Referenced by CClipTrav, setLightTrav, and traverse.

+

+ + + + +
+ + +
CLoadBalancingTrav* NL3D::CClipTrav::LoadBalancingTrav +
+
+ + + + + +
+   + + +

+ +

+Definition at line 145 of file clip_trav.h. +

+Referenced by CClipTrav, setLoadBalancingTrav, and traverse.

+

+ + + + +
+ + +
CRenderTrav* NL3D::CClipTrav::RenderTrav +
+
+ + + + + +
+   + + +

+ +

+Definition at line 147 of file clip_trav.h. +

+Referenced by CClipTrav, setRenderTrav, and traverse.

+

+ + + + +
+ + +
CCluster* NL3D::CClipTrav::RootCluster +
+
+ + + + + +
+   + + +

+ +

+Definition at line 151 of file clip_trav.h. +

+Referenced by traverse.

+

+ + + + +
+ + +
CRootModel* NL3D::CClipTrav::SonsOfAncestorSkeletonModelGroup +
+
+ + + + + +
+   + + +

+ +

+Definition at line 163 of file clip_trav.h. +

+Referenced by setSonsOfAncestorSkeletonModelGroup, and traverse.

+

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

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

+ +

+Definition at line 137 of file clip_trav.h. +

+Referenced by traverse.

+

+ + + + +
+ + +
std::vector<CPlane> NL3D::CClipTrav::WorldFrustumPyramid +
+
+ + + + + +
+   + + +

+Vision Pyramid (6 normalized planes) in the world basis. NB: NOT modified by the ClusterSystem. +

+ +

+Definition at line 139 of file clip_trav.h. +

+Referenced by traverse.

+

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

+Vision Pyramid in the world basis. NB: may be modified by the ClusterSystem. +

+ +

+Definition at line 141 of file clip_trav.h. +

+Referenced by traverse.

+


The documentation for this class was generated from the following files: + + + +
                                                                                                                                                                    +
+ + -- cgit v1.2.1