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/clip__trav_8h-source.html | 214 +++++++++++++++++++++++++++++ 1 file changed, 214 insertions(+) create mode 100644 docs/doxygen/nel/clip__trav_8h-source.html (limited to 'docs/doxygen/nel/clip__trav_8h-source.html') diff --git a/docs/doxygen/nel/clip__trav_8h-source.html b/docs/doxygen/nel/clip__trav_8h-source.html new file mode 100644 index 00000000..fd652908 --- /dev/null +++ b/docs/doxygen/nel/clip__trav_8h-source.html @@ -0,0 +1,214 @@ + + + + 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  
+

clip_trav.h

Go to the documentation of this file.
00001 
+00007 /* Copyright, 2000 Nevrax Ltd.
+00008  *
+00009  * This file is part of NEVRAX NEL.
+00010  * NEVRAX NEL is free software; you can redistribute it and/or modify
+00011  * it under the terms of the GNU General Public License as published by
+00012  * the Free Software Foundation; either version 2, or (at your option)
+00013  * any later version.
+00014 
+00015  * NEVRAX NEL is distributed in the hope that it will be useful, but
+00016  * WITHOUT ANY WARRANTY; without even the implied warranty of
+00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+00018  * General Public License for more details.
+00019 
+00020  * You should have received a copy of the GNU General Public License
+00021  * along with NEVRAX NEL; see the file COPYING. If not, write to the
+00022  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+00023  * MA 02111-1307, USA.
+00024  */
+00025 
+00026 #ifndef NL_CLIP_TRAV_H
+00027 #define NL_CLIP_TRAV_H
+00028 
+00029 #include "3d/trav_scene.h"
+00030 #include "3d/quad_grid.h"
+00031 #include "nel/misc/vector.h"
+00032 #include "nel/misc/plane.h"
+00033 #include "nel/misc/matrix.h"
+00034 
+00035 
+00036 namespace       NL3D
+00037 {
+00038 
+00039 using NLMISC::CVector;
+00040 using NLMISC::CPlane;
+00041 using NLMISC::CMatrix;
+00042 
+00043 
+00044 class   IBaseClipObs;
+00045 class   CRenderTrav;
+00046 class   CAnimDetailTrav;
+00047 class   CLoadBalancingTrav;
+00048 class   CHrcTrav;
+00049 class   CLightTrav;
+00050 class   CCluster;
+00051 class   CInstanceGroup;
+00052 class   CCamera;
+00053 class   CQuadGridClipManager;
+00054 class   CRootModel;
+00055 class   CTransformClipObs;
+00056 
+00057 
+00058 // ***************************************************************************
+00059 // This is the order of clip planes.
+00060 #define NL3D_CLIP_PLANE_NEAR    0
+00061 #define NL3D_CLIP_PLANE_FAR             1
+00062 #define NL3D_CLIP_PLANE_LEFT    2
+00063 #define NL3D_CLIP_PLANE_TOP             3
+00064 #define NL3D_CLIP_PLANE_RIGHT   4
+00065 #define NL3D_CLIP_PLANE_BOTTOM  5
+00066 
+00067 
+00068 // ***************************************************************************
+00069 // ClassIds.
+00070 const NLMISC::CClassId          ClipTravId=NLMISC::CClassId(0x135208fe, 0x225334fc);
+00071 
+00072 // ***************************************************************************
+00091 class CClipTrav : public ITravCameraScene
+00092 {
+00093 public:
+00094 
+00096         CClipTrav();
+00097         ~CClipTrav();
+00098 
+00100 
+00101         IObs                            *createDefaultObs () const;
+00102         NLMISC::CClassId        getClassId () const {return ClipTravId;}
+00103         sint                            getRenderOrder () const {return 2000;}
+00104         void                            traverse ();
+00106 
+00107         void registerCluster (CCluster* pCluster);
+00108         void unregisterCluster (CCluster* pCluster);
+00109 
+00111         void setHrcTrav (CHrcTrav* trav);
+00112         void setAnimDetailTrav(CAnimDetailTrav *trav);
+00113         void setLoadBalancingTrav(CLoadBalancingTrav *trav);
+00114         void setLightTrav (CLightTrav* trav);
+00115         void setRenderTrav (CRenderTrav* trav);
+00116         void setQuadGridClipManager(CQuadGridClipManager *mgr);
+00117 
+00118 
+00119         bool fullSearch (std::vector<CCluster*>& result, CInstanceGroup *pIG, CVector& pos);
+00120 
+00122 
+00123         // For ClipObservers only. NB: list is cleared at begining of traverse().
+00124         void                            addVisibleObs(CTransformClipObs *obs);
+00126 
+00127 
+00128         void                            setSonsOfAncestorSkeletonModelGroup(CRootModel *m);
+00129 
+00130 public:
+00131 
+00136 
+00137         std::vector<CPlane>     ViewPyramid;
+00139         std::vector<CPlane>     WorldFrustumPyramid;
+00141         std::vector<CPlane>     WorldPyramid;   
+00143         CHrcTrav                        *HrcTrav;
+00144         CAnimDetailTrav         *AnimDetailTrav;
+00145         CLoadBalancingTrav      *LoadBalancingTrav;
+00146         CLightTrav                      *LightTrav;
+00147         CRenderTrav                     *RenderTrav;
+00149         sint64 CurrentDate;
+00150 
+00151         CCluster *RootCluster;
+00152         CCamera *Camera;
+00153         
+00154         CQuadGrid<CCluster*> Accel;
+00155 
+00159         bool                            ForceNoFrustumClip;
+00160 
+00161 
+00162         // For skeleton stickObject.
+00163         CRootModel              *SonsOfAncestorSkeletonModelGroup;
+00164 
+00165 private:
+00166         friend class    IBaseClipObs;
+00167 
+00168         std::vector<CTransformClipObs*> _VisibleList;
+00169 
+00170         CQuadGridClipManager            *_QuadGridClipManager;
+00171 };
+00172 
+00173 
+00174 
+00175 }
+00176 
+00177 
+00178 #endif // NL_CLIP_TRAV_H
+00179 
+00180 /* End of clip_trav.h */
+
+ + +
                                                                                                                                                                    +
+ + -- cgit v1.2.1