Pol  Rev 533
MultiDef Class Reference

#include <multidef.h>

+ Collaboration diagram for MultiDef:

List of all members.

Public Types

enum  { UNKNOWN, BOAT, HOUSE, STAIRS }
typedef std::multimap
< unsigned short, const
MULTI_ELEM * > 
Components
typedef vector< const
MULTI_ELEM * > 
HullList
typedef set< unsigned short > HullList2
typedef pair
< Components::const_iterator,
Components::const_iterator > 
ItrPair

Public Member Functions

 MultiDef (ConfigElem &elem, u16 multiid)
 ~MultiDef ()
void add_body_tohull ()
void add_row_tohull (short y)
void add_to_hull (const MULTI_ELEM *elem)
void add_to_internal_hull (const MULTI_ELEM *elem)
void addrec (const MULTI_ELEM *elem)
bool body_contains (short rx, short ry) const
void computehull ()
void eliminate_hull_dupes ()
void fill_hull2 ()
const MULTI_ELEMfind_component (short rx, short ry) const
ItrPair findcomponents (short rx, short ry)
bool findcomponents (Components::const_iterator &beg, Components::const_iterator &end, short rx, short ry) const
unsigned short getkey (short rx, short ry) const
void init ()
bool readobjects (StaticList &vec, short rx, short ry, short zbase) const
bool readshapes (MapShapeList &vec, short rx, short ry, short zbase, unsigned int anyflags) const

Public Attributes

Components components
vector< MULTI_ELEMelems
HullList hull
HullList2 hull2
HullList internal_hull
HullList2 internal_hull2
short maxrx
short maxry
short maxrz
short minrx
short minry
short minrz
u16 multiid
enum MultiDef:: { ... }  type
short xbase
short xsize
short ybase
short ysize

Static Public Attributes

static short global_maxrx
static short global_maxry
static short global_maxrz
static short global_minrx
static short global_minry
static short global_minrz

Detailed Description

Definition at line 46 of file multidef.h.


Member Typedef Documentation

typedef std::multimap<unsigned short, const MULTI_ELEM*> MultiDef::Components

Definition at line 69 of file multidef.h.

typedef vector<const MULTI_ELEM*> MultiDef::HullList

Definition at line 62 of file multidef.h.

typedef set<unsigned short> MultiDef::HullList2

Definition at line 65 of file multidef.h.

typedef pair<Components::const_iterator,Components::const_iterator> MultiDef::ItrPair

Definition at line 70 of file multidef.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
UNKNOWN 
BOAT 
HOUSE 
STAIRS 

Definition at line 53 of file multidef.h.


Constructor & Destructor Documentation

Definition at line 108 of file multidef.cpp.


Member Function Documentation

Definition at line 187 of file multidef.cpp.

References add_to_hull(), find_component(), maxrx, maxry, minrx, and minry.

Referenced by computehull().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MultiDef::add_row_tohull ( short  y)
void MultiDef::add_to_hull ( const MULTI_ELEM elem)

Definition at line 141 of file multidef.cpp.

References add_to_internal_hull(), BOAT, find_component(), getkey(), hull, hull2, maxrx, maxry, minrx, minry, multiid, type, MULTI_ELEM::x, and MULTI_ELEM::y.

Referenced by add_body_tohull().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Definition at line 176 of file multidef.cpp.

References getkey(), internal_hull, internal_hull2, MULTI_ELEM::x, and MULTI_ELEM::y.

Referenced by add_to_hull().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MultiDef::addrec ( const MULTI_ELEM elem)

Definition at line 244 of file multidef.cpp.

References components, getkey(), global_maxrx, global_maxry, global_maxrz, global_minrx, global_minry, global_minrz, maxrx, maxry, maxrz, minrx, minry, minrz, MULTI_ELEM::x, MULTI_ELEM::y, and MULTI_ELEM::z.

Referenced by init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool MultiDef::body_contains ( short  rx,
short  ry 
) const

