From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/a02387.html | 861 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 861 insertions(+) create mode 100644 docs/doxygen/nel/a02387.html (limited to 'docs/doxygen/nel/a02387.html') diff --git a/docs/doxygen/nel/a02387.html b/docs/doxygen/nel/a02387.html new file mode 100644 index 00000000..04acb08c --- /dev/null +++ b/docs/doxygen/nel/a02387.html @@ -0,0 +1,861 @@ + + +NeL: NLPACS::CCollisionSurfaceTemp class Reference + + + +
+

NLPACS::CCollisionSurfaceTemp Class Reference

#include <collision_surface_temp.h> +

+


Detailed Description

+Temp collision data used during resolution of collision within surfaces. There should be one CCollisionSurfaceTemp per thread. This is a private class, in essence.
Author:
Lionel Berenguier

+Nevrax France

+
Date:
2001
+ +

+ +

+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.

CEdgeCollideNodegetEdgeCollideNode (uint32 id)
 return first Id.

void resetEdgeCollideNodes ()
 return first Id.


Data Fields

std::vector< CCollisionChainCollisionChains
 Array of near Collision Chains.

TCollisionSurfaceDescVector CollisionDescs
 Result of collision testMove().

std::vector< sint32CollisionInstances
 CGlobalRetriever instance possibly colliding movement.

std::vector< CEdgeChainEntryEdgeChainEntries
std::vector< uint16ExteriorEdgeIndexes
std::vector< CMoveSurfaceDescMoveDescs
 result of testMovementWithCollisionChains().

uint16 OChainLUT [65536]
 For CChainQuad::selectEdges().

uint8 OutCounter
std::vector< uint16PossibleSurfaces
NLMISC::CVector PrecDeltaPos
NLMISC::CVector PrecStartPos
CSurfaceIdent PrecStartSurface
 For testMove/doMove, prec settings.

bool PrecValid
std::vector< CRotSurfaceDescRotDescs
 result of testRotWithCollisionChains().

std::vector< CDistanceSurfaceSortedSurfaces
CSurfaceLUTEntry SurfaceLUT [65536]
 Array of possible near surfaces.


Private Attributes

std::vector< CEdgeCollideNode_EdgeCollideNodes
 Allocator of EdgeCollideNode.

+


Member Typedef Documentation

+

+ + + + +
+ + +
typedef std::pair<uint16, uint16> NLPACS::CCollisionSurfaceTemp::TExteriorEdgeIndex +
+
+ + + + + +
+   + + +

+ +

+Definition at line 254 of file collision_surface_temp.h.

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
NLPACS::CCollisionSurfaceTemp::CCollisionSurfaceTemp  ) 
+
+ + + + + +
+   + + +

+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 }
+
+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + +
uint32 NLPACS::CCollisionSurfaceTemp::allocEdgeCollideNode uint32  size = 1  ) 
+
+ + + + + +
+   + + +

+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 }
+
+

+ + + + +
+ + + + + + + + + + +
void NLPACS::CCollisionSurfaceTemp::decSurface sint32  surf  )  [inline]
+
+ + + + + +
+   + + +

+ +

+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         }
+
+

+ + + + +
+ + + + + + + + + + +
CEdgeCollideNode & NLPACS::CCollisionSurfaceTemp::getEdgeCollideNode uint32  id  ) 
+
+ + + + + +
+   + + +

+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 }
+
+

+ + + + +
+ + + + + + + + + + +
void NLPACS::CCollisionSurfaceTemp::incSurface sint32  surf  )  [inline]
+
+ + + + + +
+   + + +

+ +

+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         }
+
+

+ + + + +
+ + + + + + + + + +
void NLPACS::CCollisionSurfaceTemp::resetEdgeCollideNodes  ) 
+
+ + + + + +
+   + + +

+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 }
+
+


Field Documentation

+

+ + + + +
+ + +
std::vector<CEdgeCollideNode> NLPACS::CCollisionSurfaceTemp::_EdgeCollideNodes [private] +
+
+ + + + + +
+   + + +

+Allocator of EdgeCollideNode. +

+ +

+Definition at line 371 of file collision_surface_temp.h. +

+Referenced by allocEdgeCollideNode(), CCollisionSurfaceTemp(), getEdgeCollideNode(), and resetEdgeCollideNodes().

+

+ + + + +
+ + +
std::vector<CCollisionChain> NLPACS::CCollisionSurfaceTemp::CollisionChains +
+
+ + + + + +
+   + + +

+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().

+

+ + + + +
+ + +
TCollisionSurfaceDescVector NLPACS::CCollisionSurfaceTemp::CollisionDescs +
+
+ + + + + +
+   + + +

+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().

+

+ + + + +
+ + +
std::vector<sint32> NLPACS::CCollisionSurfaceTemp::CollisionInstances +
+
+ + + + + +
+   + + +

+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().

+

+ + + + +
+ + +
std::vector<CEdgeChainEntry> NLPACS::CCollisionSurfaceTemp::EdgeChainEntries +
+
+ + + + + +
+   + + +

