# 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  

RPatchMesh Class Reference

#include <nel_patch_mesh.h>

Collaboration diagram for RPatchMesh:

Collaboration graph
[legend]
List of all members.

Public Methods

 RPatchMesh ()
 ~RPatchMesh ()
uint getMapHitSize () const
uint remapTriangle (uint iD) const
uint getUIPatchSize () const
UI_PATCHgetUIPatch (uint iD)
const UI_PATCHgetUIPatch (uint iD) const
uint getUIVertexSize () const
UI_VERTEXgetUIVertex (uint iD)
const UI_VERTEXgetUIVertex (uint iD) const
 RPatchMesh (PatchMesh *pmesh)
void InvalidateBindingPos ()
void InvalidateBindingInfo ()
void UpdateBinding (PatchMesh& patch, TimeValue t)
bool Validity (const PatchMesh& patch, bool bAssert)
void SetNumVerts (int nVert)
void SetNumPatches (int nPatch)
void Subdivide (int nPatch, int nV0, int nV1, int nV2, int nV3, int nCenter, int nFirstPatch, PatchMesh& patch)
void SubdivideU (int nPatch, int nV0, int nV1, int nFirstPatch, PatchMesh& patch)
void SubdivideV (int nPatch, int nV0, int nV1, int nFirstPatch, PatchMesh& patch)
void AddHook (int nVert, int nSeg, PatchMesh& patch)
void AddHook (int nVert0, int nVert1, int nVert2, int nSeg, PatchMesh& patch)
void RemoveHook (PatchMesh& patch)
void Attach (RPatchMesh *rattPatch, PatchMesh& patch)
void CreateExtrusion (PatchMesh *rpatch)
void Weld (PatchMesh *patch)
void AddPatch (int nEdge, int nFirstPatch, PatchMesh *patch)
void DeleteAndSweep (const BitArray &remapVerts, const BitArray &remapPatches, PatchMesh& patch)
void InvalidateChannels (ChannelMask channels)
void ResolveTopoChanges (PatchMesh *patch)
void SetSelLevel (int sellevel)
int GetSelLevel ()
IOResult Load (ILoad *iload)
IOResult Save (ISave *isave)
Matrix3 GetSelTileTm (PatchMesh& patch, TimeValue t, INode *node, bool& bHasSel) const
Point3 GetSelTileCenter (PatchMesh& patch, TimeValue t, INode *node, bool& bHasSel) const
BOOL SubObjectHitTest (GraphicsWindow *gw, Material *ma, HitRegion *hr, DWORD flags, SubPatchHitList& hitList, TimeValue t, PatchMesh& patch)
int GetTileNumber (int nPatch, int nU, int nV) const
void BuildMesh (TimeValue t, PatchMesh& patch, Mesh *pMesh=NULL)
void GetPatchTess (int nPatch, int& nUTess, int& nVTess)
int Display (TimeValue t, INode* inode, ViewExp *vpt, int flags, PatchMesh& patch)
tileDescgetTileDesc (int nTile)
void setTileDesc (int nTile, const tileDesc& desc)
void TurnPatch (PatchMesh *patch)
void exportZone (INode* pNode, PatchMesh* pPM, NL3D::CZone& zone, int zoneId)
void getVertexColor (int patch, int s, int t, NLMISC::CRGBA& dest)
void setVertexColor (int patch, int s, int t, const NLMISC::CRGBA& newColor)

Public Attributes

Interval ValidGeom
Interval ValidTopo
Interval ValidTexmap
Interval ValidSelect
Interval ValidDisplay
Interval ValidBindingPos
Interval ValidBindingInfo
BitArray tileSel
RPOTess rTess
bool paint
bool paintHack

Private Methods

