NL3D::CPatchInfo::CBindInfo Struct Reference

#include <zone.h>


Detailed Description

A bind Info on a edge of a patch. Entry 0 is only usefull for Bind One/One+ Entry 1 is only usefull for Bind One/Two+ Entry 2/3 is only usefull for Bind One/Four.

Definition at line 95 of file src/3d/zone.h.

Public Member Functions

 CBindInfo ()
void serial (NLMISC::IStream &f)

Data Fields

uint8 Edge [4]
 On which edge of Nexti we are binded.

uint16 Next [4]
 The neighbor patch i.

uint8 NPatchs
uint16 ZoneId
 The neighbor zone of all neigbor patch. Often the same zone as the patch (but on zone border).


Constructor & Destructor Documentation

NL3D::CPatchInfo::CBindInfo::CBindInfo  )  [inline]
 

Definition at line 112 of file src/3d/zone.h.

00112 {NPatchs=0;}


Member Function Documentation

void NL3D::CPatchInfo::CBindInfo::serial NLMISC::IStream f  ) 
 

Definition at line 421 of file 3d/zone.cpp.

References nlassert, NLMISC::IStream::serialVersion(), and NLMISC::IStream::xmlSerial().

00422 {
00423         (void)f.serialVersion(0);
00424         f.xmlSerial(NPatchs, "NPATCH");
00425         nlassert ( (NPatchs==0) | (NPatchs==1) | (NPatchs==2) | (NPatchs==4) | (NPatchs==5) );
00426         f.xmlSerial (ZoneId, "ZONE_ID");
00427         f.xmlSerial (Next[0], Next[1], Next[2], Next[3], "NEXT_PATCH");
00428         f.xmlSerial (Edge[0], Edge[1], Edge[2], Edge[3], "NEXT_EDGE");
00429 }


Field Documentation

uint8 NL3D::CPatchInfo::CBindInfo::Edge[4]
 

On which edge of Nexti we are binded.

Definition at line 108 of file src/3d/zone.h.

Referenced by NL3D::CZone::bindPatch(), NL3D::CZone::buildBindInfo(), NL3D::CLandscape::checkZoneBinds(), NL3D::CZone::debugBinds(), NL3D::CPatchInfo::getNeighborTile(), NL3D::CZoneSymmetrisation::propagateTileState(), NL3D::CZoneSmoother::smoothTangents(), and NL3D::CPatchInfo::transform().

uint16 NL3D::CPatchInfo::CBindInfo::Next[4]
 

The neighbor patch i.

Definition at line 106 of file src/3d/zone.h.

Referenced by NL3D::CZone::bindPatch(), NL3D::CZone::buildBindInfo(), NL3D::CLandscape::checkZoneBinds(), NL3D::CZone::debugBinds(), NL3D::CPatchInfo::getNeighborTile(), NL3D::CZoneSymmetrisation::propagateTileState(), NL3D::CZoneSmoother::smoothTangents(), and NL3D::CPatchInfo::transform().

uint8 NL3D::CPatchInfo::CBindInfo::NPatchs
 

The number of patchs on this edge. 0,1, 2 or 4. 0 means no neigbor on this edge. 5 is a special code, which means the same thing than NPatchs==1, but "I am one of the little patch connected to the bigger neigbor". Like when NPatchs==1, ZoneId, Next[0] and Edge[0] must be valid.

Definition at line 101 of file src/3d/zone.h.

Referenced by NL3D::CZone::bindPatch(), NL3D::CZone::buildBindInfo(), NL3D::CLandscape::checkZoneBinds(), NL3D::CZone::debugBinds(), NL3D::CPatchInfo::getNeighborTile(), NL3D::CZone::patchOnBorder(), NL3D::CZoneSymmetrisation::propagateTileState(), NL3D::CZoneSmoother::smoothTangents(), and NL3D::CPatchInfo::transform().

uint16 NL3D::CPatchInfo::CBindInfo::ZoneId
 

The neighbor zone of all neigbor patch. Often the same zone as the patch (but on zone border).

Definition at line 104 of file src/3d/zone.h.

Referenced by NL3D::CZone::bindPatch(), NL3D::CLandscape::checkZoneBinds(), NL3D::CZone::debugBinds(), NL3D::CZone::patchOnBorder(), and NL3D::CZoneSmoother::smoothTangents().


The documentation for this struct was generated from the following files:
Generated on Tue Mar 16 07:01:07 2004 for NeL by doxygen 1.3.6