NLPACS::UGlobalRetriever Class Reference

#include <u_global_retriever.h>

Inheritance diagram for NLPACS::UGlobalRetriever:

NLPACS::CGlobalRetriever

Detailed Description

A class that allows to retrieve surface in a large amount of zones (referred as instances.)

Author:
Cyril 'Hulud' Corvazier

Nevrax France

Date:
2001

Definition at line 54 of file u_global_retriever.h.

Public Member Functions

virtual bool buildInstance (const std::string &id, const NLMISC::CVectorD &position, sint32 &instanceId)=0
virtual float distanceToBorder (const UGlobalPosition &pos) const=0
virtual const NLMISC::CAABBoxgetBBox () const=0
virtual void getBorders (const NLMISC::CAABBox &box, std::vector< std::pair< NLMISC::CLine, uint8 > > &edges)=0
virtual void getBorders (const UGlobalPosition &pos, std::vector< std::pair< NLMISC::CLine, uint8 > > &edges)=0
virtual NLMISC::CVectorD getDoubleGlobalPosition (const UGlobalPosition &global) const=0
virtual NLMISC::CVector getGlobalPosition (const UGlobalPosition &global) const=0
virtual const std::string & getIdentifier (const UGlobalPosition &pos) const=0
virtual sint32 getIdentifier (const std::string &id) const=0
virtual sint32 getLocalRetrieverId (const UGlobalPosition &position) const=0
 Get the LocalRetrieverId of the global position.

virtual uint32 getMaterial (const UGlobalPosition &pos) const=0
virtual float getMeanHeight (const UGlobalPosition &pos) const=0
virtual bool insurePosition (UGlobalPosition &pos) const=0
virtual bool isInterior (const UGlobalPosition &pos) const=0
virtual bool isWaterPosition (const UGlobalPosition &pos, float &waterHeight) const=0
virtual void refreshLrAround (const NLMISC::CVector &position, float radius)=0
virtual void refreshLrAroundNow (const NLMISC::CVector &position, float radius)=0
virtual void removeInstance (sint32 instanceId)=0
virtual UGlobalPosition retrievePosition (const NLMISC::CVectorD &estimated, double threshold) const=0
virtual UGlobalPosition retrievePosition (const NLMISC::CVector &estimated, float threshold) const=0
virtual UGlobalPosition retrievePosition (const NLMISC::CVectorD &estimated) const=0
virtual UGlobalPosition retrievePosition (const NLMISC::CVector &estimated) const=0
UGlobalPosition retrievePosition (const NLMISC::CVectorD &estimated, double threshold, UGlobalPosition::TType retrieveSpec) const
virtual bool testPosition (UGlobalPosition &pos) const=0
virtual bool testRaytrace (const NLMISC::CVectorD &v0, const NLMISC::CVectorD &v1)=0
 Make a raytrace test. For the time, always return false.


Static Public Member Functions

UGlobalRetrievercreateGlobalRetriever (const char *globalRetriever, const URetrieverBank *retrieverBank)
void deleteGlobalRetriever (UGlobalRetriever *retriever)


Member Function Documentation

virtual bool NLPACS::UGlobalRetriever::buildInstance const std::string &  id,
const NLMISC::CVectorD position,
sint32 instanceId
[pure virtual]
 

Builds an instance of retriever, and link it on the ground (or wherever)

Parameters:
id a valid retriever id to be instanciated
a valid position where the retriever should be instanciated
Returns:
false if failed

Implemented in NLPACS::CGlobalRetriever.

NLPACS::UGlobalRetriever * NLPACS::UGlobalRetriever::createGlobalRetriever const char *  globalRetriever,
const URetrieverBank retrieverBank
[static]
 

Create a global retriever.

Parameters:
globalRetriver is the global retriver path file name. This method use the CPath to find the file.
retriverBank is the global retriver bank associated to the global retriever.
Returns:
the pointer on the global retriver or NULL if the file is not found.

