 |
|
 |
 |
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:
|
 |