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/a03673.html | 529 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 529 insertions(+) create mode 100644 docs/doxygen/nel/a03673.html (limited to 'docs/doxygen/nel/a03673.html') diff --git a/docs/doxygen/nel/a03673.html b/docs/doxygen/nel/a03673.html new file mode 100644 index 00000000..020c498f --- /dev/null +++ b/docs/doxygen/nel/a03673.html @@ -0,0 +1,529 @@ + + +NeL: NL3D::CVegetableClipBlock class Reference + + + +
+

NL3D::CVegetableClipBlock Class Reference

#include <vegetable_clip_block.h> +

+

Inheritance diagram for NL3D::CVegetableClipBlock: +

+ +NL3D::CTessNodeList + +

Detailed Description

+A block of vegetable instance groups (via sortBlocks) which are clipped in frustum together Internal to VegetableManager. Just an Handle for public.
Author:
Lionel Berenguier

+Nevrax France

+
Date:
2001
+ +

+ +

+Definition at line 52 of file vegetable_clip_block.h. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Fast clipping.

bool clip (const std::vector< CPlane > &pyramid)
void extendBBoxOnly (const CVector &vec)
void extendSphere (const CVector &vec)
void updateSphere ()
NLMISC::CAABBox _BBox
NLMISC::CBSphere _BSphere
bool _Empty

Public Member Functions

 CVegetableClipBlock ()
 Constructor.


Data Fields

CTessNodeListNext
CTessNodeListPrec

Private Attributes

uint _NumIgs
CVegetableClipBlock_RenderNext
CTessList< CVegetableSortBlock_SortBlockList

Friends

class CVegetableManager
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
NL3D::CVegetableClipBlock::CVegetableClipBlock  ) 
+
+ + + + + +
+   + + +

+Constructor. +

+ +

+Definition at line 36 of file vegetable_clip_block.cpp. +

+References _NumIgs, and _RenderNext. +

+

00037 {
+00038         _Empty= true;
+00039         _RenderNext= NULL;
+00040         _NumIgs= 0;
+00041 }
+
+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + +
bool NL3D::CVegetableClipBlock::clip const std::vector< CPlane > &  pyramid  )  [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 82 of file vegetable_clip_block.cpp. +

+References _BSphere, NLMISC::CBSphere::clipBack(), and uint. +

+Referenced by NL3D::CVegetableManager::render(). +

+

00083 {
+00084         if(_Empty) 
+00085                 return false;
+00086 
+00087         for(uint i=0;i<pyramid.size();i++)
+00088         {
+00089                 // If entirely out.
+00090                 if(!_BSphere.clipBack( pyramid[i] ))
+00091                 {
+00092                         return false;
+00093                 }
+00094         }
+00095 
+00096         return true;
+00097 }
+
+

+ + + + +
+ + + + + + + + + + +
void NL3D::CVegetableClipBlock::extendBBoxOnly const CVector vec  )  [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 45 of file vegetable_clip_block.cpp. +

+References NLMISC::CAABBox::extend(), and NLMISC::CAABBox::include(). +

+Referenced by NL3D::CVegetableManager::addInstance(), and extendSphere(). +

+

00046 {
+00047         if( !_BBox.include(vec) )
+00048         {
+00049                 _BBox.extend(vec);
+00050         }
+00051 }
+
+

+ + + + +
+ + + + + + + + + + +
void NL3D::CVegetableClipBlock::extendSphere const CVector vec  )  [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 62 of file vegetable_clip_block.cpp. +

+References _BSphere, NLMISC::CBSphere::Center, extendBBoxOnly(), NLMISC::CBSphere::Radius, NLMISC::CAABBox::setCenter(), NLMISC::CAABBox::setHalfSize(), and updateSphere(). +

+Referenced by NL3D::CVegetableManager::addInstance(). +

+

00063 {
+00064         if(_Empty)
+00065         {
+00066                 _Empty= false;
+00067                 _BBox.setCenter(vec);
+00068                 _BBox.setHalfSize(CVector::Null);
+00069                 _BSphere.Center= vec;
+00070                 _BSphere.Radius= 0;
+00071         }
+00072         else
+00073         {
+00074                 extendBBoxOnly(vec);
+00075                 updateSphere();
+00076         }
+00077 
+00078 }
+
+

+ + + + +
+ + + + + + + + + +
void NL3D::CVegetableClipBlock::updateSphere  )  [private]
+
+ + + + + +
+   + + +