Definition at line 2382 of file global_retriever.cpp.

References file, NLPACS::CGlobalRetriever::initAll(), and NLPACS::CGlobalRetriever::setRetrieverBank().

02383 {
02384         NL_ALLOC_CONTEXT( Pacs )
02385 
02386         // Cast
02387 //      nlassert (dynamic_cast<const NLPACS::CRetrieverBank*>(retrieverBank));
02388         const NLPACS::CRetrieverBank*   bank=static_cast<const NLPACS::CRetrieverBank*>(retrieverBank);
02389 
02390         CIFile  file;
02391         if (file.open(CPath::lookup(globalRetriever)))
02392         {
02393                 CGlobalRetriever        *retriever = new CGlobalRetriever();
02394 
02395                 // always set the retriever bank before serializing !!
02396                 retriever->setRetrieverBank(bank);
02397 
02398                 file.serial(*retriever);
02399                 retriever->initAll(false);      // don't init instances as we serialized them
02400 
02401                 return static_cast<UGlobalRetriever *>(retriever);
02402         }
02403         else
02404                 return NULL;
02405 }

void NLPACS::UGlobalRetriever::deleteGlobalRetriever UGlobalRetriever retriever  )  [static]
 

Delete a global retriever.

Definition at line 2409 of file global_retriever.cpp.

References nlassert, and r.

02410 {
02411         // Cast
02412         nlassert (dynamic_cast<NLPACS::CGlobalRetriever*>(retriever));
02413         NLPACS::CGlobalRetriever* r=static_cast<NLPACS::CGlobalRetriever*>(retriever);
02414 
02415         // Delete
02416         delete r;
02417 }

virtual float NLPACS::UGlobalRetriever::distanceToBorder const UGlobalPosition pos  )  const [pure virtual]
 

Implemented in NLPACS::CGlobalRetriever.

virtual const NLMISC::CAABBox& NLPACS::UGlobalRetriever::getBBox  )  const [pure virtual]
 

Return the bounding box of the global retriever.

Implemented in NLPACS::CGlobalRetriever.

virtual void NLPACS::UGlobalRetriever::getBorders const NLMISC::CAABBox box,
std::vector< std::pair< NLMISC::CLine, uint8 > > &  edges
[pure virtual]
 

Implemented in NLPACS::CGlobalRetriever.

virtual void NLPACS::UGlobalRetriever::getBorders const UGlobalPosition pos,
std::vector< std::pair< NLMISC::CLine, uint8 > > &  edges
[pure virtual]
 

Implemented in NLPACS::CGlobalRetriever.

virtual NLMISC::CVectorD NLPACS::UGlobalRetriever::getDoubleGlobalPosition const UGlobalPosition global  )  const [pure virtual]
 

Converts a global position object into a 'human-readable' CVector (double instead.)

Implemented in NLPACS::CGlobalRetriever.

virtual NLMISC::CVector NLPACS::UGlobalRetriever::getGlobalPosition const UGlobalPosition global  )  const [pure virtual]
 

Converts a global position object into a 'human-readable' CVector.

Implemented in NLPACS::CGlobalRetriever.

virtual const std::string& NLPACS::UGlobalRetriever::getIdentifier const UGlobalPosition pos  )  const [pure virtual]
 

Returns a human readable identifier of the global position

Implemented in NLPACS::CGlobalRetriever.

virtual sint32 NLPACS::UGlobalRetriever::getIdentifier const std::string &  id  )  const [pure virtual]
 

Return the retriever id from the string id

Returns:
a valid retriever id or -1 if failed

Implemented in NLPACS::CGlobalRetriever.

virtual sint32 NLPACS::UGlobalRetriever::getLocalRetrieverId const UGlobalPosition position  )  const [pure virtual]
 

Get the LocalRetrieverId of the global position.

Implemented in NLPACS::CGlobalRetriever.

virtual uint32 NLPACS::UGlobalRetriever::getMaterial const UGlobalPosition pos  )  const [pure virtual]
 

