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 std::vector<CCollisionSurfaceDesc> NLPACS::TCollisionSurfaceDescVector |
Definition at line 108 of file collision_desc.h.
| anonymous enum |
The various features of the models (precisely, the indexes to the table of features).
| NumMaxCreatureModels | |
| NumCreatureModels | |
| ModelRadius | |
| ModelHeight | |
| ModelInclineThreshold | |
| NumModelCharacteristics |
Definition at line 42 of file retrievable_surface.h.
| void NLPACS::buildExteriorMesh | ( | CCollisionMeshBuild & | cmb, | |
| CExteriorMesh & | em | |||
| ) |
Definition at line 428 of file build_indoor.cpp.
References NLPACS::CCollisionFace::ExteriorSurface, NLPACS::CCollisionMeshBuild::Faces, nlassert, nldebug, NLPACS::CExteriorMesh::setEdges(), and NLPACS::CCollisionMeshBuild::Vertices.
| void NLPACS::buildSnapping | ( | CCollisionMeshBuild & | cmb, | |
| CLocalRetriever & | lr | |||
| ) |
| void NLPACS::buildSurfaces | ( | CCollisionMeshBuild & | cmb, | |
| CLocalRetriever & | lr | |||
| ) |
Definition at line 363 of file build_indoor.cpp.
References NLPACS::CLocalRetriever::addChain(), NLPACS::CLocalRetriever::addSurface(), computeSurfaceBorders(), computeSurfaceCenter(), computeSurfaceQuadTree(), NLPACS::CChain::convertBorderChainId(), floodFillSurfaces(), nlstop, and resetEdgeFlags().
| 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 | |||
| ) |
Definition at line 238 of file build_indoor.cpp.
References NLPACS::CInteriorSurface::CollisionMeshBuild, NLPACS::CCollisionFace::Edge, NLPACS::CCollisionFace::EdgeFlags, NLPACS::CCollisionMeshBuild::Faces, NLPACS::CInteriorSurface::Faces, followBorder(), NLPACS::CInteriorSurface::getFace(), NLPACS::CInteriorSurface::getNeighbor(), NLPACS::CInteriorSurface::Id, NLPACS::CCollisionFace::InternalSurface, NLPACS::CInteriorBorder::Left, nldebug, NLPACS::CInteriorBorder::Right, NLPACS::CInteriorBorder::Vertices, and NLPACS::CCollisionFace::Visibility.
Referenced by buildSurfaces().
| void NLPACS::computeSurfaceCenter | ( | CInteriorSurface & | surface | ) |
Definition at line 302 of file build_indoor.cpp.
References NLPACS::CInteriorSurface::Center, NLPACS::CInteriorSurface::CollisionMeshBuild, NLPACS::CInteriorSurface::Faces, NLPACS::CInteriorSurface::getFace(), NLMISC::CVector::Null, NLPACS::CCollisionFace::V, and NLPACS::CCollisionMeshBuild::Vertices.
Referenced by buildSurfaces().
| void NLPACS::computeSurfaceQuadTree | ( | CInteriorSurface & | surface, | |
| CSurfaceQuadTree & | quad | |||
| ) |
Definition at line 329 of file build_indoor.cpp.
References NLPACS::CSurfaceQuadTree::addVertex(), NLPACS::CSurfaceQuadTree::clear(), NLPACS::CInteriorSurface::CollisionMeshBuild, NLPACS::CSurfaceQuadTree::compile(), NLMISC::CAABBox::extend(), NLPACS::CCollisionMeshBuild::Faces, NLPACS::CInteriorSurface::Faces, NLMISC::CAABBox::getCenter(), NLMISC::CAABBox::getHalfSize(), NLPACS::CSurfaceQuadTree::init(), NLMISC::CAABBox::setCenter(), NLPACS::CCollisionMeshBuild::Vertices, NLMISC::CVector::x, and NLMISC::CVector::y.
Referenced by buildSurfaces().
| void NLPACS::floodFillSurfaces | ( | CCollisionMeshBuild & | cmb, | |
| vector< CInteriorSurface > & | surfaces | |||
| ) |
Definition at line 107 of file build_indoor.cpp.
References NLPACS::CCollisionFace::Edge, NLPACS::CCollisionFace::ExteriorSurface, NLPACS::CCollisionMeshBuild::Faces, NLPACS::CCollisionFace::InternalSurface, NLPACS::CCollisionFace::Material, and NLPACS::CCollisionFace::Surface.
Referenced by buildSurfaces().
| void NLPACS::followBorder | ( | CInteriorSurface & | surface, | |
| uint | first, | |||
| uint | edge, | |||
| uint | sens, | |||
| vector< CVector > & | vstore, | |||
| bool & | loop | |||
| ) |
Definition at line 171 of file build_indoor.cpp.
References NLPACS::CInteriorSurface::CollisionMeshBuild, NLPACS::CCollisionFace::Edge, NLPACS::CCollisionFace::EdgeFlags, NLPACS::CInteriorSurface::Faces, NLPACS::CCollisionMeshBuild::Faces, NLPACS::CInteriorSurface::getFace(), NLPACS::CCollisionFace::InternalSurface, nlassert, NLPACS::CCollisionFace::V, NLPACS::CCollisionMeshBuild::Vertices, and NLPACS::CCollisionFace::Visibility.
Referenced by computeSurfaceBorders().
Definition at line 48 of file exterior_mesh.cpp.
References NLMISC::CVector::x, NLMISC::CVector::y, and NLMISC::CVector::z.
Referenced by NLPACS::CChain::make(), and NLPACS::CExteriorMesh::setEdges().
Definition at line 38 of file exterior_mesh.cpp.
References NLMISC::CVector::x, NLMISC::CVector::y, and NLMISC::CVector::z.
Referenced by NLPACS::CChain::make(), and NLPACS::CExteriorMesh::setEdges().
| void NLPACS::linkExteriorToInterior | ( | CLocalRetriever & | lr | ) |
Definition at line 518 of file build_indoor.cpp.
References NLPACS::CExteriorMesh::CLink::BorderChainId, NLPACS::CExteriorMesh::CLink::ChainId, NLPACS::CLocalRetriever::getBorderChains(), NLPACS::CLocalRetriever::getChains(), NLPACS::CExteriorMesh::getEdges(), NLPACS::CLocalRetriever::getExteriorMesh(), NLPACS::CLocalRetriever::getFullOrderedChains(), NLPACS::CLocalRetriever::getStartVector(), NLPACS::CLocalRetriever::getStopVector(), NLPACS::CChain::getSubChain(), NLPACS::CChain::getSubChains(), NLPACS::COrderedChain3f::getVertices(), nlinfo, nlwarning, NLPACS::CExteriorMesh::setEdges(), NLPACS::CLocalRetriever::setExteriorMesh(), NLPACS::CExteriorMesh::setLinks(), and NLPACS::CExteriorMesh::CLink::SurfaceId.
| void NLPACS::resetEdgeFlags | ( | CCollisionMeshBuild & | cmb | ) |
Definition at line 158 of file build_indoor.cpp.
References NLPACS::CCollisionMeshBuild::Faces.
Referenced by buildSurfaces().
Definition at line 538 of file primitive_world_image.cpp.
Referenced by NLPACS::CPrimitiveWorldImage::evalCollisionOCoverOC(), and NLPACS::CPrimitiveWorldImage::evalCollisionPoverOC().
| static float NLPACS::testCirclePoint | ( | const CVector2f & | start, | |
| const CVector2f & | delta, | |||
| float | radius, | |||
| const CVector2f & | point | |||
| ) | [inline, static] |
Definition at line 193 of file edge_collide.cpp.
References min, NLMISC::CVector2f::norm(), NLMISC::CVector2f::x, and NLMISC::CVector2f::y.
Referenced by NLPACS::CEdgeCollide::testCircleMove().
const float NLPACS::EdgeCollideEpsilon = 1e-5f [static] |
Definition at line 37 of file edge_collide.cpp.
Referenced by NLPACS::CEdgeCollide::testEdgeMove().
{
{ 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.
| const float NLPACS::SnapPrecision = 1024 |
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().
| const uint32 NLPACS::StartCollisionChainSize = 128 |
Definition at line 35 of file collision_surface_temp.cpp.
Referenced by NLPACS::CCollisionSurfaceTemp::CCollisionSurfaceTemp().
| const uint32 NLPACS::StartCollisionDescSize = 64 |
Definition at line 37 of file collision_surface_temp.cpp.
Referenced by NLPACS::CCollisionSurfaceTemp::CCollisionSurfaceTemp().
| const uint32 NLPACS::StartCollisionInstanceSize = 64 |
Definition at line 38 of file collision_surface_temp.cpp.
Referenced by NLPACS::CCollisionSurfaceTemp::CCollisionSurfaceTemp().
| const uint32 NLPACS::StartEdgeChainEntrySize = 1024 |
Definition at line 36 of file collision_surface_temp.cpp.
Referenced by NLPACS::CCollisionSurfaceTemp::CCollisionSurfaceTemp().
| const uint32 NLPACS::StartEdgeCollideNodeSize = 128 |
Definition at line 34 of file collision_surface_temp.cpp.
Referenced by NLPACS::CCollisionSurfaceTemp::CCollisionSurfaceTemp().
| const float NLPACS::Vector2sAccuracy = 128.0f |
Definition at line 36 of file vector_2s.h.
Referenced by NLPACS::CGlobalRetriever::doMove(), NLPACS::CVector2s::operator*(), NLPACS::CVector2s::pack(), NLPACS::CLocalRetriever::retrievePosition(), NLPACS::CLocalRetriever::snapToInteriorGround(), NLPACS::CVector2s::sqrnorm(), and NLPACS::CVector2s::unpack().
1.6.1