+ +

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

+References _BSphere, NLMISC::CBSphere::Center, NLMISC::CAABBox::getCenter(), NLMISC::CAABBox::getRadius(), and NLMISC::CBSphere::Radius. +

+Referenced by NL3D::CVegetableManager::addInstance(), and extendSphere(). +

+

00056 {
+00057         _BSphere.Center= _BBox.getCenter();
+00058         _BSphere.Radius= _BBox.getRadius();
+00059 }
+
+


Friends And Related Function Documentation

+

+ + + + +
+ + +
friend class CVegetableManager [friend] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 62 of file vegetable_clip_block.h.

+


Field Documentation

+

+ + + + +
+ + +
NLMISC::CAABBox NL3D::CVegetableClipBlock::_BBox [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 68 of file vegetable_clip_block.h.

+

+ + + + +
+ + +
NLMISC::CBSphere NL3D::CVegetableClipBlock::_BSphere [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 69 of file vegetable_clip_block.h. +

+Referenced by clip(), extendSphere(), and updateSphere().

+

+ + + + +
+ + +
bool NL3D::CVegetableClipBlock::_Empty [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 67 of file vegetable_clip_block.h.

+

+ + + + +
+ + +
uint NL3D::CVegetableClipBlock::_NumIgs [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 89 of file vegetable_clip_block.h. +

+Referenced by NL3D::CVegetableManager::createIg(), CVegetableClipBlock(), and NL3D::CVegetableManager::deleteIg().

+

+ + + + +
+ + +
CVegetableClipBlock* NL3D::CVegetableClipBlock::_RenderNext [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 92 of file vegetable_clip_block.h. +

+Referenced by CVegetableClipBlock(), and NL3D::CVegetableManager::render().

+

+ + + + +
+ + +
CTessList<CVegetableSortBlock> NL3D::CVegetableClipBlock::_SortBlockList [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 86 of file vegetable_clip_block.h. +

+Referenced by NL3D::CVegetableManager::createSortBlock(), NL3D::CVegetableManager::deleteClipBlock(), NL3D::CVegetableManager::deleteSortBlock(), and NL3D::CVegetableManager::render().

+

+ + + + +
+ + +
CTessNodeList* NL3D::CTessNodeList::Next [inherited] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 44 of file tess_list.h. +

+Referenced by NL3D::CVegetableManager::addInstance(), NL3D::CLandscape::computeDynamicLighting(), NL3D::CPatch::computeGeomorphAlphaFar1VertexListVB(), NL3D::CPatch::computeGeomorphFar0VertexListVB(), NL3D::CPatch::computeGeomorphTileVertexListVB(), NL3D::CPatch::computeGeomorphVertexList(), NL3D::CPatch::debugAllocationMarkIndicesFarList(), NL3D::CPatch::debugAllocationMarkIndicesNearList(), NL3D::CPatch::fillFar0DLMUvOnlyVertexListVB(), NL3D::CPatch::fillFar0VertexListVB(), NL3D::CPatch::fillFar1DLMUvOnlyVertexListVB(), NL3D::CPatch::fillFar1VertexListVB(), NL3D::CPatch::fillTileVertexListVB(), NL3D::CLandscape::getDynamicLightingMemoryLoad(), NL3D::CTessBlock::refillFaceVectorFar0(), NL3D::CTessBlock::refillFaceVectorFar1(), NL3D::CTessBlock::refillFaceVectorTile(), NL3D::CLandscape::refine(), NL3D::CVegetableManager::render(), NL3D::CLandscape::render(), NL3D::CPatch::updateFar0VBAlloc(), NL3D::CPatch::updateFar1VBAlloc(), NL3D::CVegetableSortBlock::updateSortBlock(), and NL3D::CPatch::updateTileVBAlloc().

+

+ + + + +
+ + +
CTessNodeList* NL3D::CTessNodeList::Prec [inherited] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 43 of file tess_list.h. +

+Referenced by NL3D::CTessNodeList::CTessNodeList().

+


The documentation for this class was generated from the following files: +
Generated on Tue Mar 16 08:21:08 2004 for NeL by + +doxygen +1.3.6
+ + -- cgit v1.2.1