# 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::CTessBlock Class Reference

A block of 2*2 tiles, for accurate clipping. More...

#include <tess_block.h>

List of all members.

Public Methods

 CTessBlock ()
 ~CTessBlock ()
void init (CPatch *patch)
CPatchgetPatch ()
void extendSphereFirst (const CVector &vec)
void extendSphereAdd (const CVector &vec)
void extendSphereCompile ()
void resetClip ()
void forceClip ()
void clip ()
void clipFar (const CVector &refineCenter, float tileDistNear, float farTransition)
bool getClipped () const
bool visibleFar0 () const
bool visibleTile () const
bool visibleFar1 () const
void createFaceVectorFar0 (CLandscapeFaceVectorManager &mgr)
void deleteFaceVectorFar0 (CLandscapeFaceVectorManager &mgr)
void createFaceVectorFar1 (CLandscapeFaceVectorManager &mgr)
void deleteFaceVectorFar1 (CLandscapeFaceVectorManager &mgr)
void createFaceVectorTile (CLandscapeFaceVectorManager &mgr)
void deleteFaceVectorTile (CLandscapeFaceVectorManager &mgr)
void refillFaceVectorFar0 ()
void refillFaceVectorFar1 ()
void refillFaceVectorTile ()
bool isInModifyList () const
void appendToModifyListAndDeleteFaceVector (CTessBlock &root, CLandscapeFaceVectorManager &mgr)
void removeFromModifyList ()
CTessBlock * getNextToModify ()

Public Attributes

CTessList< CTessFarVertexFarVertexList
CTessList< CTessNearVertexNearVertexList
CTessList< CTessFaceFarFaceList
CTileMaterialRdrTileRoot [NL3D_TESSBLOCK_TILESIZE]
uint FaceTileMaterialRefCount
uint TileMaterialRefCount
CLandscapeFaceVectorFar0FaceVector
CLandscapeFaceVectorFar1FaceVector
uint LightMapId
uint LightMapRefCount
CPatchRdrPassLightMapRdrPass
CLandscapeVegetableBlockVegetableBlock

Static Public Attributes

CPlane CurrentPyramid [NL3D_TESSBLOCK_NUM_CLIP_PLANE]

Private Attributes

NLMISC::CAABBox BBox
NLMISC::CBSphere BSphere
bool Empty
bool Clipped
bool FullFar1
bool EmptyFar1
CPatch_Patch
CTessBlock * _PrecToModify
CTessBlock * _NextToModify


Detailed Description

A block of 2*2 tiles, for accurate clipping.

Author:
Lionel Berenguier , Nevrax France
Date:
2000

Definition at line 59 of file tess_block.h.


Constructor & Destructor Documentation

NL3D::CTessBlock::CTessBlock  
 

Definition at line 42 of file tess_block.cpp.

References _NextToModify, _Patch, _PrecToModify, Clipped, Empty, EmptyFar1, FaceTileMaterialRefCount, Far0FaceVector, Far1FaceVector, FullFar1, LightMapRefCount, NL3D_TESSBLOCK_TILESIZE, RdrTileRoot, TileMaterialRefCount, and VegetableBlock.

Referenced by getNextToModify.

NL3D::CTessBlock::~CTessBlock  
 

Definition at line 77 of file tess_block.cpp.

References isInModifyList, LightMapRefCount, nlassert, and removeFromModifyList.


Member Function Documentation

void NL3D::CTessBlock::appendToModifyListAndDeleteFaceVector CTessBlock &    root,
CLandscapeFaceVectorManager   mgr
 

Definition at line 354 of file tess_block.cpp.

References _NextToModify, _PrecToModify, deleteFaceVectorFar0, deleteFaceVectorFar1, deleteFaceVectorTile, and isInModifyList.

void NL3D::CTessBlock::clip  
 

Definition at line 146 of file tess_block.cpp.

References BSphere, NLMISC::CBSphere::clipBack, Clipped, and NL3D_TESSBLOCK_NUM_CLIP_PLANE.

void NL3D::CTessBlock::clipFar const CVector &    refineCenter,
float    tileDistNear,
float    farTransition
 

Definition at line 160 of file tess_block.cpp.

References BSphere, NLMISC::CBSphere::Center, EmptyFar1, FullFar1, r, and NLMISC::CBSphere::Radius.

void NL3D::CTessBlock::createFaceVectorFar0 CLandscapeFaceVectorManager   mgr
 

Definition at line 198 of file tess_block.cpp.

References Far0FaceVector, FarFaceList, nlassert, and refillFaceVectorFar0.

void NL3D::CTessBlock::createFaceVectorFar1 CLandscapeFaceVectorManager   mgr
 

Definition at line 242 of file tess_block.cpp.

References Far1FaceVector, FarFaceList, nlassert, and refillFaceVectorFar1.

void NL3D::CTessBlock::createFaceVectorTile CLandscapeFaceVectorManager   mgr
 

Definition at line 302 of file tess_block.cpp.

References NL3D_MAX_TILE_FACE, NL3D_TESSBLOCK_TILESIZE, RdrTileRoot, and refillFaceVectorTile.

void NL3D::CTessBlock::deleteFaceVectorFar0 CLandscapeFaceVectorManager   mgr
 

Definition at line 213 of file tess_block.cpp.

References Far0FaceVector.

Referenced by appendToModifyListAndDeleteFaceVector.

void NL3D::CTessBlock::deleteFaceVectorFar1 CLandscapeFaceVectorManager   mgr
 

Definition at line 256 of file tess_block.cpp.

References Far1FaceVector.

Referenced by appendToModifyListAndDeleteFaceVector.

void NL3D::CTessBlock::deleteFaceVectorTile CLandscapeFaceVectorManager   mgr
 

Definition at line 329 of file tess_block.cpp.

References NL3D_MAX_TILE_FACE, NL3D_TESSBLOCK_TILESIZE, and RdrTileRoot.

Referenced by appendToModifyListAndDeleteFaceVector.

void NL3D::CTessBlock::extendSphereAdd const CVector &    vec
 

Definition at line 115 of file tess_block.cpp.

References BBox, NLMISC::CAABBox::extend, and NLMISC::CAABBox::include.

Referenced by extendSphereFirst.

void NL3D::CTessBlock::extendSphereCompile  
 

Definition at line 122 of file tess_block.cpp.

References BBox, BSphere, NLMISC::CBSphere::Center, NLMISC::CAABBox::getCenter, NLMISC::CAABBox::getRadius, and NLMISC::CBSphere::Radius.

void NL3D::CTessBlock::extendSphereFirst const CVector &    vec
 

Definition at line 102 of file tess_block.cpp.

References BBox, Empty, extendSphereAdd, NLMISC::CAABBox::setCenter, and NLMISC::CAABBox::setHalfSize.

void NL3D::CTessBlock::forceClip  
 

Definition at line 139 of file tess_block.cpp.

References Clipped.

bool NL3D::CTessBlock::getClipped   const [inline]
 

Definition at line 127 of file tess_block.h.

References Clipped.

CTessBlock* NL3D::CTessBlock::getNextToModify   [inline]
 

Definition at line 155 of file tess_block.h.

References _NextToModify, and CTessBlock.

CPatch * NL3D::CTessBlock::getPatch  
 

Definition at line 94 of file tess_block.cpp.

References _Patch.

void NL3D::CTessBlock::init CPatch   patch
 

Definition at line 89 of file tess_block.cpp.

References _Patch.

bool NL3D::CTessBlock::isInModifyList   const [inline]
 

Definition at line 147 of file tess_block.h.

References _PrecToModify.

Referenced by appendToModifyListAndDeleteFaceVector, removeFromModifyList, and ~CTessBlock.

void NL3D::CTessBlock::refillFaceVectorFar0  
 

Definition at line 177 of file tess_block.cpp.

References Far0FaceVector, FarFaceList, and nlassert.

Referenced by createFaceVectorFar0.

void NL3D::CTessBlock::refillFaceVectorFar1  
 

Definition at line 223 of file tess_block.cpp.

References Far1FaceVector, FarFaceList, and nlassert.

Referenced by createFaceVectorFar1.

void NL3D::CTessBlock::refillFaceVectorTile  
 

Definition at line 267 of file tess_block.cpp.

References NL3D_MAX_TILE_FACE, NL3D_TESSBLOCK_TILESIZE, nlassert, and RdrTileRoot.

Referenced by createFaceVectorTile.

void NL3D::CTessBlock::removeFromModifyList  
 

Definition at line 373 of file tess_block.cpp.

References _NextToModify, _PrecToModify, and isInModifyList.

Referenced by ~CTessBlock.

void NL3D::CTessBlock::resetClip  
 

Definition at line 130 of file tess_block.cpp.

References Clipped, EmptyFar1, and FullFar1.

bool NL3D::CTessBlock::visibleFar0   const [inline]
 

Definition at line 128 of file tess_block.h.

References Clipped, and FullFar1.

bool NL3D::CTessBlock::visibleFar1   const [inline]
 

Definition at line 130 of file tess_block.h.

References Clipped, and EmptyFar1.

bool NL3D::CTessBlock::visibleTile   const [inline]
 

Definition at line 129 of file tess_block.h.

References Clipped, and FullFar1.


Member Data Documentation

CTessBlock* NL3D::CTessBlock::_NextToModify [private]
 

Definition at line 162 of file tess_block.h.

Referenced by appendToModifyListAndDeleteFaceVector, CTessBlock, getNextToModify, and removeFromModifyList.

CPatch* NL3D::CTessBlock::_Patch [private]
 

Definition at line 158 of file tess_block.h.

Referenced by CTessBlock, getPatch, and init.

CTessBlock* NL3D::CTessBlock::_PrecToModify [private]
 

Definition at line 161 of file tess_block.h.

Referenced by appendToModifyListAndDeleteFaceVector, CTessBlock, isInModifyList, and removeFromModifyList.

NLMISC::CAABBox NL3D::CTessBlock::BBox [private]
 

Definition at line 63 of file tess_block.h.

Referenced by extendSphereAdd, extendSphereCompile, and extendSphereFirst.

NLMISC::CBSphere NL3D::CTessBlock::BSphere [private]
 

Definition at line 64 of file tess_block.h.

Referenced by clip, clipFar, and extendSphereCompile.

bool NL3D::CTessBlock::Clipped [private]
 

Definition at line 68 of file tess_block.h.

Referenced by clip, CTessBlock, forceClip, getClipped, resetClip, visibleFar0, visibleFar1, and visibleTile.

CPlane NL3D::CTessBlock::CurrentPyramid [static]
 

Definition at line 37 of file tess_block.cpp.

bool NL3D::CTessBlock::Empty [private]
 

Definition at line 65 of file tess_block.h.

Referenced by CTessBlock, and extendSphereFirst.

bool NL3D::CTessBlock::EmptyFar1 [private]
 

Definition at line 70 of file tess_block.h.

Referenced by clipFar, CTessBlock, resetClip, and visibleFar1.

uint NL3D::CTessBlock::FaceTileMaterialRefCount
 

Definition at line 82 of file tess_block.h.

Referenced by CTessBlock.

CLandscapeFaceVector* NL3D::CTessBlock::Far0FaceVector
 

Definition at line 87 of file tess_block.h.

Referenced by createFaceVectorFar0, CTessBlock, deleteFaceVectorFar0, and refillFaceVectorFar0.

CLandscapeFaceVector* NL3D::CTessBlock::Far1FaceVector
 

Definition at line 88 of file tess_block.h.

Referenced by createFaceVectorFar1, CTessBlock, deleteFaceVectorFar1, and refillFaceVectorFar1.

CTessList<CTessFace> NL3D::CTessBlock::FarFaceList
 

Definition at line 79 of file tess_block.h.

Referenced by createFaceVectorFar0, createFaceVectorFar1, refillFaceVectorFar0, and refillFaceVectorFar1.

CTessList<CTessFarVertex> NL3D::CTessBlock::FarVertexList
 

Definition at line 75 of file tess_block.h.

bool NL3D::CTessBlock::FullFar1 [private]
 

Definition at line 69 of file tess_block.h.

Referenced by clipFar, CTessBlock, resetClip, visibleFar0, and visibleTile.

uint NL3D::CTessBlock::LightMapId
 

Definition at line 93 of file tess_block.h.

CPatchRdrPass* NL3D::CTessBlock::LightMapRdrPass
 

Definition at line 95 of file tess_block.h.

uint NL3D::CTessBlock::LightMapRefCount
 

Definition at line 94 of file tess_block.h.

Referenced by CTessBlock, and ~CTessBlock.

CTessList<CTessNearVertex> NL3D::CTessBlock::NearVertexList
 

Definition at line 76 of file tess_block.h.

CTileMaterial* NL3D::CTessBlock::RdrTileRoot[NL3D_TESSBLOCK_TILESIZE]
 

Definition at line 80 of file tess_block.h.

Referenced by createFaceVectorTile, CTessBlock, deleteFaceVectorTile, and refillFaceVectorTile.

uint NL3D::CTessBlock::TileMaterialRefCount
 

Definition at line 84 of file tess_block.h.

Referenced by CTessBlock.

CLandscapeVegetableBlock* NL3D::CTessBlock::VegetableBlock
 

Definition at line 99 of file tess_block.h.

Referenced by CTessBlock.


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