Bayeux
3.4.1
Core Foundation library for SuperNEMO
|
Volume overlapping detection algorithms. More...
#include <bayeux/geomtools/overlapping.h>
Classes | |
struct | overlap_info |
Information about a detected overlap. More... | |
struct | report |
Overlapping search report. More... | |
Public Types | |
enum | overlap_type { OVERLAP_SIMPLE = 0, OVERLAP_MOTHER_DAUGHTER = 1 } |
Type of overlapping. More... | |
enum | flag_type { FLAG_NONE = 0x0, FLAG_WIRES_SAMPLING = 0x1, FLAG_WIRES_LOW_SAMPLING = 0x2, FLAG_WIRES_HIGH_SAMPLING = 0x4, FLAG_WIRES_VERY_HIGH_SAMPLING = 0x8, FLAG_WIRES_HUGE_SAMPLING = 0x10, FLAG_OVERLAP_ALL = 0x20, FLAG_CHECK_OLD_FIRST = 0x40, FLAG_CHECK_INHIBIT_SECOND = 0x80, FLAG_DEBUG_DISPLAY = 0x100 } |
Public Member Functions | |
overlapping () | |
Constructor. More... | |
~overlapping () | |
Detructor. More... | |
bool | check_mother_daughter_surface_intersection (const i_shape_3d &mother_shape_, const i_shape_3d &daughter_shape_, const i_placement &daughter_placement_, report &report_, uint32_t flags_=0) const |
Check if a mother volume and its daughter volume have some intersecting surfaces. More... | |
bool | check_mother_daughter_overlap (const i_shape_3d &mother_shape_, const i_shape_3d &daughter_shape_, const i_placement &daughter_placement_, report &report_, uint32_t flags_=0) const |
Check if a daughter overlaps its mother volume's outside region. More... | |
bool | check_two_volumes_overlap (const i_shape_3d &shape_old_, const i_placement &placement_old_, const i_shape_3d &shape_new_, const i_placement &placement_new_, report &, uint32_t flags_=0) const |
datatools::logger::priority | get_logging () const |
void | set_logging (datatools::logger::priority) |
Static Public Member Functions | |
static const std::string & | property_prefix () |
Return the prefix of overlapping related properties. More... | |
static std::string | make_key (const std::string &label_) |
Make a key. More... | |
static void | extract (const datatools::properties &source_, datatools::properties &target_) |
static bool | has_flag (const datatools::properties &config_, const std::string &flag_) |
static bool | has_key (const datatools::properties &config_, const std::string &key_) |
static flag_type | get_flag_from_label (const std::string &label_) |
static void | make_vertice_unique (const wires_type &wires_, std::set< geomtools::vector_3d > &vertice_) |
Volume overlapping detection algorithms.
geomtools::overlapping::overlapping | ( | ) |
Constructor.
geomtools::overlapping::~overlapping | ( | ) |
Detructor.
bool geomtools::overlapping::check_mother_daughter_overlap | ( | const i_shape_3d & | mother_shape_, |
const i_shape_3d & | daughter_shape_, | ||
const i_placement & | daughter_placement_, | ||
report & | report_, | ||
uint32_t | flags_ = 0 |
||
) | const |
Check if a daughter overlaps its mother volume's outside region.
........
...' `... ****** : : ******** : ---— : **D3****** : / \ : ******** : | D1 | –**** ****** : \ / / ***** : ---— | ******** ... |****D2****
........' *********
bool geomtools::overlapping::check_mother_daughter_surface_intersection | ( | const i_shape_3d & | mother_shape_, |
const i_shape_3d & | daughter_shape_, | ||
const i_placement & | daughter_placement_, | ||
report & | report_, | ||
uint32_t | flags_ = 0 |
||
) | const |
Check if a mother volume and its daughter volume have some intersecting surfaces.
........
...' `... ---— : : / \ : ---— : | D3 | : / \ : \ / : | D1 | ---— ---— : \ / / * \ : ---— | ** | ... |** D2 |
........' _______/
bool geomtools::overlapping::check_two_volumes_overlap | ( | const i_shape_3d & | shape_old_, |
const i_placement & | placement_old_, | ||
const i_shape_3d & | shape_new_, | ||
const i_placement & | placement_new_, | ||
report & | , | ||
uint32_t | flags_ = 0 |
||
) | const |
|
static |
|
static |
datatools::logger::priority geomtools::overlapping::get_logging | ( | ) | const |
|
static |
|
static |
|
static |
Make a key.
|
static |
|
static |
Return the prefix of overlapping related properties.
void geomtools::overlapping::set_logging | ( | datatools::logger::priority | ) |