void resizeMapHit (uint size)
void setRemapEntry (uint iD, uint remap)
void resizeUIPatch (uint size)
void resizeUIVertex (uint size)
void BindingVertex (int nVertex, int nPatch, int nEdge, int nPrimary, typeBind nType)
void UnBindingVertex (int nVertex)
void UnbindRelatedPatch (int nPatch, PatchMesh& patch)
void UnbindRelatedVertex (int nPatch, PatchMesh& patch)
void UpdateBindingPos (PatchMesh& patch)
void UpdateBindingInfo (PatchMesh& patch)
void FindPatch (PatchMesh *patch, int nEdge, int &WhichEdge, int &nPatch, int nFirstPatch)

Private Attributes

CPatchMeshData _Data
Mesh mesh
int selLevel
int tileSet
int build

Static Private Attributes

CBankManager manager

Friends

class  RPO

Constructor & Destructor Documentation

RPatchMesh::RPatchMesh ( )
 

Definition at line 196 of file nel_patch_mesh.cpp.

RPatchMesh::~RPatchMesh ( )
 

Definition at line 221 of file nel_patch_mesh.cpp.

RPatchMesh::RPatchMesh ( PatchMesh * pmesh )
 

Definition at line 159 of file nel_patch_mesh.cpp.


Member Function Documentation

void RPatchMesh::AddHook ( int nVert0,
int nVert1,
int nVert2,
int nSeg,
PatchMesh & patch )
 

Definition at line 1270 of file nel_patch_mesh.cpp.

void RPatchMesh::AddHook ( int nVert,
int nSeg,
PatchMesh & patch )
 

Definition at line 1256 of file nel_patch_mesh.cpp.

Referenced by RPatchMesh().

void RPatchMesh::AddPatch ( int nEdge,
int nFirstPatch,
PatchMesh * patch )
 

Definition at line 1606 of file nel_patch_mesh.cpp.

void RPatchMesh::Attach ( RPatchMesh * rattPatch,
PatchMesh & patch )
 

Definition at line 1295 of file nel_patch_mesh.cpp.

void RPatchMesh::BindingVertex ( int nVertex,
int nPatch,
int nEdge,
int nPrimary,
typeBind nType ) [private]
 

Definition at line 823 of file nel_patch_mesh.cpp.

Referenced by AddHook().

void RPatchMesh::BuildMesh ( TimeValue t,
PatchMesh & patch,
Mesh * pMesh = NULL )
 

Definition at line 2186 of file nel_patch_mesh.cpp.

Referenced by RPO::ConvertToType(), Display(), RPO::GetRenderMesh(), and SubObjectHitTest().

void RPatchMesh::CreateExtrusion ( PatchMesh * patch )
 

Definition at line 1349 of file nel_patch_mesh.cpp.

void RPatchMesh::DeleteAndSweep ( const BitArray & remapVerts,
const BitArray & remapPatches,
PatchMesh & patch )
 

Definition at line 1652 of file nel_patch_mesh.cpp.

int RPatchMesh::Display ( TimeValue t,
INode * inode,
ViewExp * vpt,
int flags,
PatchMesh & patch )
 

Definition at line 2745 of file nel_patch_mesh.cpp.

Referenced by RPO::Display().

void RPatchMesh::FindPatch ( PatchMesh * patch,
int nEdge,
int & WhichEdge,
int & nPatch,
int nFirstPatch ) [private]
 

Definition at line 1450 of file nel_patch_mesh.cpp.

Referenced by CreateExtrusion().

void RPatchMesh::GetPatchTess ( int nPatch,
int & nUTess,
int & nVTess )
 

Definition at line 2734 of file nel_patch_mesh.cpp.

Referenced by BuildMesh().

int RPatchMesh::GetSelLevel ( ) [inline]
 

Definition at line 679 of file nel_patch_mesh.h.

Referenced by BuildMesh(), and Display().

Point3 RPatchMesh::GetSelTileCenter ( PatchMesh & patch,
TimeValue t,
INode * node,
bool & bHasSel ) const
 

Definition at line 2066 of file nel_patch_mesh.cpp.

Matrix3 RPatchMesh::GetSelTileTm ( PatchMesh & patch,
TimeValue t,
INode * node,
bool & bHasSel ) const
 