Returns the material corresponding to the global position

Implemented in NLPACS::CGlobalRetriever.

virtual float NLPACS::UGlobalRetriever::getMeanHeight const UGlobalPosition pos  )  const [pure virtual]
 

Return the average height for a global position

Implemented in NLPACS::CGlobalRetriever.

virtual bool NLPACS::UGlobalRetriever::insurePosition UGlobalPosition pos  )  const [pure virtual]
 

Insure position inside a surface

Implemented in NLPACS::CGlobalRetriever.

virtual bool NLPACS::UGlobalRetriever::isInterior const UGlobalPosition pos  )  const [pure virtual]
 

Tests if the global position is a interior position

Implemented in NLPACS::CGlobalRetriever.

virtual bool NLPACS::UGlobalRetriever::isWaterPosition const UGlobalPosition pos,
float &  waterHeight
const [pure virtual]
 

Tests if the global position is immerged

Implemented in NLPACS::CGlobalRetriever.

virtual void NLPACS::UGlobalRetriever::refreshLrAround const NLMISC::CVector position,
float  radius
[pure virtual]
 

Refresh loaded retrievers around a position (one retriever is loaded at a time)

Implemented in NLPACS::CGlobalRetriever.

virtual void NLPACS::UGlobalRetriever::refreshLrAroundNow const NLMISC::CVector position,
float  radius
[pure virtual]
 

Refresh loaded retrievers around a position (all retrievers are updated at this time -- used at startup)

Implemented in NLPACS::CGlobalRetriever.

virtual void NLPACS::UGlobalRetriever::removeInstance sint32  instanceId  )  [pure virtual]
 

Removes an instance of retriever (perform all unlinks necessary)

Implemented in NLPACS::CGlobalRetriever.

virtual UGlobalPosition NLPACS::UGlobalRetriever::retrievePosition const NLMISC::CVectorD estimated,
double  threshold
const [pure virtual]
 

Retrieves the position of an estimated point in the global retriever (double instead.) with a snapping threshold

Implemented in NLPACS::CGlobalRetriever.

virtual UGlobalPosition NLPACS::UGlobalRetriever::retrievePosition const NLMISC::CVector estimated,
float  threshold
const [pure virtual]
 

Retrieves the position of an estimated point in the global retriever. Uses a snapping threshold.

Implemented in NLPACS::CGlobalRetriever.

virtual UGlobalPosition NLPACS::UGlobalRetriever::retrievePosition const NLMISC::CVectorD estimated  )  const [pure virtual]
 

Retrieves the position of an estimated point in the global retriever (double instead.)

Implemented in NLPACS::CGlobalRetriever.

virtual UGlobalPosition NLPACS::UGlobalRetriever::retrievePosition const NLMISC::CVector estimated  )  const [pure virtual]
 

Retrieves the position of an estimated point in the global retriever.

Implemented in NLPACS::CGlobalRetriever.

UGlobalPosition NLPACS::UGlobalRetriever::retrievePosition const NLMISC::CVectorD estimated,
double  threshold,
UGlobalPosition::TType  retrieveSpec
const
 

Retrieves the position of an estimated point in the global retriever (double instead.), with specification of whether it si on landscape or in interior

Reimplemented in NLPACS::CGlobalRetriever.

virtual bool NLPACS::UGlobalRetriever::testPosition UGlobalPosition pos  )  const [pure virtual]
 

Checks pos is valid (e.g. is really inside the surface it points to)

Implemented in NLPACS::CGlobalRetriever.

virtual bool NLPACS::UGlobalRetriever::testRaytrace const NLMISC::CVectorD v0,
const NLMISC::CVectorD v1
[pure virtual]
 

Make a raytrace test. For the time, always return false.

Implemented in NLPACS::CGlobalRetriever.


The documentation for this class was generated from the following files:
Generated on Tue Mar 16 14:25:38 2004 for NeL by doxygen 1.3.6