+ +

+Definition at line 287 of file collision_surface_temp.h. +

+Referenced by CCollisionSurfaceTemp(), NLPACS::CLocalRetriever::findPath(), NLPACS::CGlobalRetriever::getBorders(), NLPACS::CLocalRetriever::retrieveAccuratePosition(), NLPACS::CLocalRetriever::retrievePosition(), NLPACS::CChainQuad::selectEdges(), and NLPACS::CLocalRetriever::testCollision().

+

+ + + + +
+ + +
std::vector<uint16> NLPACS::CCollisionSurfaceTemp::ExteriorEdgeIndexes +
+
+ + + + + +
+   + + +

+ +

+Definition at line 288 of file collision_surface_temp.h. +

+Referenced by NLPACS::CEdgeQuad::selectEdges(), and NLPACS::CRetrieverInstance::testExteriorCollision().

+

+ + + + +
+ + +
std::vector<CMoveSurfaceDesc> NLPACS::CCollisionSurfaceTemp::MoveDescs +
+
+ + + + + +
+   + + +

+result of testMovementWithCollisionChains(). +

+ +

+Definition at line 303 of file collision_surface_temp.h. +

+Referenced by CCollisionSurfaceTemp(), and NLPACS::CGlobalRetriever::testMovementWithCollisionChains().

+

+ + + + +
+ + +
uint16 NLPACS::CCollisionSurfaceTemp::OChainLUT[65536] +
+
+ + + + + +
+   + + +

+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().

+

+ + + + +
+ + +
uint8 NLPACS::CCollisionSurfaceTemp::OutCounter +
+
+ + + + + +
+   + + +

+ +

+Definition at line 293 of file collision_surface_temp.h. +

+Referenced by CCollisionSurfaceTemp(), decSurface(), incSurface(), and NLPACS::CRetrieverInstance::retrievePosition().

+

+ + + + +
+ + +
std::vector<uint16> NLPACS::CCollisionSurfaceTemp::PossibleSurfaces +
+
+ + + + + +
+   + + +

+ +

+Definition at line 294 of file collision_surface_temp.h. +

+Referenced by CCollisionSurfaceTemp(), decSurface(), incSurface(), NLPACS::CLocalRetriever::retrieveAccuratePosition(), NLPACS::CRetrieverInstance::retrievePosition(), NLPACS::CLocalRetriever::retrievePosition(), and NLPACS::CLocalRetriever::testPosition().

+

+ + + + +
+ + +
NLMISC::CVector NLPACS::CCollisionSurfaceTemp::PrecDeltaPos +
+
+ + + + + +
+   + + +

+ +

+Definition at line 321 of file collision_surface_temp.h. +

+Referenced by NLPACS::CGlobalRetriever::doMove(), NLPACS::CGlobalRetriever::testBBoxMove(), and NLPACS::CGlobalRetriever::testCylinderMove().

+

+ + + + +
+ + +
NLMISC::CVector NLPACS::CCollisionSurfaceTemp::PrecStartPos +
+
+ + + + + +
+   + + +

+ +

+Definition at line 320 of file collision_surface_temp.h. +

+Referenced by NLPACS::CGlobalRetriever::doMove(), NLPACS::CGlobalRetriever::testBBoxMove(), and NLPACS::CGlobalRetriever::testCylinderMove().

+

+ + + + +
+ + +
CSurfaceIdent NLPACS::CCollisionSurfaceTemp::PrecStartSurface +
+
+ + + + + +
+   + + +

+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().

+

+ + + + +
+ + +
bool NLPACS::CCollisionSurfaceTemp::PrecValid +
+
+ + + + + +
+   + + +

+ +

+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().

+

+ + + + +
+ + +
std::vector<CRotSurfaceDesc> NLPACS::CCollisionSurfaceTemp::RotDescs +
+
+ + + + + +
+   + + +

+result of testRotWithCollisionChains(). +

+ +

+Definition at line 307 of file collision_surface_temp.h. +

+Referenced by CCollisionSurfaceTemp(), and NLPACS::CGlobalRetriever::testRotCollisionWithCollisionChains().

+

+ + + + +
+ + +
std::vector<CDistanceSurface> NLPACS::CCollisionSurfaceTemp::SortedSurfaces +
+
+ + + + + +
+   + + +

+ +

+Definition at line 295 of file collision_surface_temp.h. +

+Referenced by NLPACS::CRetrieverInstance::retrievePosition(), and NLPACS::CGlobalRetriever::retrievePosition().

+

+ + + + +
+ + +
CSurfaceLUTEntry NLPACS::CCollisionSurfaceTemp::SurfaceLUT[65536] +
+
+ + + + + +
+   + + +

+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().

+


The documentation for this class was generated from the following files: +
Generated on Tue Mar 16 14:11:45 2004 for NeL by + +doxygen +1.3.6
+ + -- cgit v1.2.1