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

From a patch and UV coordinate in [0,OrderS], [0,OrderT], retrieve the appropriate coordinate in neighborhood. More...

#include <patchuv_locator.h>

List of all members.

Public Methods

void build (const CPatch *patchCenter, sint edgeCenter, CPatch::CBindInfo &bindInfo)
uint selectPatch (const NLMISC::CVector2f &uvIn)
void locateUV (const NLMISC::CVector2f &uvIn, uint patch, CPatch *&patchOut, NLMISC::CVector2f &uvOut)
bool sameEdgeOrder () const
 return true only if the 2 edges have same number of tiles. More...


Private Attributes

CPatch_CenterPatch
sint _CenterPatchEdge
sint _NPatchs
CPatch_NeighborPatch [4]
CUVBasis _NeighborBasis [4]
bool _SameEdgeOrder


Detailed Description

From a patch and UV coordinate in [0,OrderS], [0,OrderT], retrieve the appropriate coordinate in neighborhood.

Author:
Lionel Berenguier , Nevrax France
Date:
2001

Definition at line 45 of file patchuv_locator.h.


Member Function Documentation

void NL3D::CPatchUVLocator::build const CPatch   patchCenter,
sint    edgeCenter,
CPatch::CBindInfo   bindInfo
 

Definition at line 38 of file patchuv_locator.cpp.

References _CenterPatch, _CenterPatchEdge, _NeighborBasis, _NeighborPatch, _NPatchs, _SameEdgeOrder, id, nlassert, NL3D::CPatchUVLocator::CUVBasis::UvI, NL3D::CPatchUVLocator::CUVBasis::UvJ, and NL3D::CPatchUVLocator::CUVBasis::UvP.

void NL3D::CPatchUVLocator::locateUV const NLMISC::CVector2f   uvIn,
uint    patch,
CPatch *&    patchOut,
NLMISC::CVector2f   uvOut
 

Definition at line 202 of file patchuv_locator.cpp.

References _NeighborBasis, _NeighborPatch, _NPatchs, and NL3D::CPatchUVLocator::CUVBasis::mulPoint.

bool NL3D::CPatchUVLocator::sameEdgeOrder   const [inline]
 

return true only if the 2 edges have same number of tiles.

bind 1/X case: return true only if ALL the adjacents patchs respect this rule. So you are sure that for all the src patch, one tile has exaclty one neighbor tile near him.

Definition at line 66 of file patchuv_locator.h.

References _SameEdgeOrder.

uint NL3D::CPatchUVLocator::selectPatch const NLMISC::CVector2f   uvIn
 

Definition at line 175 of file patchuv_locator.cpp.

References _CenterPatch, _NPatchs, and NLMISC::clamp.


Member Data Documentation

CPatch* NL3D::CPatchUVLocator::_CenterPatch [private]
 

Definition at line 82 of file patchuv_locator.h.

Referenced by build, and selectPatch.

sint NL3D::CPatchUVLocator::_CenterPatchEdge [private]
 

Definition at line 83 of file patchuv_locator.h.

Referenced by build.

CUVBasis NL3D::CPatchUVLocator::_NeighborBasis[4] [private]
 

Definition at line 86 of file patchuv_locator.h.

Referenced by build, and locateUV.

CPatch* NL3D::CPatchUVLocator::_NeighborPatch[4] [private]
 

Definition at line 85 of file patchuv_locator.h.

Referenced by build, and locateUV.

sint NL3D::CPatchUVLocator::_NPatchs [private]
 

Definition at line 84 of file patchuv_locator.h.

Referenced by build, locateUV, and selectPatch.

bool NL3D::CPatchUVLocator::_SameEdgeOrder [private]
 

Definition at line 87 of file patchuv_locator.h.

Referenced by build, and sameEdgeOrder.


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