![]() |
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 | ) |
1.8.15