Definition at line 2026 of file nel_patch_mesh.cpp.

int RPatchMesh::GetTileNumber ( int nPatch,
int nU,
int nV ) const [inline]
 

Definition at line 703 of file nel_patch_mesh.h.

Referenced by BuildMesh(), GetSelTileCenter(), and GetSelTileTm().

void RPatchMesh::InvalidateBindingInfo ( ) [inline]
 

Definition at line 618 of file nel_patch_mesh.h.

Referenced by AddHook(), Attach(), CreateExtrusion(), DeleteAndSweep(), ResolveTopoChanges(), Subdivide(), SubdivideU(), and SubdivideV().

void RPatchMesh::InvalidateBindingPos ( ) [inline]
 

Definition at line 617 of file nel_patch_mesh.h.

Referenced by InvalidateBindingInfo(), and RPO::PointsWereChanged().

void RPatchMesh::InvalidateChannels ( ChannelMask channels )
 

Definition at line 1736 of file nel_patch_mesh.cpp.

Referenced by RPO::ConvertToType(), RPO::InvalidateChannels(), and SetSelLevel().

IOResult RPatchMesh::Load ( ILoad * iload )
 

Definition at line 1757 of file nel_patch_mesh.cpp.

Referenced by RPO::Load().

void RPatchMesh::RemoveHook ( PatchMesh & patch )
 

Definition at line 1285 of file nel_patch_mesh.cpp.

void RPatchMesh::ResolveTopoChanges ( PatchMesh * patch )
 

Definition at line 1471 of file nel_patch_mesh.cpp.

Referenced by Weld().

IOResult RPatchMesh::Save ( ISave * isave )
 

Definition at line 1923 of file nel_patch_mesh.cpp.

Referenced by RPO::Save().

void RPatchMesh::SetNumPatches ( int nPatch )
 

Definition at line 872 of file nel_patch_mesh.cpp.

Referenced by AddPatch(), Attach(), CreateExtrusion(), DeleteAndSweep(), Load(), RPatchMesh(), and ResolveTopoChanges().

void RPatchMesh::SetNumVerts ( int nVert )
 

Definition at line 861 of file nel_patch_mesh.cpp.

Referenced by Attach(), CreateExtrusion(), DeleteAndSweep(), Load(), RPatchMesh(), and ResolveTopoChanges().

void RPatchMesh::SetSelLevel ( int sellevel ) [inline]
 

Definition at line 672 of file nel_patch_mesh.h.

Referenced by RPatchMesh().

BOOL RPatchMesh::SubObjectHitTest ( GraphicsWindow * gw,
Material * ma,
HitRegion * hr,
DWORD flags,
SubPatchHitList & hitList,
TimeValue t,
PatchMesh & patch )
 

Definition at line 2104 of file nel_patch_mesh.cpp.

void RPatchMesh::Subdivide ( int nPatch,
int nV0,
int nV1,
int nV2,
int nV3,
int nCenter,
int nFirstPatch,
PatchMesh & patch )
 

Definition at line 886 of file nel_patch_mesh.cpp.

void RPatchMesh::SubdivideU ( int nPatch,
int nV0,
int nV1,
int nFirstPatch,
PatchMesh & patch )
 

Definition at line 1057 of file nel_patch_mesh.cpp.

void RPatchMesh::SubdivideV ( int nPatch,
int nV0,
int nV1,
int nFirstPatch,
PatchMesh & patch )
 

Definition at line 1151 of file nel_patch_mesh.cpp.

void RPatchMesh::TurnPatch ( PatchMesh * patch )
 

Definition at line 2900 of file nel_patch_mesh.cpp.

void RPatchMesh::UnBindingVertex ( int nVertex ) [private]
 

Definition at line 850 of file nel_patch_mesh.cpp.

Referenced by DeleteAndSweep(), ResolveTopoChanges(), Subdivide(), SubdivideU(), SubdivideV(), and UnbindRelatedVertex().