Definition at line 129 of file multidef.cpp.

References components, and getkey().

Referenced by find_component(), and UBoat::on_ship().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Definition at line 239 of file multidef.cpp.

References add_body_tohull().

Referenced by init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const MULTI_ELEM * MultiDef::find_component ( short  rx,
short  ry 
) const

Definition at line 133 of file multidef.cpp.

References body_contains(), components, and getkey().

Referenced by add_body_tohull(), add_to_hull(), and print_widedata().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ItrPair MultiDef::findcomponents ( short  rx,
short  ry 
)

Referenced by readobjects(), and readshapes().

+ Here is the caller graph for this function:

bool MultiDef::findcomponents ( Components::const_iterator &  beg,
Components::const_iterator &  end,
short  rx,
short  ry 
) const

Definition at line 112 of file multidef.cpp.

References components, and getkey().

+ Here is the call graph for this function:

unsigned short MultiDef::getkey ( short  rx,
short  ry 
) const [inline]

Definition at line 119 of file multidef.h.

Referenced by add_to_hull(), add_to_internal_hull(), addrec(), body_contains(), find_component(), findcomponents(), and print_multihull().

+ Here is the caller graph for this function:

void MultiDef::init ( )

Definition at line 265 of file multidef.cpp.

References addrec(), computehull(), and elems.

Referenced by read_multidefs().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool MultiDef::readobjects ( StaticList vec,
short  rx,
short  ry,
short  zbase 
) const

Definition at line 41 of file multidef2.cpp.

References findcomponents(), getgraphic(), MULTI_ELEM::is_static, maxry, minrx, minry, MULTI_ELEM::objtype, tile_flags(), FLAG::WALKBLOCK, and MULTI_ELEM::z.

Referenced by Realm::readmultis(), and readmultis().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool MultiDef::readshapes ( MapShapeList vec,
short  rx,
short  ry,
short  zbase,
unsigned int  anyflags 
) const

Definition at line 74 of file multidef2.cpp.

References FLAG::ALLOWDROPON, FLAG::BLOCKSIGHT, BOAT, findcomponents(), MapShape::flags, Tile::flags, getgraphic(), MapShape::height, MULTI_ELEM::is_static, maxry, minrx, minry, FLAG::MOVELAND, MULTI_ELEM::objtype, FLAG::OVERFLIGHT, tile, tile_flags(), tileheight(), type, MapShape::z, and MULTI_ELEM::z.

Referenced by Realm::readmultis().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:


Member Data Documentation

Definition at line 55 of file multidef.h.

Referenced by UHouse::create_components(), init(), and MultiDef().

short MultiDef::global_maxrx [static]

Definition at line 79 of file multidef.h.

Referenced by addrec(), and UOExecutorModule::mf_ListMultisInBox().

short MultiDef::global_maxry [static]

Definition at line 80 of file multidef.h.

Referenced by addrec(), and UOExecutorModule::mf_ListMultisInBox().

short MultiDef::global_maxrz [static]

Definition at line 81 of file multidef.h.

Referenced by addrec().

short MultiDef::global_minrx [static]

Definition at line 76 of file multidef.h.

Referenced by addrec(), and UOExecutorModule::mf_ListMultisInBox().

short MultiDef::global_minry [static]

Definition at line 77 of file multidef.h.

Referenced by addrec(), and UOExecutorModule::mf_ListMultisInBox().

short MultiDef::global_minrz [static]

Definition at line 78 of file multidef.h.

Referenced by addrec().

Definition at line 66 of file multidef.h.

Referenced by add_to_hull(), and print_multihull().

Definition at line 64 of file multidef.h.

Referenced by add_to_internal_hull().

enum { ... } MultiDef::type

Referenced by add_to_hull(), MultiDef(), and readshapes().

Definition at line 57 of file multidef.h.

Definition at line 58 of file multidef.h.

Definition at line 59 of file multidef.h.

Definition at line 60 of file multidef.h.


The documentation for this class was generated from the following files: