#include <collision_surface_temp.h>
Nevrax France
Definition at line 251 of file collision_surface_temp.h.
Public Types | |
| typedef std::pair< uint16, uint16 > | TExteriorEdgeIndex |
Public Member Functions | |
| CCollisionSurfaceTemp () | |
| Constructor. | |
| void | decSurface (sint32 surf) |
| void | incSurface (sint32 surf) |
Access to EdgeCollideNode | |
| uint32 | allocEdgeCollideNode (uint32 size=1) |
| return first Id. | |
| CEdgeCollideNode & | getEdgeCollideNode (uint32 id) |
| return first Id. | |
| void | resetEdgeCollideNodes () |
| return first Id. | |
Data Fields | |
| std::vector< CCollisionChain > | CollisionChains |
| Array of near Collision Chains. | |
| TCollisionSurfaceDescVector | CollisionDescs |
| Result of collision testMove(). | |
| std::vector< sint32 > | CollisionInstances |
| CGlobalRetriever instance possibly colliding movement. | |
| std::vector< CEdgeChainEntry > | EdgeChainEntries |
| std::vector< uint16 > | ExteriorEdgeIndexes |
| std::vector< CMoveSurfaceDesc > | MoveDescs |
| result of testMovementWithCollisionChains(). | |
| uint16 | OChainLUT [65536] |
| For CChainQuad::selectEdges(). | |
| uint8 | OutCounter |
| std::vector< uint16 > | PossibleSurfaces |
| NLMISC::CVector | PrecDeltaPos |
| NLMISC::CVector | PrecStartPos |
| CSurfaceIdent | PrecStartSurface |
| For testMove/doMove, prec settings. | |
| bool | PrecValid |
| std::vector< CRotSurfaceDesc > | RotDescs |
| result of testRotWithCollisionChains(). | |
| std::vector< CDistanceSurface > | SortedSurfaces |
| CSurfaceLUTEntry | SurfaceLUT [65536] |
| Array of possible near surfaces. | |
Private Attributes | |
| std::vector< CEdgeCollideNode > | _EdgeCollideNodes |
| Allocator of EdgeCollideNode. | |
|
|
Definition at line 254 of file collision_surface_temp.h. |
|
|
Constructor.
Definition at line 45 of file collision_surface_temp.cpp. References _EdgeCollideNodes, CollisionChains, CollisionDescs, CollisionInstances, EdgeChainEntries, MoveDescs, OChainLUT, OutCounter, PossibleSurfaces, PrecValid, RotDescs, NLPACS::StartCollisionChainSize, NLPACS::StartCollisionDescSize, NLPACS::StartCollisionInstanceSize, NLPACS::StartEdgeChainEntrySize, NLPACS::StartEdgeCollideNodeSize, SurfaceLUT, and uint16.
00046 {
00047 memset(OChainLUT, 0xFF, 65536*sizeof(uint16));
00048 memset(SurfaceLUT, 0x00, 65536*sizeof(CSurfaceLUTEntry));
00049 _EdgeCollideNodes.reserve(StartEdgeCollideNodeSize);
00050 CollisionChains.reserve(StartCollisionChainSize);
00051 EdgeChainEntries.reserve(StartEdgeChainEntrySize);
00052 CollisionDescs.reserve(StartCollisionDescSize);
00053 MoveDescs.reserve(StartCollisionDescSize);
00054 RotDescs.reserve(StartCollisionDescSize);
00055 CollisionInstances.reserve(StartCollisionInstanceSize);
00056 PossibleSurfaces.reserve(32);
00057 PrecValid= false;
00058 OutCounter = 0;
00059 }
|
|
|
return first Id.
Definition at line 68 of file collision_surface_temp.cpp. References _EdgeCollideNodes, size, and uint32. Referenced by NLPACS::CLocalRetriever::testCollision(), and NLPACS::CRetrieverInstance::testExteriorCollision().
00069 {
00070 uint32 id= _EdgeCollideNodes.size();
00071 _EdgeCollideNodes.resize(id+size);
00072 return id;
00073 }
|
|
|
Definition at line 354 of file collision_surface_temp.h. References NLPACS::CCollisionSurfaceTemp::CSurfaceLUTEntry::Counter, NLPACS::CCollisionSurfaceTemp::CSurfaceLUTEntry::IsPossible, OutCounter, PossibleSurfaces, sint32, SurfaceLUT, and uint16. Referenced by NLPACS::CLocalRetriever::retrieveAccuratePosition(), and NLPACS::CLocalRetriever::retrievePosition().
00355 {
00356 if (surf >= 0)
00357 {
00358 if (!SurfaceLUT[surf].IsPossible)
00359 PossibleSurfaces.push_back((uint16)surf);
00360 SurfaceLUT[surf].IsPossible = true;
00361 --SurfaceLUT[surf].Counter;
00362 }
00363 else
00364 {
00365 --OutCounter;
00366 }
00367 }
|
|
|
return first Id.
Definition at line 75 of file collision_surface_temp.cpp. References _EdgeCollideNodes, and uint32. Referenced by NLPACS::CLocalRetriever::testCollision(), NLPACS::CGlobalRetriever::testCollisionWithCollisionChains(), NLPACS::CRetrieverInstance::testExteriorCollision(), NLPACS::CGlobalRetriever::testMovementWithCollisionChains(), and NLPACS::CGlobalRetriever::testRotCollisionWithCollisionChains().
00076 {
00077 return _EdgeCollideNodes[id];
00078 }
|
|
|
Definition at line 338 of file collision_surface_temp.h. References NLPACS::CCollisionSurfaceTemp::CSurfaceLUTEntry::Counter, NLPACS::CCollisionSurfaceTemp::CSurfaceLUTEntry::IsPossible, OutCounter, PossibleSurfaces, sint32, SurfaceLUT, and uint16. Referenced by NLPACS::CLocalRetriever::retrieveAccuratePosition(), and NLPACS::CLocalRetriever::retrievePosition().
00339 {
00340 if (surf >= 0)
00341 {
00342 if (!SurfaceLUT[surf].IsPossible)
00343 PossibleSurfaces.push_back((uint16)surf);
00344 SurfaceLUT[surf].IsPossible = true;
00345 ++SurfaceLUT[surf].Counter;
00346 }
00347 else
00348 {
00349 ++OutCounter;
00350 }
00351 }
|
|
|
return first Id.
Definition at line 63 of file collision_surface_temp.cpp. References _EdgeCollideNodes. Referenced by NLPACS::CGlobalRetriever::findCollisionChains().
00064 {
00065 _EdgeCollideNodes.clear();
00066 }
|
|
|
Allocator of EdgeCollideNode.
Definition at line 371 of file collision_surface_temp.h. Referenced by allocEdgeCollideNode(), CCollisionSurfaceTemp(), getEdgeCollideNode(), and resetEdgeCollideNodes(). |
|
|
Array of near Collision Chains.
Definition at line 299 of file collision_surface_temp.h. Referenced by CCollisionSurfaceTemp(), NLPACS::CGlobalRetriever::findCollisionChains(), NLPACS::CLocalRetriever::testCollision(), NLPACS::CGlobalRetriever::testCollisionWithCollisionChains(), NLPACS::CRetrieverInstance::testExteriorCollision(), NLPACS::CGlobalRetriever::testMovementWithCollisionChains(), and NLPACS::CGlobalRetriever::testRotCollisionWithCollisionChains(). |
|
|
Result of collision testMove().
Definition at line 311 of file collision_surface_temp.h. Referenced by CCollisionSurfaceTemp(), NLPACS::CGlobalRetriever::doMove(), NLPACS::CGlobalRetriever::testBBoxMove(), NLPACS::CGlobalRetriever::testBBoxRot(), NLPACS::CGlobalRetriever::testCollisionWithCollisionChains(), NLPACS::CGlobalRetriever::testCylinderMove(), and NLPACS::CGlobalRetriever::testRotCollisionWithCollisionChains(). |
|
|
CGlobalRetriever instance possibly colliding movement.
Definition at line 315 of file collision_surface_temp.h. Referenced by CCollisionSurfaceTemp(), NLPACS::CGlobalRetriever::findCollisionChains(), NLPACS::CGlobalRetriever::getBorders(), NLPACS::CGlobalRetriever::makeLinks(), NLPACS::CGlobalRetriever::refreshLrAround(), NLPACS::CGlobalRetriever::refreshLrAroundNow(), NLPACS::CGlobalRetriever::retrievePosition(), and NLPACS::CGlobalRetriever::selectInstances(). |
|
|
|
Definition at line 288 of file collision_surface_temp.h. Referenced by NLPACS::CEdgeQuad::selectEdges(), and NLPACS::CRetrieverInstance::testExteriorCollision(). |
|
|
result of testMovementWithCollisionChains().
Definition at line 303 of file collision_surface_temp.h. Referenced by CCollisionSurfaceTemp(), and NLPACS::CGlobalRetriever::testMovementWithCollisionChains(). |
|
|
For CChainQuad::selectEdges().
Definition at line 286 of file collision_surface_temp.h. Referenced by CCollisionSurfaceTemp(), NLPACS::CEdgeQuad::selectEdges(), NLPACS::CChainQuad::selectEdges(), NLPACS::CLocalRetriever::testCollision(), and NLPACS::CRetrieverInstance::testExteriorCollision(). |
|
|
Definition at line 293 of file collision_surface_temp.h. Referenced by CCollisionSurfaceTemp(), decSurface(), incSurface(), and NLPACS::CRetrieverInstance::retrievePosition(). |
|
|
|
Definition at line 321 of file collision_surface_temp.h. Referenced by NLPACS::CGlobalRetriever::doMove(), NLPACS::CGlobalRetriever::testBBoxMove(), and NLPACS::CGlobalRetriever::testCylinderMove(). |
|
|
Definition at line 320 of file collision_surface_temp.h. Referenced by NLPACS::CGlobalRetriever::doMove(), NLPACS::CGlobalRetriever::testBBoxMove(), and NLPACS::CGlobalRetriever::testCylinderMove(). |
|
|
For testMove/doMove, prec settings.
Definition at line 319 of file collision_surface_temp.h. Referenced by NLPACS::CGlobalRetriever::doMove(), NLPACS::CGlobalRetriever::testBBoxMove(), and NLPACS::CGlobalRetriever::testCylinderMove(). |
|
|
Definition at line 322 of file collision_surface_temp.h. Referenced by CCollisionSurfaceTemp(), NLPACS::CGlobalRetriever::doMove(), NLPACS::CGlobalRetriever::testBBoxMove(), NLPACS::CGlobalRetriever::testBBoxRot(), and NLPACS::CGlobalRetriever::testCylinderMove(). |
|
|
result of testRotWithCollisionChains().
Definition at line 307 of file collision_surface_temp.h. Referenced by CCollisionSurfaceTemp(), and NLPACS::CGlobalRetriever::testRotCollisionWithCollisionChains(). |
|
|
Definition at line 295 of file collision_surface_temp.h. Referenced by NLPACS::CRetrieverInstance::retrievePosition(), and NLPACS::CGlobalRetriever::retrievePosition(). |
|
|
Array of possible near surfaces.
Definition at line 292 of file collision_surface_temp.h. Referenced by CCollisionSurfaceTemp(), decSurface(), incSurface(), NLPACS::CRetrieverInstance::retrievePosition(), NLPACS::CLocalRetriever::retrievePosition(), and NLPACS::CLocalRetriever::testPosition(). |
1.3.6