void RPatchMesh::UnbindRelatedPatch ( int nPatch,
PatchMesh & patch ) [private]
 

Definition at line 1640 of file nel_patch_mesh.cpp.

Referenced by DeleteAndSweep(), ResolveTopoChanges(), Subdivide(), SubdivideU(), and SubdivideV().

void RPatchMesh::UnbindRelatedVertex ( int nVertex,
PatchMesh & patch ) [private]
 

Definition at line 1624 of file nel_patch_mesh.cpp.

Referenced by DeleteAndSweep(), RemoveHook(), ResolveTopoChanges(), and UnbindRelatedPatch().

void RPatchMesh::UpdateBinding ( PatchMesh & patch,
TimeValue t )
 

Definition at line 808 of file nel_patch_mesh.cpp.

Referenced by BuildMesh(), and Display().

void RPatchMesh::UpdateBindingInfo ( PatchMesh & patch ) [private]
 

Definition at line 689 of file nel_patch_mesh.cpp.

Referenced by UpdateBinding().

void RPatchMesh::UpdateBindingPos ( PatchMesh & patch ) [private]
 

Definition at line 611 of file nel_patch_mesh.cpp.

Referenced by UpdateBinding().

bool RPatchMesh::Validity ( const PatchMesh & patch,
bool bAssert )
 

Definition at line 409 of file nel_patch_mesh.cpp.

Referenced by BuildMesh(), and UpdateBindingPos().

void RPatchMesh::Weld ( PatchMesh * patch )
 

Definition at line 1590 of file nel_patch_mesh.cpp.

void RPatchMesh::exportZone ( INode * pNode,
PatchMesh * pPM,
NL3D::CZone & zone,
int zoneId )
 

Definition at line 121 of file rpo2nel.cpp.

uint RPatchMesh::getMapHitSize ( ) const [inline]
 

Definition at line 505 of file nel_patch_mesh.h.

Referenced by SubObjectHitTest().

tileDesc & RPatchMesh::getTileDesc ( int nTile )
 

Definition at line 2878 of file nel_patch_mesh.cpp.

const UI_PATCH & RPatchMesh::getUIPatch ( uint iD ) const [inline]
 

Definition at line 533 of file nel_patch_mesh.h.

UI_PATCH & RPatchMesh::getUIPatch ( uint iD ) [inline]
 

Definition at line 524 of file nel_patch_mesh.h.

Referenced by AddPatch(), Attach(), BuildMesh(), CreateExtrusion(), DeleteAndSweep(), GetSelTileCenter(), GetSelTileTm(), Load(), ResolveTopoChanges(), Save(), SetNumPatches(), Subdivide(), SubdivideU(), SubdivideV(), TurnPatch(), exportZone(), getTileDesc(), getVertexColor(), setTileDesc(), and setVertexColor().

uint RPatchMesh::getUIPatchSize ( ) const [inline]
 

Definition at line 518 of file nel_patch_mesh.h.

Referenced by AddPatch(), Attach(), BindingVertex(), CreateExtrusion(), DeleteAndSweep(), GetPatchTess(), GetSelTileCenter(), GetSelTileTm(), ResolveTopoChanges(), Save(), SetNumPatches(), and Validity().

const UI_VERTEX & RPatchMesh::getUIVertex ( uint iD ) const [inline]
 

Definition at line 557 of file nel_patch_mesh.h.

UI_VERTEX & RPatchMesh::getUIVertex ( uint iD ) [inline]
 

Definition at line 548 of file nel_patch_mesh.h.

Referenced by Attach(), BindingVertex(), CreateExtrusion(), DeleteAndSweep(), RPO::Display(), Display(), Load(), ResolveTopoChanges(), Save(), SetNumVerts(), Subdivide(), SubdivideU(), SubdivideV(), TurnPatch(), UnBindingVertex(), UnbindRelatedPatch(), UnbindRelatedVertex(), UpdateBindingInfo(), UpdateBindingPos(), exportZone(), and getOtherBindedVertex().

