NLPACS::CCollisionChain Class Reference

#include <collision_surface_temp.h>


Detailed Description

Temp collision data used during tryMove().
Author:
Lionel Berenguier

Nevrax France

Date:
2001

Definition at line 66 of file collision_surface_temp.h.

Public Member Functions

 CCollisionChain ()
const CSurfaceIdentgetOtherSurface (const CSurfaceIdent &surf) const
 Return Left if surf==Right, else return Right.

bool hasSurface (const CSurfaceIdent &surf) const
 test if Left or Right == surf.

bool sameSurfacesThan (const CCollisionChain &o) const
 test if 2 CCollisionChain have same surface neighbors.


Data Fields

uint16 ChainId
 the id in the local retriever which generate this chain (temp).

bool ExteriorEdge
 If the chain is an exterior edge.

uint32 FirstEdgeCollide
 First edgeCollideNode in the CCollisionSurfaceTemp allocator. 0xFFFFFFFF if none. This is a List of edgeCollide.

CSurfaceIdent LeftSurface
 The Left/Right surface next this chain.

CSurfaceIdent RightSurface
 The Left/Right surface next this chain.

bool Tested
 In the algorithm, this chain has been tested???


Constructor & Destructor Documentation

NLPACS::CCollisionChain::CCollisionChain  )  [inline]
 

Definition at line 81 of file collision_surface_temp.h.

References ExteriorEdge, FirstEdgeCollide, and Tested.

00082         {
00083                 FirstEdgeCollide= 0xFFFFFFFF;
00084                 Tested= false;
00085                 ExteriorEdge = false;
00086         }


Member Function Documentation

const CSurfaceIdent& NLPACS::CCollisionChain::getOtherSurface const CSurfaceIdent surf  )  const [inline]
 

Return Left if surf==Right, else return Right.

Definition at line 103 of file collision_surface_temp.h.

References LeftSurface, and RightSurface.

Referenced by NLPACS::CGlobalRetriever::testCollisionWithCollisionChains().

00104         {
00105                 if(RightSurface==surf)
00106                         return LeftSurface;
00107                 else
00108                         return RightSurface;
00109         }

bool NLPACS::CCollisionChain::hasSurface const CSurfaceIdent surf  )  const [inline]
 

test if Left or Right == surf.

Definition at line 97 of file collision_surface_temp.h.

References LeftSurface, and RightSurface.

Referenced by NLPACS::CGlobalRetriever::testCollisionWithCollisionChains().

00098         {
00099                 return LeftSurface==surf || RightSurface==surf;
00100         }

bool NLPACS::CCollisionChain::sameSurfacesThan const CCollisionChain o  )  const [inline]
 

test if 2 CCollisionChain have same surface neighbors.

Definition at line 90 of file collision_surface_temp.h.

References LeftSurface, and RightSurface.

00091         {
00092                 return (LeftSurface==o.LeftSurface  && RightSurface==o.RightSurface) 
00093                         || (LeftSurface==o.RightSurface && RightSurface==o.LeftSurface);
00094         }


Field Documentation

uint16 NLPACS::CCollisionChain::ChainId
 

the id in the local retriever which generate this chain (temp).

Definition at line 74 of file collision_surface_temp.h.

Referenced by NLPACS::CGlobalRetriever::findCollisionChains(), NLPACS::CGlobalRetriever::testCollisionWithCollisionChains(), and NLPACS::CGlobalRetriever::testMovementWithCollisionChains().

bool NLPACS::CCollisionChain::ExteriorEdge
 

If the chain is an exterior edge.

Definition at line 78 of file collision_surface_temp.h.

Referenced by CCollisionChain(), NLPACS::CGlobalRetriever::findCollisionChains(), NLPACS::CGlobalRetriever::testCollisionWithCollisionChains(), and NLPACS::CGlobalRetriever::testMovementWithCollisionChains().

uint32 NLPACS::CCollisionChain::FirstEdgeCollide
 

First edgeCollideNode in the CCollisionSurfaceTemp allocator. 0xFFFFFFFF if none. This is a List of edgeCollide.

Definition at line 70 of file collision_surface_temp.h.

Referenced by CCollisionChain(), NLPACS::CLocalRetriever::testCollision(), NLPACS::CGlobalRetriever::testCollisionWithCollisionChains(), NLPACS::CRetrieverInstance::testExteriorCollision(), NLPACS::CGlobalRetriever::testMovementWithCollisionChains(), and NLPACS::CGlobalRetriever::testRotCollisionWithCollisionChains().

CSurfaceIdent NLPACS::CCollisionChain::LeftSurface
 

The Left/Right surface next this chain.

Definition at line 72 of file collision_surface_temp.h.

Referenced by NLPACS::CGlobalRetriever::findCollisionChains(), getOtherSurface(), hasSurface(), sameSurfacesThan(), NLPACS::CGlobalRetriever::testCollisionWithCollisionChains(), NLPACS::CGlobalRetriever::testMovementWithCollisionChains(), NLPACS::CGlobalRetriever::testRotCollisionWithCollisionChains(), and NLPACS::CGlobalRetriever::verticalChain().

CSurfaceIdent NLPACS::CCollisionChain::RightSurface
 

The Left/Right surface next this chain.

Definition at line 72 of file collision_surface_temp.h.

Referenced by NLPACS::CGlobalRetriever::findCollisionChains(), getOtherSurface(), hasSurface(), sameSurfacesThan(), NLPACS::CGlobalRetriever::testCollisionWithCollisionChains(), NLPACS::CGlobalRetriever::testMovementWithCollisionChains(), NLPACS::CGlobalRetriever::testRotCollisionWithCollisionChains(), and NLPACS::CGlobalRetriever::verticalChain().

bool NLPACS::CCollisionChain::Tested
 

In the algorithm, this chain has been tested???

Definition at line 76 of file collision_surface_temp.h.

Referenced by CCollisionChain(), and NLPACS::CGlobalRetriever::testCollisionWithCollisionChains().


The documentation for this class was generated from the following file:
Generated on Tue Mar 16 14:09:53 2004 for NeL by doxygen 1.3.6