Multiscale Universal Interface  2.0
A Concurrent Framework for Coupling Heterogeneous Solvers
mui::geometry Namespace Reference

Classes

class  shape
 
class  any_shape
 
class  box
 
class  point
 
class  sphere
 
class  or_set
 

Enumerations

enum class  shape_type : std::int8_t {
  universe = 0 , or_set , point , sphere ,
  box
}
 

Functions

template<typename CONFIG >
std::unique_ptr< shape< CONFIG > > shape_factory (shape_type)
 
template<typename CONFIG >
any_shape< CONFIG > get_universe_set ()
 
template<typename CONFIG >
bool collide (const shape< CONFIG > &lhs, const shape< CONFIG > &rhs)
 
template<typename CONFIG >
bool collide (const any_shape< CONFIG > &lhs, const any_shape< CONFIG > &rhs)
 
template<typename CONFIG >
bool collide (const any_shape< CONFIG > &lhs, const shape< CONFIG > &rhs)
 
template<typename CONFIG >
bool collide (const shape< CONFIG > &lhs, const any_shape< CONFIG > &rhs)
 
template<typename CONFIG >
bool collide (const point< CONFIG > &lhs, const point< CONFIG > &rhs)
 
template<typename CONFIG >
bool collide (const point< CONFIG > &lhs, const sphere< CONFIG > &rhs)
 
template<typename CONFIG >
bool collide (const point< CONFIG > &lhs, const box< CONFIG > &rhs)
 
template<typename CONFIG >
bool collide (const sphere< CONFIG > &lhs, const sphere< CONFIG > &rhs)
 
template<typename CONFIG >
bool collide (const sphere< CONFIG > &lhs, const box< CONFIG > &rhs)
 
template<typename CONFIG >
bool collide (const box< CONFIG > &lhs, const box< CONFIG > &rhs)
 
template<typename CONFIG >
ostreamoperator<< (ostream &stream, const shape< CONFIG > &obj)
 
template<typename CONFIG >
istreamoperator>> (istream &stream, shape< CONFIG > &obj)
 
template<typename CONFIG >
or_set< CONFIG > operator| (any_shape< CONFIG > lhs, any_shape< CONFIG > rhs)
 

Enumeration Type Documentation

◆ shape_type

enum mui::geometry::shape_type : std::int8_t
strong
Enumerator
universe 
or_set 
point 
sphere 
box 

Function Documentation

◆ collide() [1/10]

template<typename CONFIG >
bool mui::geometry::collide ( const any_shape< CONFIG > &  lhs,
const any_shape< CONFIG > &  rhs 
)

◆ collide() [2/10]

template<typename CONFIG >
bool mui::geometry::collide ( const any_shape< CONFIG > &  lhs,
const shape< CONFIG > &  rhs 
)

◆ collide() [3/10]

template<typename CONFIG >
bool mui::geometry::collide ( const box< CONFIG > &  lhs,
const box< CONFIG > &  rhs 
)

◆ collide() [4/10]

template<typename CONFIG >
bool mui::geometry::collide ( const point< CONFIG > &  lhs,
const box< CONFIG > &  rhs 
)

◆ collide() [5/10]

template<typename CONFIG >
bool mui::geometry::collide ( const point< CONFIG > &  lhs,
const point< CONFIG > &  rhs 
)

◆ collide() [6/10]

template<typename CONFIG >
bool mui::geometry::collide ( const point< CONFIG > &  lhs,
const sphere< CONFIG > &  rhs 
)

◆ collide() [7/10]

template<typename CONFIG >
bool mui::geometry::collide ( const shape< CONFIG > &  lhs,
const any_shape< CONFIG > &  rhs 
)

◆ collide() [8/10]

template<typename CONFIG >
bool mui::geometry::collide ( const shape< CONFIG > &  lhs,
const shape< CONFIG > &  rhs 
)

◆ collide() [9/10]

template<typename CONFIG >
bool mui::geometry::collide ( const sphere< CONFIG > &  lhs,
const box< CONFIG > &  rhs 
)

◆ collide() [10/10]

template<typename CONFIG >
bool mui::geometry::collide ( const sphere< CONFIG > &  lhs,
const sphere< CONFIG > &  rhs 
)

◆ get_universe_set()

template<typename CONFIG >
any_shape<CONFIG> mui::geometry::get_universe_set ( )

◆ operator<<()

template<typename CONFIG >
ostream& mui::geometry::operator<< ( ostream stream,
const shape< CONFIG > &  obj 
)

◆ operator>>()

template<typename CONFIG >
istream& mui::geometry::operator>> ( istream stream,
shape< CONFIG > &  obj 
)

◆ operator|()

template<typename CONFIG >
or_set<CONFIG> mui::geometry::operator| ( any_shape< CONFIG >  lhs,
any_shape< CONFIG >  rhs 
)

◆ shape_factory()

template<typename CONFIG >
std::unique_ptr< shape< CONFIG > > mui::geometry::shape_factory ( shape_type  type)