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

NL3D::CTessFace Class Reference

A Landscape Triangle. +More... +

+#include <tessellation.h> +

+

Inheritance diagram for NL3D::CTessFace: +

+ +NL3D::CTessNodeList +NL3D::CTessFacePListNode + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Tile Material Infos (uvs...).

enum  TTileUvId { IdUvBase = 0, +IdUvLeft, +IdUvRight + }
uint8 TileId
CTileMaterialTileMaterial
CTileFaceTileFaces [NL3D_MAX_TILE_FACE]

Public Types


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 ()
float computeNearLimit ()
void updateErrorMetric ()
void split (bool propagateSplit=true)
bool merge ()
void refineAll ()
 refine the node, and his sons. Refine all nodes. More...

void updateRefineSplit ()
void updateRefineMerge ()
void computeSplitPoint ()
 compute the SplitPoint. More...

void unbind ()
void forceMerge ()
CTessFace * linkTessFaceWithEdge (const NLMISC::CVector2f &uv0, const NLMISC::CVector2f &uv1, CTessFace *linkTo)
bool updateBindEdge (CTessFace *&edgeFace, bool &splitWanted)
void updateBind ()
void updateBindAndSplit ()
void forceMergeAtTileLevel ()
void averageTesselationVertices ()
void refreshTesselationGeometry ()
void deleteTileUvs ()
void recreateTileUvs ()
void getTesselatedPos (const CUV &uv, bool verifInclusion, CVector &ret)
void appendTessellationLeaves (std::vector< const CTessFace * > &leaves) const

Public Attributes

CTessFarVertexFVBase
CTessFarVertexFVLeft
CTessFarVertexFVRight
geometric tesselation.
CPatchPatch
CTessVertexVBase
CTessVertexVLeft
CTessVertexVRight
CTessFace * FBase
CTessFace * FLeft
CTessFace * FRight
CTessFace * Father
CTessFace * SonLeft
CTessFace * SonRight
CParamCoord PVBase
CParamCoord PVLeft
CParamCoord PVRight
uint8 Level
bool RecursMarkCanMerge
bool RecursMarkForceMerge
Error metric.
sint ErrorMetricDate
float Size
CVector SplitPoint
float ErrorMetric
float MaxDistToSplitPoint

Static Public Attributes

CTessFace MultipleBindFace

Private Methods

void computeTileErrorMetric ()
float computeTileEMForUpdateRefine (float distSplitPoint, float distMinFace, float nearLimit)
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 initTileUvDLM (CParamCoord pointCoord, CUV &uv)
void updateNearFarVertices ()
void computeTesselatedPos (const CUV &uv, CVector &ret)
UV mgt.
void allocTileUv (TTileUvId id)
void deleteTileUv (TTileUvId id)
void copyTileUv (TTileUvId id, CTessFace *srcFace, TTileUvId srcId)
void heritTileUv (CTessFace *baseFace)
void checkCreateFillTileVB (TTileUvId id)
void checkFillTileVB (TTileUvId id)
void buildTileFaces ()
void deleteTileFaces ()
bool emptyTileFaces ()

Static Private Methods

bool sameTile (const CTessFace *a, const CTessFace *b)

Static Private Attributes

CTessFace CantMergeFace
+

Detailed Description

+A Landscape Triangle. +

+MemSize: 28*4 octets. => for 100K faces, it takes 11.2 Mo.

+Author:
+Lionel Berenguier , Nevrax France
+Date:
+2000
+

+ +

+Definition at line 214 of file tessellation.h.


Member Enumeration Documentation

+

+ + + + +
+ + +
enum NL3D::CTessFace::TTileUvId +
+
+ + + + + +
+   + + +

+

+Enumeration values:
+ + + + +
IdUvBase  +
IdUvLeft  +
IdUvRight  +
+
+ +

+Definition at line 245 of file tessellation.h.

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
NL3D::CTessFace::CTessFace  
+
+ + + + + +
+   + + +

+ +

