50 #include "../general/util.h"
51 #include "../config.h"
53 #include "../storage/stream.h"
54 #include "../storage/stream_vector.h"
58 template<
class CONFIG>
61 using container = std::vector<geometry::any_shape<CONFIG> >;
71 auto i =
parts.begin();
72 while( i !=
parts.end() ) {
73 if ( !i->collide(s) ) i =
parts.erase(i);
80 for(
const auto& my:
parts )
85 for(
const auto& r: other.
parts )
86 if( this->
collide(r) )
return true;
93 for( std::size_t i=1; i<
parts.size(); ++i ) bx = mui::geometry::bbox(bx,
parts[i]);
105 template<
typename CONFIG>
112 template<
typename CONFIG>
119 template<
typename CONFIG>
125 template<
typename CONFIG>
130 template<
typename CONFIG>
Definition: geometry.h:92
Definition: geometry.h:188
span()
Definition: span.h:64
geometry::box< CONFIG > bbox() const
Definition: span.h:90
void deserialize(istream &stream)
Definition: span.h:100
std::vector< geometry::any_shape< CONFIG > > container
Definition: span.h:61
container parts
Definition: span.h:62
span operator||(const geometry::any_shape< CONFIG > &s)
Definition: span.h:66
bool collide(const geometry::any_shape< CONFIG > &other) const
Definition: span.h:79
bool collide(const span &other) const
Definition: span.h:84
void serialize(ostream &stream) const
Definition: span.h:97
void reset()
Definition: span.h:77
void operator&&(const geometry::any_shape< CONFIG > &s)
Definition: span.h:70
Base classes for creating geometries, primarily used by spatial interpolation methods and for definin...
bool collide(const shape< CONFIG > &lhs, const shape< CONFIG > &rhs)
Definition: geometry.h:301
istream & operator>>(istream &stream, smalluint &sml)
Definition: comm_tcp.h:103
ostream & operator<<(ostream &stream, const smalluint &sml)
Definition: comm_tcp.h:127
bool collide(const span< CONFIG > &lhs, const span< CONFIG > &rhs)
Definition: span.h:120