21 #include <boost/noncopyable.hpp> 27 #include "../../clib/rawtypes.h" 28 #include "../udatfile.h" 75 typedef std::vector<const MULTI_ELEM*>
HullList;
82 typedef std::multimap<unsigned short, const MULTI_ELEM*>
Components;
83 typedef std::pair<Components::const_iterator, Components::const_iterator>
ItrPair;
96 ItrPair findcomponents(
short rx,
short ry );
98 bool findcomponents( Components::const_iterator& beg, Components::const_iterator& end,
short rx,
101 static unsigned short getkey(
short rx,
short ry );
104 bool readobjects(
Core::StaticList& vec,
short rx,
short ry,
short zbase )
const;
106 unsigned int anyflags )
const;
108 bool body_contains(
short rx,
short ry )
const;
109 const MULTI_ELEM* find_component(
short rx,
short ry )
const;
112 void add_to_internal_hull(
const MULTI_ELEM* elem );
113 void add_row_tohull(
short y );
114 void add_body_tohull();
115 void eliminate_hull_dupes();
122 size_t estimateSize()
const;
128 inline unsigned short MultiDef::getkey(
short rx,
short ry )
130 unsigned char crx =
static_cast<unsigned char>( rx );
131 unsigned char cry =
static_cast<unsigned char>( ry );
133 unsigned short key = ( crx << 8 ) | cry;
std::vector< StaticRec > StaticList
static short global_maxry
static short global_maxrx
static short global_maxrz
std::pair< Components::const_iterator, Components::const_iterator > ItrPair
std::set< unsigned short > HullList2
std::vector< MULTI_ELEM > elems
static short global_minrz
std::vector< const MULTI_ELEM * > HullList
bool MultiDefByMultiIDExists(u16 multiid)
static short global_minrx
static short global_minry
std::multimap< unsigned short, const MULTI_ELEM * > Components
const MultiDef * MultiDefByMultiID(u16 multiid)