+Definition at line 161 of file tessellation.cpp. +

+References ErrorMetricDate, Father, FBase, FLeft, FRight, Level, NL3D_MAX_TILE_FACE, NL3D_PROFILE_LAND_ADD, Patch, NL3D::ProfNTessFace, RecursMarkCanMerge, RecursMarkForceMerge, SonLeft, SonRight, TileFaces, TileMaterial, VBase, VLeft, and VRight. +

+Referenced by averageTesselationVertices, changeNeighbor, linkTessFaceWithEdge, sameTile, split, splitRectangular, unbind, updateBindAndSplit, and updateBindEdge.

+

+ + + + +
+ + + + + + + + + +
NL3D::CTessFace::~CTessFace  
+
+ + + + + +
+   + + +

+ +

+Definition at line 190 of file tessellation.cpp. +

+References NL3D_PROFILE_LAND_ADD, and NL3D::ProfNTessFace.

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTessFace::allocTileUv TTileUvId   id [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 367 of file tessellation.cpp. +

+References id, IdUvBase, IdUvLeft, IdUvRight, NL3D_MAX_TILE_FACE, NL3D_TILE_PASS_RGB0, nlassert, nlstop, Patch, TileFaces, TileMaterial, VBase, VLeft, and VRight. +

+Referenced by computeTileMaterial.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTessFace::appendTessellationLeaves std::vector< const CTessFace * > &   leaves const
+
+ + + + + +
+   + + +

+ +

+Definition at line 3189 of file tessellation.cpp. +

+References isLeaf, SonLeft, and SonRight.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::averageTesselationVertices  
+
+ + + + + +
+   + + +

+ +

+Definition at line 2463 of file tessellation.cpp. +

+References CantMergeFace, CTessFace, FBase, FLeft, isLeaf, isRectangular, nlassert, Patch, SonLeft, and SonRight.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::buildTileFaces   [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 506 of file tessellation.cpp. +

+References IdUvBase, IdUvLeft, IdUvRight, NL3D_MAX_TILE_FACE, nlassert, Patch, TileFaces, and TileMaterial. +

+Referenced by computeTileMaterial.

+

+ + + + +
+ + + + + + + + + + +
bool NL3D::CTessFace::canMerge bool   testEm [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 1544 of file tessellation.cpp. +

+References CantMergeFace, ErrorMetric, FBase, FLeft, isLeaf, isRectangular, nlassert, RecursMarkCanMerge, SonLeft, SonRight, and updateErrorMetric. +

+Referenced by merge, refineAll, and updateRefineMerge.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NL3D::CTessFace::changeNeighbor CTessFace *   from,
CTessFace *   to
[inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 277 of file tessellation.h. +

+References CTessFace.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTessFace::checkCreateFillTileVB TTileUvId   id [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 398 of file tessellation.cpp. +

+References id, NL3D_MAX_TILE_FACE, NL3D_TILE_PASS_RGB0, nlassert, Patch, and TileFaces. +

+Referenced by computeTileMaterial.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTessFace::checkFillTileVB TTileUvId   id [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 419 of file tessellation.cpp. +

+References id, NL3D_MAX_TILE_FACE, NL3D_TILE_PASS_RGB0, nlassert, Patch, and TileFaces.

+

+ + + + +
+ + + + + + + + + +
float NL3D::CTessFace::computeNearLimit  
+
+ + + + + +
+   + + +

+ +

+Definition at line 211 of file tessellation.cpp. +

+References Level, nlassert, and Patch. +

+Referenced by computeTileErrorMetric, split, unbind, updateRefineMerge, and updateRefineSplit.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::computeSplitPoint  
+
+ + + + + +
+   + + +

+compute the SplitPoint. +

+VBase / VLeft and VRight must be valid. Also compute MaxDistToSplitPoint. +

+Definition at line 340 of file tessellation.cpp. +

+References isRectangular, MaxDistToSplitPoint, SplitPoint, VBase, VLeft, and VRight.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NL3D::CTessFace::computeTesselatedPos const CUV &   uv,
CVector &   ret
[private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 3151 of file tessellation.cpp. +

+References PVBase, PVLeft, PVRight, VBase, VLeft, and VRight. +

+Referenced by getTesselatedPos.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
float NL3D::CTessFace::computeTileEMForUpdateRefine float   distSplitPoint,
float   distMinFace,
float   nearLimit
[inline, private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 307 of file tessellation.cpp. +

+References Size, and NLMISC::sqr. +

+Referenced by updateRefineMerge, and updateRefineSplit.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::computeTileErrorMetric   [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 229 of file tessellation.cpp. +

+References computeNearLimit, ErrorMetric, NLMISC::sqr, VBase, VLeft, and VRight. +

+Referenced by updateErrorMetric.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::computeTileMaterial  
+
+ + + + + +
+   + + +

+ +

+Definition at line 670 of file tessellation.cpp. +

+References allocTileUv, buildTileFaces, checkCreateFillTileVB, copyTileUv, FBase, IdUvBase, IdUvLeft, IdUvRight, initTileUvDLM, initTileUvLightmap, initTileUvRGBA, NL3D_MAX_TILE_FACE, NL3D_MAX_TILE_PASS, NL3D_TILE_PASS_ADD, NL3D_TILE_PASS_LIGHTMAP, NL3D_TILE_PASS_RGB0, NL3D_TILE_PASS_RGB1, NL3D_TILE_PASS_RGB2, nlassert, Patch, PVBase, PVLeft, PVRight, TileFaces, TileId, and TileMaterial.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
void NL3D::CTessFace::copyTileUv TTileUvId   id,
CTessFace *   srcFace,
TTileUvId   srcId
[private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 461 of file tessellation.cpp. +

+References NL3D_MAX_TILE_FACE, NL3D_TILE_PASS_RGB0, nlassert, and TileFaces. +

+Referenced by computeTileMaterial.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::deleteTileFaces   [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 523 of file tessellation.cpp. +

+References NL3D_MAX_TILE_FACE, nlassert, Patch, TileFaces, and TileMaterial. +

+Referenced by releaseTileMaterial.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTessFace::deleteTileUv TTileUvId   id [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 439 of file tessellation.cpp. +

+References id, NL3D_MAX_TILE_FACE, NL3D_TILE_PASS_RGB0, nlassert, Patch, TileFaces, and TileMaterial. +

+Referenced by releaseTileMaterial.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::deleteTileUvs  
+
+ + + + + +
+   + + +

+ +

+Definition at line 2964 of file tessellation.cpp. +

+References FBase, IdUvBase, isLeaf, nlassert, Patch, sameTile, SonLeft, and SonRight.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::doMerge   [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 1599 of file tessellation.cpp. +

+References Father, FBase, FLeft, FRight, IdUvBase, isLeaf, isRectangular, nlassert, Patch, sameTile, SonLeft, and SonRight. +

+Referenced by merge.

+

+ + + + +
+ + + + + + + + + +
bool NL3D::CTessFace::emptyTileFaces   [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 544 of file tessellation.cpp. +

+References NL3D_MAX_TILE_FACE, and TileFaces.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::forceMerge  
+
+ + + + + +
+   + + +

+ +

+Definition at line 2407 of file tessellation.cpp. +

+References CantMergeFace, FBase, FLeft, isLeaf, isRectangular, merge, RecursMarkForceMerge, SonLeft, and SonRight. +

+Referenced by forceMergeAtTileLevel.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::forceMergeAtTileLevel  
+
+ + + + + +
+   + + +

+ +

+Definition at line 2443 of file tessellation.cpp. +

+References CantMergeFace, forceMerge, isLeaf, Level, Patch, SonLeft, and SonRight.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
void NL3D::CTessFace::getTesselatedPos const CUV &   uv,
bool   verifInclusion,
CVector &   ret
+
+ + + + + +
+   + + +

+ +

+Definition at line 3096 of file tessellation.cpp. +

+References computeTesselatedPos, isLeaf, isRectangular, PVBase, PVLeft, PVRight, SonLeft, and SonRight.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
bool NL3D::CTessFace::hasEdge CTessVertex  v0,
CTessVertex  v1
const [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 276 of file tessellation.h. +

+References hasVertex.

+

+ + + + +
+ + + + + + + + + + +
bool NL3D::CTessFace::hasVertex CTessVertex  v const [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 275 of file tessellation.h. +

+References v. +

+Referenced by hasEdge.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::heritTileMaterial   [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 3048 of file tessellation.cpp. +

+References FBase, IdUvBase, IdUvLeft, IdUvRight, sameTile, SonLeft, SonRight, TileId, and TileMaterial. +

+Referenced by recreateTileUvs, and split.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTessFace::heritTileUv CTessFace *   baseFace [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 485 of file tessellation.cpp. +

+References IdUvBase, IdUvLeft, IdUvRight, NL3D_MAX_TILE_FACE, NL3D_TILE_PASS_RGB0, nlassert, and TileFaces.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NL3D::CTessFace::initTileUvDLM CParamCoord   pointCoord,
CUV &   uv
[private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 650 of file tessellation.cpp. +

+References nlassert, and Patch. +

+Referenced by computeTileMaterial.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
void NL3D::CTessFace::initTileUvLightmap CParamCoord   pointCoord,
CParamCoord   middleCoord,
CUV &   uv
[private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 631 of file tessellation.cpp. +

+References Patch, and TileMaterial. +

+Referenced by computeTileMaterial.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NL3D::CTessFace::initTileUvRGBA sint   pass,
bool   alpha,
CParamCoord   pointCoord,
CParamCoord   middleCoord,
CUV &   uv
[private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 560 of file tessellation.cpp. +

+References alpha, Patch, TileId, and v. +

+Referenced by computeTileMaterial.

+

+ + + + +
+ + + + + + + + + +
bool NL3D::CTessFace::isLeaf   const [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 273 of file tessellation.h. +

+Referenced by appendTessellationLeaves, averageTesselationVertices, canMerge, deleteTileUvs, doMerge, forceMerge, forceMergeAtTileLevel, getTesselatedPos, linkTessFaceWithEdge, merge, recreateTileUvs, refineAll, refreshTesselationGeometry, split, unbind, updateBind, updateBindAndSplit, updateRefineMerge, and updateRefineSplit.

+

+ + + + +
+ + + + + + + + + +
bool NL3D::CTessFace::isRectangular   const
+
+ + + + + +
+   + + +

+ +

+Definition at line 2949 of file tessellation.cpp. +

+References Level, and Patch. +

+Referenced by averageTesselationVertices, canMerge, computeSplitPoint, doMerge, forceMerge, getTesselatedPos, split, unbind, and updateBindAndSplit.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
CTessFace * NL3D::CTessFace::linkTessFaceWithEdge const NLMISC::CVector2f  uv0,
const NLMISC::CVector2f  uv1,
CTessFace *   linkTo
+
+ + + + + +
+   + + +

+ +

+Definition at line 2899 of file tessellation.cpp. +

+References CTessFace, FBase, FLeft, FRight, isLeaf, NL3D::matchEdge, nlassert, PVBase, PVLeft, PVRight, SonLeft, and SonRight.

+

+ + + + +
+ + + + + + + + + +
bool NL3D::CTessFace::merge  
+
+ + + + + +
+   + + +

+ +

+Definition at line 1757 of file tessellation.cpp. +

+References canMerge, doMerge, isLeaf, NL3D_PROFILE_LAND_ADD, nlassert, and NL3D::ProfNMerges. +

+Referenced by forceMerge, refineAll, and updateRefineMerge.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::recreateTileUvs  
+
+ + + + + +
+   + + +

+ +

+Definition at line 3012 of file tessellation.cpp. +

+References heritTileMaterial, isLeaf, Patch, SonLeft, and SonRight.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::refineAll  
+
+ + + + + +
+   + + +

+refine the node, and his sons. Refine all nodes. +

+ +

+Definition at line 1778 of file tessellation.cpp. +

+References canMerge, ErrorMetric, isLeaf, Level, merge, NL3D_PROFILE_LAND_ADD, Patch, NL3D::ProfNRefineComputeFaces, NL3D::ProfNRefineFaces, NL3D::ProfNRefineLeaves, SonLeft, SonRight, split, and updateErrorMetric.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::refreshTesselationGeometry  
+
+ + + + + +
+   + + +

+ +

+Definition at line 2514 of file tessellation.cpp. +

+References isLeaf, Patch, SonLeft, and SonRight.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::releaseTileMaterial  
+
+ + + + + +
+   + + +

+ +

+Definition at line 830 of file tessellation.cpp. +

+References deleteTileFaces, deleteTileUv, FBase, IdUvBase, IdUvLeft, IdUvRight, nlassert, Patch, and TileMaterial.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
bool NL3D::CTessFace::sameTile const CTessFace *   a,
const CTessFace *   b
[inline, static, private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 347 of file tessellation.h. +

+References CTessFace. +

+Referenced by deleteTileUvs, doMerge, and heritTileMaterial.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTessFace::split bool   propagateSplit = true
+
+ + + + + +
+   + + +

+ +

+Definition at line 1278 of file tessellation.cpp. +

+References computeNearLimit, CTessFace, Father, FBase, FLeft, FRight, FVBase, FVLeft, FVRight, heritTileMaterial, IdUvBase, isLeaf, isRectangular, Level, NL3D_PROFILE_LAND_ADD, nlassert, Patch, NL3D::ProfNSplits, PVBase, PVLeft, PVRight, Size, SonLeft, SonRight, splitRectangular, VBase, VLeft, and VRight. +

+Referenced by refineAll, updateBindAndSplit, and updateRefineSplit.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTessFace::splitRectangular bool   propagateSplit [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 906 of file tessellation.cpp. +

+References CTessFace, FBase, IdUvBase, nlassert, and Patch. +

+Referenced by split.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::unbind  
+
+ + + + + +
+   + + +

+ +

+Definition at line 2269 of file tessellation.cpp. +

+References computeNearLimit, CTessFace, FBase, FLeft, FRight, isLeaf, isRectangular, nlassert, Patch, Size, SonLeft, SonRight, VBase, VLeft, and VRight.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::updateBind  
+
+ + + + + +
+   + + +

+ +

+Definition at line 2855 of file tessellation.cpp. +

+References FBase, FLeft, FRight, isLeaf, SonLeft, SonRight, updateBindAndSplit, and updateBindEdge.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::updateBindAndSplit  
+
+ + + + + +
+   + + +

+ +

+Definition at line 2638 of file tessellation.cpp. +

+References CantMergeFace, CTessFace, FBase, FLeft, FRight, isLeaf, isRectangular, nlassert, Patch, SonLeft, SonRight, split, and updateBindEdge. +

+Referenced by updateBind.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
bool NL3D::CTessFace::updateBindEdge CTessFace *&   edgeFace,
bool &   splitWanted
+
+ + + + + +
+   + + +

+ +

+Definition at line 2539 of file tessellation.cpp. +

+References CTessFace, and nlstop. +

+Referenced by updateBind, and updateBindAndSplit.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::updateErrorMetric  
+
+ + + + + +
+   + + +

+ +

+Definition at line 273 of file tessellation.cpp. +

+References computeTileErrorMetric, ErrorMetric, ErrorMetricDate, Level, MaxDistToSplitPoint, Patch, Size, SplitPoint, and NLMISC::sqr. +

+Referenced by canMerge, refineAll, updateRefineMerge, and updateRefineSplit.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::updateNearFarVertices   [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 868 of file tessellation.cpp. +

+References FVBase, FVLeft, FVRight, IdUvBase, IdUvLeft, IdUvRight, NL3D_MAX_TILE_FACE, nlassert, Patch, PVBase, PVLeft, PVRight, TileFaces, VBase, VLeft, and VRight.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::updateRefineMerge  
+
+ + + + + +
+   + + +

+ +

+Definition at line 2103 of file tessellation.cpp. +

+References canMerge, computeNearLimit, computeTileEMForUpdateRefine, ErrorMetric, isLeaf, Level, merge, min, NL3D_PROFILE_LAND_ADD, NL3D_REFINE_MERGE_THRESHOLD, nlassert, Patch, NL3D::ProfNRefineFaces, NL3D::ProfNRefineInTileTransition, Size, SplitPoint, updateErrorMetric, VBase, VLeft, and VRight.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CTessFace::updateRefineSplit  
+
+ + + + + +
+   + + +

+ +

+Definition at line 1895 of file tessellation.cpp. +

+References computeNearLimit, computeTileEMForUpdateRefine, ErrorMetric, isLeaf, Level, min, NL3D_PROFILE_LAND_ADD, NL3D_TESS_USE_QUADRANT_THRESHOLD, nlassert, Patch, NL3D::ProfNRefineFaces, NL3D::ProfNRefineInTileTransition, NL3D::ProfNRefineWithLowDistance, Size, split, SplitPoint, NL3D::CTessFacePListNode::unlinkInPList, updateErrorMetric, VBase, VLeft, and VRight.

+


Member Data Documentation

+

+ + + + +
+ + +
CTessFace NL3D::CTessFace::CantMergeFace [static, private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 156 of file tessellation.cpp. +

+Referenced by averageTesselationVertices, canMerge, forceMerge, forceMergeAtTileLevel, and updateBindAndSplit.

+

+ + + + +
+ + +
float NL3D::CTessFace::ErrorMetric +
+
+ + + + + +
+   + + +

+ +

+Definition at line 257 of file tessellation.h. +

+Referenced by canMerge, computeTileErrorMetric, refineAll, updateErrorMetric, updateRefineMerge, and updateRefineSplit.

+

+ + + + +
+ + +
sint NL3D::CTessFace::ErrorMetricDate +
+
+ + + + + +
+   + + +

+ +

+Definition at line 254 of file tessellation.h. +

+Referenced by CTessFace, and updateErrorMetric.

+

+ + + + +
+ + +
CTessFace* NL3D::CTessFace::Father +
+
+ + + + + +
+   + + +

+ +

+Definition at line 224 of file tessellation.h. +

+Referenced by CTessFace, doMerge, and split.

+

+ + + + +
+ + +
CTessFace* NL3D::CTessFace::FBase +
+
+ + + + + +
+   + + +

+ +

+Definition at line 223 of file tessellation.h. +

+Referenced by averageTesselationVertices, canMerge, computeTileMaterial, CTessFace, deleteTileUvs, doMerge, forceMerge, heritTileMaterial, linkTessFaceWithEdge, releaseTileMaterial, split, splitRectangular, unbind, updateBind, and updateBindAndSplit.

+

+ + + + +
+ + +
CTessFace * NL3D::CTessFace::FLeft +
+
+ + + + + +
+   + + +

+ +

+Definition at line 223 of file tessellation.h. +

+Referenced by averageTesselationVertices, canMerge, CTessFace, doMerge, forceMerge, linkTessFaceWithEdge, split, unbind, updateBind, and updateBindAndSplit.

+

+ + + + +
+ + +
CTessFace * NL3D::CTessFace::FRight +
+
+ + + + + +
+   + + +

+ +

+Definition at line 223 of file tessellation.h. +

+Referenced by CTessFace, doMerge, linkTessFaceWithEdge, split, unbind, updateBind, and updateBindAndSplit.

+

+ + + + +
+ + +
CTessFarVertex* NL3D::CTessFace::FVBase +
+
+ + + + + +
+   + + +

+ +

+Definition at line 263 of file tessellation.h. +

+Referenced by split, and updateNearFarVertices.

+

+ + + + +
+ + +
CTessFarVertex * NL3D::CTessFace::FVLeft +
+
+ + + + + +
+   + + +

+ +

+Definition at line 263 of file tessellation.h. +

+Referenced by split, and updateNearFarVertices.

+

+ + + + +
+ + +
CTessFarVertex * NL3D::CTessFace::FVRight +
+
+ + + + + +
+   + + +

+ +

+Definition at line 263 of file tessellation.h. +

+Referenced by split, and updateNearFarVertices.

+

+ + + + +
+ + +
uint8 NL3D::CTessFace::Level +
+
+ + + + + +
+   + + +

+ +

+Definition at line 228 of file tessellation.h. +

+Referenced by computeNearLimit, CTessFace, forceMergeAtTileLevel, isRectangular, refineAll, split, updateErrorMetric, updateRefineMerge, and updateRefineSplit.

+

+ + + + +
+ + +
float NL3D::CTessFace::MaxDistToSplitPoint +
+
+ + + + + +
+   + + +

+ +

+Definition at line 258 of file tessellation.h. +

+Referenced by computeSplitPoint, and updateErrorMetric.

+

+ + + + +
+ + +
CTessFace NL3D::CTessFace::MultipleBindFace [static] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 157 of file tessellation.cpp.

+

+ + + + +
+ + +
CPatch* NL3D::CTessFace::Patch +
+
+ + + + + +
+   + + +

+ +

+Definition at line 221 of file tessellation.h. +

+Referenced by allocTileUv, averageTesselationVertices, buildTileFaces, checkCreateFillTileVB, checkFillTileVB, computeNearLimit, computeTileMaterial, CTessFace, deleteTileFaces, deleteTileUv, deleteTileUvs, doMerge, forceMergeAtTileLevel, initTileUvDLM, initTileUvLightmap, initTileUvRGBA, isRectangular, recreateTileUvs, refineAll, refreshTesselationGeometry, releaseTileMaterial, split, splitRectangular, unbind, updateBindAndSplit, updateErrorMetric, updateNearFarVertices, updateRefineMerge, and updateRefineSplit.

+

+ + + + +
+ + +
CParamCoord NL3D::CTessFace::PVBase +
+
+ + + + + +
+   + + +

+ +

+Definition at line 226 of file tessellation.h. +

+Referenced by computeTesselatedPos, computeTileMaterial, getTesselatedPos, linkTessFaceWithEdge, split, and updateNearFarVertices.

+

+ + + + +
+ + +
CParamCoord NL3D::CTessFace::PVLeft +
+
+ + + + + +
+   + + +

+ +

+Definition at line 226 of file tessellation.h. +

+Referenced by computeTesselatedPos, computeTileMaterial, getTesselatedPos, linkTessFaceWithEdge, split, and updateNearFarVertices.

+

+ + + + +
+ + +
CParamCoord NL3D::CTessFace::PVRight +
+
+ + + + + +
+   + + +

+ +

+Definition at line 226 of file tessellation.h. +

+Referenced by computeTesselatedPos, computeTileMaterial, getTesselatedPos, linkTessFaceWithEdge, split, and updateNearFarVertices.

+

+ + + + +
+ + +
bool NL3D::CTessFace::RecursMarkCanMerge +
+
+ + + + + +
+   + + +

+ +

+Definition at line 230 of file tessellation.h. +

+Referenced by canMerge, and CTessFace.

+

+ + + + +
+ + +
bool NL3D::CTessFace::RecursMarkForceMerge +
+
+ + + + + +
+   + + +

+ +

+Definition at line 231 of file tessellation.h. +

+Referenced by CTessFace, and forceMerge.

+

+ + + + +
+ + +
float NL3D::CTessFace::Size +
+
+ + + + + +
+   + + +

+ +

+Definition at line 255 of file tessellation.h. +

+Referenced by computeTileEMForUpdateRefine, split, unbind, updateErrorMetric, updateRefineMerge, and updateRefineSplit.

+

+ + + + +
+ + +
CTessFace * NL3D::CTessFace::SonLeft +
+
+ + + + + +
+   + + +

+ +

+Definition at line 224 of file tessellation.h. +

+Referenced by appendTessellationLeaves, averageTesselationVertices, canMerge, CTessFace, deleteTileUvs, doMerge, forceMerge, forceMergeAtTileLevel, getTesselatedPos, heritTileMaterial, linkTessFaceWithEdge, recreateTileUvs, refineAll, refreshTesselationGeometry, split, unbind, updateBind, and updateBindAndSplit.

+

+ + + + +
+ + +
CTessFace * NL3D::CTessFace::SonRight +
+
+ + + + + +
+   + + +

+ +

+Definition at line 224 of file tessellation.h. +

+Referenced by appendTessellationLeaves, averageTesselationVertices, canMerge, CTessFace, deleteTileUvs, doMerge, forceMerge, forceMergeAtTileLevel, getTesselatedPos, heritTileMaterial, linkTessFaceWithEdge, recreateTileUvs, refineAll, refreshTesselationGeometry, split, unbind, updateBind, and updateBindAndSplit.

+

+ + + + +
+ + +
CVector NL3D::CTessFace::SplitPoint +
+
+ + + + + +
+   + + +

+ +

+Definition at line 256 of file tessellation.h. +

+Referenced by computeSplitPoint, updateErrorMetric, updateRefineMerge, and updateRefineSplit.

+

+ + + + +
+ + +
CTileFace* NL3D::CTessFace::TileFaces[NL3D_MAX_TILE_FACE] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 242 of file tessellation.h. +

+Referenced by allocTileUv, buildTileFaces, checkCreateFillTileVB, checkFillTileVB, computeTileMaterial, copyTileUv, CTessFace, deleteTileFaces, deleteTileUv, emptyTileFaces, heritTileUv, and updateNearFarVertices.

+

+ + + + +
+ + +
uint8 NL3D::CTessFace::TileId +
+
+ + + + + +
+   + + +

+ +

+Definition at line 238 of file tessellation.h. +

+Referenced by computeTileMaterial, heritTileMaterial, and initTileUvRGBA.

+

+ + + + +
+ + +
CTileMaterial* NL3D::CTessFace::TileMaterial +
+
+ + + + + +
+   + + +

+ +

+Definition at line 240 of file tessellation.h. +

+Referenced by allocTileUv, buildTileFaces, computeTileMaterial, CTessFace, deleteTileFaces, deleteTileUv, heritTileMaterial, initTileUvLightmap, and releaseTileMaterial.

+

+ + + + +
+ + +
CTessVertex* NL3D::CTessFace::VBase +
+
+ + + + + +
+   + + +

+ +

+Definition at line 222 of file tessellation.h. +

+Referenced by allocTileUv, computeSplitPoint, computeTesselatedPos, computeTileErrorMetric, CTessFace, split, unbind, updateNearFarVertices, updateRefineMerge, and updateRefineSplit.

+

+ + + + +
+ + +
CTessVertex * NL3D::CTessFace::VLeft +
+
+ + + + + +
+   + + +

+ +

+Definition at line 222 of file tessellation.h. +

+Referenced by allocTileUv, computeSplitPoint, computeTesselatedPos, computeTileErrorMetric, CTessFace, split, unbind, updateNearFarVertices, updateRefineMerge, and updateRefineSplit.

+

+ + + + +
+ + +
CTessVertex * NL3D::CTessFace::VRight +
+
+ + + + + +
+   + + +

+ +

+Definition at line 222 of file tessellation.h. +

+Referenced by allocTileUv, computeSplitPoint, computeTesselatedPos, computeTileErrorMetric, CTessFace, split, unbind, updateNearFarVertices, updateRefineMerge, and updateRefineSplit.

+


The documentation for this class was generated from the following files: + + + +
                                                                                                                                                                    +
+ + -- cgit v1.2.1