|
|
|
|
Documentation |
|
Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages Search
NL3D::CTessFace Class ReferenceA Landscape Triangle.
More...
#include <tessellation.h>
Inheritance diagram for NL3D::CTessFace
[legend]Collaboration diagram for NL3D::CTessFace:
[legend]List of all members.
Public Methods |
| CTessFace () |
| ~CTessFace () |
bool | isLeaf () const |
bool | isRectangular () const |
bool | hasVertex (CTessVertex *v) const |
bool | hasEdge (CTessVertex *v0, CTessVertex *v1) const |
void | changeNeighbor (CTessFace *from, CTessFace *to) |
void | computeTileMaterial () |
void | releaseTileMaterial () |
void | updateErrorMetric () |
void | split (bool propagateSplit=true) |
bool | merge () |
void | refine () |
void | unbind (CPatch *except[4]) |
void | forceMerge () |
bool | updateBindEdge (CTessFace *&edgeFace, bool &splitWanted) |
void | updateBind () |
void | updateBindAndSplit () |
void | forceMergeAtTileLevel () |
void | deleteTileUvs () |
void | recreateTileUvs () |
Public Attributes |
uint8 | TileId |
CTileMaterial* | TileMaterial |
CTileFace* | TileFaces [NL3D_MAX_TILE_FACE] |
sint | ProjectedSizeDate |
float | Size |
CVector | Center |
float | ProjectedSize |
float | ErrorMetric |
CTessFarVertex* | FVBase |
CTessFarVertex * | FVLeft |
CTessFarVertex * | FVRight |
float | TileDistFar = CTessFace::TileDistNear+20 |
float | TileDistFarSqr = sqr(CTessFace::TileDistFar) |
float | Far1Dist = 400 |
|
CPatch* | Patch |
CTessVertex* | VBase |
CTessVertex * | VLeft |
CTessVertex * | VRight |
CTessFace* | FBase |
CTessFace * | FLeft |
CTessFace * | FRight |
CTessFace* | Father |
CTessFace * | SonLeft |
CTessFace * | SonRight |
CParamCoord | PVBase |
CParamCoord | PVLeft |
CParamCoord | PVRight |
uint8 | Level |
bool | NeedCompute |
bool | RecursMarkCanMerge |
bool | RecursMarkForceMerge |
Static Public Attributes |
sint | CurrentDate = 0 |
CVector | RefineCenter = CVector::Null |
float | RefineThreshold = 0.001f |
float | OORefineThreshold = 1.0f / CTessFace::RefineThreshold |
float | ChildrenStartComputeLimit = 1.9f |
float | SelfEndComputeLimit = 2.1f |
float | TileDistNear = 50 |
float | TileDistNearSqr = sqr(CTessFace::TileDistNear) |
float | OOTileDistDeltaSqr = 1.0f / (CTessFace::TileDistFarSqr - CTessFace::TileDistNearSqr) |
sint | TileMaxSubdivision = 0 |
NLMISC::CBSphere | TileFarSphere |
NLMISC::CBSphere | TileNearSphere |
float | TilePixelSize = 128 |
float | Far0Dist = 200 |
float | FarTransition = 10 |
CVertexBuffer* | CurrentFarVB = NULL |
CVertexBuffer* | CurrentTileVB = NULL |
sint | CurrentFarIndex = 1 |
sint | CurrentTileIndex = 1 |
CTessFace | MultipleBindFace |
Private Types |
enum | TTileUvId {
IdUvBase = 0,
IdUvLeft,
IdUvRight
} |
Private Methods |
void | allocTileUv (TTileUvId id) |
void | deleteTileUv (TTileUvId id) |
void | copyTileUv (TTileUvId id, CTessFace *srcFace, TTileUvId srcId) |
void | heritTileUv (CTessFace *baseFace) |
void | buildTileFaces () |
void | deleteTileFaces () |
bool | emptyTileFaces () |
void | computeTileErrorMetric () |
bool | canMerge (bool testEm) |
void | splitRectangular (bool propagateSplit) |
void | doMerge () |
void | heritTileMaterial () |
void | initTileUvRGBA (sint pass, bool alpha, CParamCoord pointCoord, CParamCoord middleCoord, CUV &uv) |
void | initTileUvLightmap (CParamCoord pointCoord, CParamCoord middleCoord, CUV &uv) |
void | updateNearFarVertices () |
Static Private Methods |
bool | sameTile (const CTessFace *a, const CTessFace *b) |
bool | exceptPatch (CPatch *p, CPatch *except[4]) |
Static Private Attributes |
CTessFace | CantMergeFace |
Detailed Description
A Landscape Triangle.
-
Author(s):
-
Lionel Berenguier , Nevrax France
-
Date:
-
2000
Definition at line 199 of file tessellation.h.
Member Enumeration Documentation
enum NL3D::CTessFace::TTileUvId [private]
|
|
|
-
Enumeration values:
-
IdUvBase
|
|
IdUvLeft
|
|
IdUvRight
|
|
Definition at line 361 of file tessellation.h. |
Constructor & Destructor Documentation
NL3D::CTessFace::CTessFace (
|
)
|
|
NL3D::CTessFace::~CTessFace (
|
)
|
|
Member Function Documentation
void NL3D::CTessFace::allocTileUv (
|
TTileUvId id ) [private]
|
|
void NL3D::CTessFace::buildTileFaces (
|
) [private]
|
|
bool NL3D::CTessFace::canMerge (
|
bool testEm ) [private]
|
|
void NL3D::CTessFace::changeNeighbor (
|
CTessFace * from,
|
|
CTessFace * to ) [inline]
|
|
void NL3D::CTessFace::computeTileErrorMetric (
|
) [private]
|
|
void NL3D::CTessFace::computeTileMaterial (
|
)
|
|
void NL3D::CTessFace::copyTileUv (
|
TTileUvId dstId,
|
|
CTessFace * srcFace,
|
|
TTileUvId srcId ) [private]
|
|
void NL3D::CTessFace::deleteTileFaces (
|
) [private]
|
|
void NL3D::CTessFace::deleteTileUv (
|
TTileUvId id ) [private]
|
|
void NL3D::CTessFace::deleteTileUvs (
|
)
|
|
void NL3D::CTessFace::doMerge (
|
) [private]
|
|
bool NL3D::CTessFace::emptyTileFaces (
|
) [private]
|
|
bool NL3D::CTessFace::exceptPatch (
|
CPatch * p,
|
|
CPatch * except[4] ) [static, private]
|
|
void NL3D::CTessFace::forceMerge (
|
)
|
|
void NL3D::CTessFace::forceMergeAtTileLevel (
|
)
|
|
bool NL3D::CTessFace::hasVertex (
|
CTessVertex * v ) const [inline]
|
|
void NL3D::CTessFace::heritTileMaterial (
|
) [private]
|
|
void NL3D::CTessFace::heritTileUv (
|
CTessFace * baseFace ) [private]
|
|
bool NL3D::CTessFace::isLeaf (
|
) const [inline]
|
|
bool NL3D::CTessFace::isRectangular (
|
) const
|
|
bool NL3D::CTessFace::merge (
|
)
|
|
void NL3D::CTessFace::recreateTileUvs (
|
)
|
|
void NL3D::CTessFace::refine (
|
)
|
|
void NL3D::CTessFace::releaseTileMaterial (
|
)
|
|
bool NL3D::CTessFace::sameTile (
|
const CTessFace * a,
|
|
const CTessFace * b ) [inline, static, private]
|
|
void NL3D::CTessFace::split (
|
bool propagateSplit = true )
|
|
void NL3D::CTessFace::splitRectangular (
|
bool propagateSplit ) [private]
|
|
void NL3D::CTessFace::unbind (
|
CPatch * except[4] )
|
|
void NL3D::CTessFace::updateBind (
|
)
|
|
void NL3D::CTessFace::updateBindAndSplit (
|
)
|
|
bool NL3D::CTessFace::updateBindEdge (
|
CTessFace *& edgeFace,
|
|
bool & splitWanted )
|
|
void NL3D::CTessFace::updateErrorMetric (
|
)
|
|
void NL3D::CTessFace::updateNearFarVertices (
|
) [private]
|
|
Member Data Documentation
CTessFace NL3D::CTessFace::CantMergeFace [static, private]
|
|
CVector NL3D::CTessFace::Center
|
|
float NL3D::CTessFace::ChildrenStartComputeLimit = 1.9f [static]
|
|
sint NL3D::CTessFace::CurrentDate = 0 [static]
|
|
sint NL3D::CTessFace::CurrentFarIndex = 1 [static]
|
|
sint NL3D::CTessFace::CurrentTileIndex = 1 [static]
|
|
float NL3D::CTessFace::ErrorMetric
|
|
CTessFace * NL3D::CTessFace::FBase
|
|
CTessFace * NL3D::CTessFace::FLeft
|
|
CTessFace * NL3D::CTessFace::FRight
|
|
float NL3D::CTessFace::Far0Dist = 200 [static]
|
|
float NL3D::CTessFace::Far1Dist = 400
|
|
float NL3D::CTessFace::FarTransition = 10 [static]
|
|
CTessFace * NL3D::CTessFace::Father
|
|
uint8 NL3D::CTessFace::Level
|
|
CTessFace NL3D::CTessFace::MultipleBindFace [static]
|
|
bool NL3D::CTessFace::NeedCompute
|
|
CPatch * NL3D::CTessFace::Patch
|
|
float NL3D::CTessFace::ProjectedSize
|
|
sint NL3D::CTessFace::ProjectedSizeDate
|
|
bool NL3D::CTessFace::RecursMarkCanMerge
|
|
bool NL3D::CTessFace::RecursMarkForceMerge
|
|
CVector NL3D::CTessFace::RefineCenter = CVector::Null [static]
|
|
float NL3D::CTessFace::RefineThreshold = 0.001f [static]
|
|
float NL3D::CTessFace::SelfEndComputeLimit = 2.1f [static]
|
|
float NL3D::CTessFace::Size
|
|
CTessFace * NL3D::CTessFace::SonLeft
|
|
CTessFace * NL3D::CTessFace::SonRight
|
|
float NL3D::CTessFace::TileDistNear = 50 [static]
|
|
CTileFace * NL3D::CTessFace::TileFaces[NL3D_MAX_TILE_FACE]
|
|
CBSphere NL3D::CTessFace::TileFarSphere [static]
|
|
uint8 NL3D::CTessFace::TileId
|
|
sint NL3D::CTessFace::TileMaxSubdivision = 0 [static]
|
|
CBSphere NL3D::CTessFace::TileNearSphere [static]
|
|
float NL3D::CTessFace::TilePixelSize = 128 [static]
|
|
The documentation for this class was generated from the following files:
|
|