NLPACS Namespace Reference

Classes

class  UCollisionDesc
 Description of the contact of a collision. More...
class  UTriggerInfo
 Description of the contact of a collision. More...
class  ULocalPosition
 An estimation of the position of a point on a specified surface. More...
class  UGlobalPosition
 The global position in the global retriever. More...
class  UGlobalRetriever
 A class that allows to retrieve surface in a large amount of zones (referred as instances. More...
class  UMoveContainer
 A container for movable objects Some constraints: * The move bounding box must be lower than the cell size. More...
class  UMovePrimitive
 Description of movables primitives. More...
class  UPrimitiveBlock
 Block of pacs primitives, user interface. More...
class  URetrieverBank
 TODO Class description. More...
class  CInteriorSurface
 The interior surface class. More...
class  CInteriorBorder
 The border of interior surfaces. More...
class  COrderedChain3f
 A list of ordered vertices, partially delimiting 2 different surfaces. More...
class  COrderedChain
 A list of ordered vertices, partially delimiting 2 different surfaces. More...
class  CChain
 A list of ordered chains of vertices, delimiting 2 surfaces. More...
struct  EChainQuad
class  CChainQuad
 a quadgrid of list of edge chain. More...
class  ICollisionCallback
 Collision callback interface. More...
class  CCollisionDesc
 Description of the contact of a collision. More...
class  CSurfaceIdent
 Ident of a surface. More...
class  CCollisionSurfaceDesc
 Description of the contact of a collision against a surface (interior/zones). More...
struct  CCollisionFace
class  CCollisionMeshBuild
 The collision intermediate mesh, used to build the real collision meshes. More...
class  CCollisionOT
 Odered table element. More...
class  CCollisionOTInfo
 Collision descriptor for time odered table. More...
class  CCollisionOTDynamicInfo
 Dynamic collisions descriptor for time odered table. More...
class  CCollisionOTStaticInfo
 Static collisions descriptor for time odered table. More...
class  CEdgeCollideNode
 Temp collision data used during tryMove(). More...
class  CCollisionChain
 Temp collision data used during tryMove(). More...
class  CEdgeChainEntry
 Temp collision data used during tryMove(). More...
class  CExteriorEdgeEntry
 Temp collision data used for exterior mesh collision detection. More...
class  CMoveSurfaceDesc
 Description of the contact of a collision against a chain. More...
class  CRotSurfaceDesc
 Description of the contact of a rot collision against a chain. More...
class  CCollisionSurfaceTemp
 Temp collision data used during resolution of collision within surfaces. More...
class  CInt128
 A 128 bits integer. More...
class  CRational64
 A Rational of 2 64 bits. More...
class  CEdgeCollide
 Collisions against edge in 2D. More...
struct  EEdgeQuad
class  CEdgeQuad
 a quadgrid of list of edge chain. More...
class  CExteriorMesh
 The external mesh of a interior local retriever. More...
class  CFaceGrid
 A selection grid for the interior faces. More...
class  CGlobalRetriever
 A class that allows to retrieve surface in a large amount of zones (referred as instances. More...
class  CLocalRetriever
 A surface retriever, located by its bounding box. More...
class  CMoveCell
 Move cell. More...
class  CMoveContainer
 A container for movable objects Some constraints: * The move bounding box must be lower than the cell size. More...
class  CMoveElement
 Move element linkable in sorted lists. More...
class  CMovePrimitive
 Description of movables primitives. More...
class  CPrimitiveDesc
 PACS primitive description. More...
class  CPrimitiveBlock
 Block of pacs primitive. More...
class  CPrimitiveWorldImage
 Data for the primitive duplicated for each world image it is linked. More...
class  CQuadGrid
 This container is a simple grid, used to quickly find elements. More...
class  CRetrievableSurface
 A retrievable surface (inside a local surface retriever). More...
class  CRetrieverBank
 A bank of retrievers, shared by several global retrievers. More...
class  CRetrieverInstance
 An instance of a local retriever. More...
class  IQuadNode
class  CQuadLeaf
class  CQuadBranch
class  CSurfaceQuadTree
class  CVector2s
 TODO Class description. More...

Typedefs

typedef std::vector
< CCollisionSurfaceDesc
TCollisionSurfaceDescVector

Enumerations

enum  {
  NumMaxCreatureModels = 4, NumCreatureModels = 2, ModelRadius = 0, ModelHeight = 1,
  ModelInclineThreshold = 2, NumModelCharacteristics = 3
}
 

The various features of the models (precisely, the indexes to the table of features).

More...

Functions

void buildSnapping (CCollisionMeshBuild &cmb, CLocalRetriever &lr)
void buildSurfaces (CCollisionMeshBuild &cmb, CLocalRetriever &lr)
void floodFillSurfaces (CCollisionMeshBuild &cmb, vector< CInteriorSurface > &surfaces)
void resetEdgeFlags (CCollisionMeshBuild &cmb)
void followBorder (CInteriorSurface &surface, uint first, uint edge, uint sens, vector< CVector > &vstore, bool &loop)
void computeSurfaceBorders (CInteriorSurface &surface, vector< CInteriorBorder > &borders)
void computeSurfaceCenter (CInteriorSurface &surface)
void computeSurfaceQuadTree (CInteriorSurface &surface, CSurfaceQuadTree &quad)
void buildExteriorMesh (CCollisionMeshBuild &cmb, CExteriorMesh &em)
void linkExteriorToInterior (CLocalRetriever &lr)
bool computeRetriever (CCollisionMeshBuild &cmb, CLocalRetriever &lr, NLMISC::CVector &translation, std::string &error, bool useCmbTrivialTranslation=true)
 Computation functions, returns false if false.
static float testCirclePoint (const CVector2f &start, const CVector2f &delta, float radius, const CVector2f &point)
static bool isStrictlyLess (const CVector &a, const CVector &b)
static bool isStrictlyGreater (const CVector &a, const CVector &b)
uint secondDegree (double a, double b, double c, double &s0, double &s1)

Variables

const uint32 StartEdgeCollideNodeSize = 128
const uint32 StartCollisionChainSize = 128
const uint32 StartEdgeChainEntrySize = 1024
const uint32 StartCollisionDescSize = 64
const uint32 StartCollisionInstanceSize = 64
static const float EdgeCollideEpsilon = 1e-5f
float Models [NumMaxCreatureModels][NumModelCharacteristics]
 The features of the models, as floats.
const float SnapPrecision = 1024
 Precision of Snap. 1/1024 meter. If you change this, CEdgeCollide::testPointMove() won't work.
const float Vector2sAccuracy = 128.0f

Typedef Documentation

Definition at line 108 of file collision_desc.h.


Enumeration Type Documentation

anonymous enum

The various features of the models (precisely, the indexes to the table of features).

Enumerator:
NumMaxCreatureModels 
NumCreatureModels 
ModelRadius 
ModelHeight 
ModelInclineThreshold 
NumModelCharacteristics 

Definition at line 42 of file retrievable_surface.h.


Function Documentation

void NLPACS::buildExteriorMesh ( CCollisionMeshBuild &  cmb,
CExteriorMesh &  em 
)
void NLPACS::buildSnapping ( CCollisionMeshBuild &  cmb,
CLocalRetriever &  lr 
)
void NLPACS::buildSurfaces ( CCollisionMeshBuild &  cmb,
CLocalRetriever &  lr 
)
bool NLPACS::computeRetriever ( CCollisionMeshBuild &  cmb,
CLocalRetriever &  lr,
CVector &  translation,
string &  error,
bool  useCmbTrivialTranslation 
)

Computation functions, returns false if false.

void NLPACS::computeSurfaceBorders ( CInteriorSurface &  surface,
vector< CInteriorBorder > &  borders 
)
void NLPACS::computeSurfaceCenter ( CInteriorSurface &  surface  ) 
void NLPACS::computeSurfaceQuadTree ( CInteriorSurface &  surface,
CSurfaceQuadTree &  quad 
)
void NLPACS::floodFillSurfaces ( CCollisionMeshBuild &  cmb,
vector< CInteriorSurface > &  surfaces 
)
void NLPACS::followBorder ( CInteriorSurface &  surface,
uint  first,
uint  edge,
uint  sens,
vector< CVector > &  vstore,
bool loop 
)
static bool NLPACS::isStrictlyGreater ( const CVector a,
const CVector b 
) [inline, static]
static bool NLPACS::isStrictlyLess ( const CVector a,
const CVector b 
) [inline, static]
void NLPACS::linkExteriorToInterior ( CLocalRetriever &  lr  ) 
void NLPACS::resetEdgeFlags ( CCollisionMeshBuild &  cmb  ) 

Definition at line 158 of file build_indoor.cpp.

References NLPACS::CCollisionMeshBuild::Faces.

Referenced by buildSurfaces().

uint NLPACS::secondDegree ( double  a,
double  b,
double  c,
double s0,
double s1 
) [inline]
static float NLPACS::testCirclePoint ( const CVector2f start,
const CVector2f delta,
float  radius,
const CVector2f point 
) [inline, static]

Variable Documentation

const float NLPACS::EdgeCollideEpsilon = 1e-5f [static]

Definition at line 37 of file edge_collide.cpp.

Referenced by NLPACS::CEdgeCollide::testEdgeMove().

Initial value:
{
    { 0.5f, 1.0f, -1.0f },
    { 4.0f, 8.0f, +0.5f },
    { 0.0f, 0.0f, -1.0f },
    { 0.0f, 0.0f, -1.0f },
}

The features of the models, as floats.

Definition at line 41 of file retrievable_surface.cpp.

Precision of Snap. 1/1024 meter. If you change this, CEdgeCollide::testPointMove() won't work.

Definition at line 44 of file retriever_instance.h.

Referenced by NLPACS::CGlobalRetriever::doMove(), and NLPACS::CRetrieverInstance::snapVector().


Generated on Thu Jan 7 08:30:21 2010 for NeL by  doxygen 1.6.1