uint RPatchMesh::getUIVertexSize ( ) const [inline]
 

Definition at line 542 of file nel_patch_mesh.h.

Referenced by Attach(), BindingVertex(), CreateExtrusion(), DeleteAndSweep(), ResolveTopoChanges(), Save(), SetNumVerts(), Subdivide(), SubdivideU(), SubdivideV(), UnbindRelatedVertex(), UpdateBindingPos(), and Validity().

void RPatchMesh::getVertexColor ( int patch,
int s,
int t,
NLMISC::CRGBA & dest ) [inline]
 

Definition at line 736 of file nel_patch_mesh.h.

uint RPatchMesh::remapTriangle ( uint iD ) const [inline]
 

Definition at line 511 of file nel_patch_mesh.h.

Referenced by SubObjectHitTest().

void RPatchMesh::resizeMapHit ( uint size ) [inline, private]
 

Definition at line 481 of file nel_patch_mesh.h.

Referenced by BuildMesh().

void RPatchMesh::resizeUIPatch ( uint size ) [inline, private]
 

Definition at line 493 of file nel_patch_mesh.h.

Referenced by SetNumPatches().

void RPatchMesh::resizeUIVertex ( uint size ) [inline, private]
 

Definition at line 499 of file nel_patch_mesh.h.

Referenced by SetNumVerts().

void RPatchMesh::setRemapEntry ( uint iD,
uint remap ) [inline, private]
 

Definition at line 487 of file nel_patch_mesh.h.

Referenced by BuildMesh().

void RPatchMesh::setTileDesc ( int nTile,
const tileDesc & desc )
 

Definition at line 2889 of file nel_patch_mesh.cpp.

void RPatchMesh::setVertexColor ( int patch,
int s,
int t,
const NLMISC::CRGBA & newColor ) [inline]
 

Definition at line 749 of file nel_patch_mesh.h.


Friends And Related Function Documentation

class RPO [friend]
 

Definition at line 470 of file nel_patch_mesh.h.


Member Data Documentation

Interval RPatchMesh::ValidBindingInfo
 

Definition at line 573 of file nel_patch_mesh.h.

Interval RPatchMesh::ValidBindingPos
 

Definition at line 572 of file nel_patch_mesh.h.

Interval RPatchMesh::ValidDisplay
 

Definition at line 571 of file nel_patch_mesh.h.

Interval RPatchMesh::ValidGeom
 

Definition at line 567 of file nel_patch_mesh.h.

Interval RPatchMesh::ValidSelect
 

Definition at line 570 of file nel_patch_mesh.h.

Interval RPatchMesh::ValidTexmap
 

Definition at line 569 of file nel_patch_mesh.h.

Interval RPatchMesh::ValidTopo
 

Definition at line 568 of file nel_patch_mesh.h.

CPatchMeshData RPatchMesh::_Data [private]
 

Definition at line 478 of file nel_patch_mesh.h.

int RPatchMesh::build [private]
 

Definition at line 585 of file nel_patch_mesh.h.

CBankManager RPatchMesh::manager [static, private]
 

Definition at line 590 of file nel_patch_mesh.h.

Mesh RPatchMesh::mesh [private]
 

Definition at line 581 of file nel_patch_mesh.h.

bool RPatchMesh::paint
 

Definition at line 587 of file nel_patch_mesh.h.

bool RPatchMesh::paintHack
 

Definition at line 588 of file nel_patch_mesh.h.

RPOTess RPatchMesh::rTess
 

Definition at line 578 of file nel_patch_mesh.h.

int RPatchMesh::selLevel [private]
 

Definition at line 583 of file nel_patch_mesh.h.

BitArray RPatchMesh::tileSel
 

Definition at line 574 of file nel_patch_mesh.h.

int RPatchMesh::tileSet [private]
 

Definition at line 584 of file nel_patch_mesh.h.


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