Bayeux
3.4.1
Core Foundation library for SuperNEMO
|
Bounding volume data for i_shape_3d derived solid shapes. More...
#include <bayeux/geomtools/bounding_data.h>
Public Types | |
enum | bb_type { BD_INVALID = 0, BD_BOX = 1, BD_CYLINDER = 2 } |
Bounding data type. More... | |
Public Types inherited from geomtools::i_wires_3d_rendering | |
enum | wires_rendering_option_type { WR_NONE = 0, WR_BASE_GRID = datatools::bit_mask::bit00, WR_BASE_GRID_LOW_DENSITY = (WR_BASE_GRID << 1), WR_BASE_GRID_HIGH_DENSITY = (WR_BASE_GRID << 2), WR_BASE_GRID_VERY_HIGH_DENSITY = (WR_BASE_GRID << 3), WR_BASE_GRID_HUGE_DENSITY = (WR_BASE_GRID << 4), WR_BASE_LOW_ANGLE_SAMPLING = (WR_BASE_GRID << 5), WR_BASE_HIGH_ANGLE_SAMPLING = (WR_BASE_GRID << 6), WR_BASE_VERY_HIGH_ANGLE_SAMPLING = (WR_BASE_GRID << 7), WR_BASE_HUGE_ANGLE_SAMPLING = (WR_BASE_GRID << 8), WR_BASE_UNUSED_09 = (WR_BASE_GRID << 9), WR_BASE_UNUSED_10 = (WR_BASE_GRID << 10), WR_BASE_UNUSED_11 = (WR_BASE_GRID << 11), WR_BASE_UNUSED_12 = (WR_BASE_GRID << 12), WR_BASE_UNUSED_13 = (WR_BASE_GRID << 13), WR_BASE_BOUNDINGS = (WR_BASE_GRID << 14), WR_BASE_EXPLODE = (WR_BASE_GRID << 15), WR_BASE_LAST = (WR_BASE_EXPLODE), WR_BASE_MASK = datatools::bit_mask::nbits16 } |
Wires rendering optional flags. More... | |
enum | sampling_level_type { SL_NONE = 0, SL_LOW = 1, SL_NORMAL = 2, SL_HIGH = 3, SL_VERY_HIGH = 4, SL_HUGE = 5 } |
Sampling levels. More... | |
Public Types inherited from datatools::i_tree_dumpable | |
enum | ostream_type { OSTREAM_COUT = 1, OSTREAM_CERR = 2, OSTREAM_CLOG = 3 } |
Enumeration for standard output streams. More... | |
Public Member Functions | |
bool | is_valid (bool verbose_=false) const |
Check validity. More... | |
bounding_data () | |
Default constructor. More... | |
virtual | ~bounding_data () |
Destructor. More... | |
void | make_box (double xmin_, double xmax_, double ymin_, double ymax_, double zmin_, double zmax_) |
Make a bounding box. More... | |
void | make_cylinder (double rmax_, double zmin_, double zmax_) |
Make a bounding cylinder. More... | |
void | reset () |
Reset. More... | |
bool | is_box () const |
Check box type. More... | |
bool | is_cylinder () const |
Check cylinder type. More... | |
double | get_xmin () const |
Return the minimum X. More... | |
double | get_xmax () const |
Return the maximum X. More... | |
double | get_ymin () const |
Return the minimum Y. More... | |
double | get_ymax () const |
Return the maximum Y. More... | |
double | get_zmin () const |
Return the minimum Z. More... | |
double | get_zmax () const |
Return the maximum Z. More... | |
double | get_rmax () const |
Return the maximum R. More... | |
double | get_min_dimension () const |
Return the minimum dimension. More... | |
void | compute_bounding_box (box &bb_, placement &p_, double safe_skin_=0.0) const |
Compute a bounding box and its placement in the solid reference frame. More... | |
void | compute_bounding_box_vertexes (std::vector< vector_3d > &, double safe_skin_=0.0) const |
Compute the vertexes (corners) of the bounding box in the solid reference frame. More... | |
void | compute_bounding_box_face_centers (std::vector< vector_3d > &, double safe_skin_=0.0) const |
Compute the face centers of the bounding box in the solid reference frame. More... | |
void | make_box_from_points (const std::vector< vector_3d > &points_) |
Build a bounding data from a collection of points. More... | |
void | build_stackable (stackable_data &stackable_info_) const |
Build a stackable daat object. More... | |
virtual void | tree_dump (std::ostream &a_out=std::clog, const std::string &a_title="", const std::string &a_indent="", bool a_inherit=false) const |
Smart print. More... | |
void | parse_bounding_data (const datatools::properties &config_) |
Parse enforced bounding data from a properties container. More... | |
void | generate_wires_self (wires_type &wires_, uint32_t options_=0) const |
Generate wires associated to the bounding volume. More... | |
Public Member Functions inherited from geomtools::i_wires_3d_rendering | |
virtual | ~i_wires_3d_rendering () |
Destructor. More... | |
void | generate_wires (wires_type &wires_, const placement &positioning_, uint32_t options_=0) const |
void | generate_wires (wires_type &wires_, const geomtools::vector_3d &position_, const geomtools::rotation_3d &rotation_, uint32_t options_=0) const |
Public Member Functions inherited from datatools::i_tree_dumpable | |
i_tree_dumpable () | |
Constructor. More... | |
virtual | ~i_tree_dumpable () |
Destructor. More... | |
virtual void | print_tree (std::ostream &out_=std::clog, const boost::property_tree::ptree &options_=empty_options()) const |
Main new interface method for printing. More... | |
void | print_tree_json (std::ostream &out_=std::clog, const std::string &json_options_="") const |
Printing with jsonized options. More... | |
void | print_tree_json (std::ostream &out_=std::clog, const char *json_options_=nullptr) const |
Printing with jsonized options. More... | |
void | tree_dump_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="", const bool inherit_=false) const |
void | tree_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="") const |
void | smart_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="") const |
Additional Inherited Members | |
Static Public Member Functions inherited from geomtools::i_wires_3d_rendering | |
static uint32_t | linear_sampling (sampling_level_type) |
Return linear sampling from sampling level. More... | |
static uint32_t | linear_sampling_from_options (uint32_t) |
Return linear sampling from rendering options. More... | |
static uint32_t | angular_sampling (sampling_level_type) |
Return angular sampling from sampling level. More... | |
static uint32_t | angular_sampling_from_options (uint32_t) |
Return angular sampling from rendering options. More... | |
static void | boost_linear_sampling (uint32_t &) |
Boost the linear sampling. More... | |
Static Public Member Functions inherited from datatools::i_tree_dumpable | |
static const boost::property_tree::ptree & | empty_options () |
static boost::property_tree::ptree | make_base_print_options (const std::string &title_, const std::string &indent_="", const bool inherit_=false) |
static std::ostream & | last_skip_tag (std::ostream &out_) |
static std::ostream & | skip_tag (std::ostream &out_) |
static std::ostream & | last_tag (std::ostream &out_) |
static std::ostream & | tag (std::ostream &out_) |
Bounding volume data for i_shape_3d derived solid shapes.
geomtools::bounding_data::bounding_data | ( | ) |
Default constructor.
|
virtual |
Destructor.
void geomtools::bounding_data::build_stackable | ( | stackable_data & | stackable_info_ | ) | const |
Build a stackable daat object.
void geomtools::bounding_data::compute_bounding_box | ( | box & | bb_, |
placement & | p_, | ||
double | safe_skin_ = 0.0 |
||
) | const |
Compute a bounding box and its placement in the solid reference frame.
void geomtools::bounding_data::compute_bounding_box_face_centers | ( | std::vector< vector_3d > & | , |
double | safe_skin_ = 0.0 |
||
) | const |
Compute the face centers of the bounding box in the solid reference frame.
void geomtools::bounding_data::compute_bounding_box_vertexes | ( | std::vector< vector_3d > & | , |
double | safe_skin_ = 0.0 |
||
) | const |
Compute the vertexes (corners) of the bounding box in the solid reference frame.
|
virtual |
Generate wires associated to the bounding volume.
Implements geomtools::i_wires_3d_rendering.
double geomtools::bounding_data::get_min_dimension | ( | ) | const |
Return the minimum dimension.
double geomtools::bounding_data::get_rmax | ( | ) | const |
Return the maximum R.
double geomtools::bounding_data::get_xmax | ( | ) | const |
Return the maximum X.
double geomtools::bounding_data::get_xmin | ( | ) | const |
Return the minimum X.
double geomtools::bounding_data::get_ymax | ( | ) | const |
Return the maximum Y.
double geomtools::bounding_data::get_ymin | ( | ) | const |
Return the minimum Y.
double geomtools::bounding_data::get_zmax | ( | ) | const |
Return the maximum Z.
double geomtools::bounding_data::get_zmin | ( | ) | const |
Return the minimum Z.
bool geomtools::bounding_data::is_box | ( | ) | const |
Check box type.
bool geomtools::bounding_data::is_cylinder | ( | ) | const |
Check cylinder type.
bool geomtools::bounding_data::is_valid | ( | bool | verbose_ = false | ) | const |
Check validity.
void geomtools::bounding_data::make_box | ( | double | xmin_, |
double | xmax_, | ||
double | ymin_, | ||
double | ymax_, | ||
double | zmin_, | ||
double | zmax_ | ||
) |
Make a bounding box.
void geomtools::bounding_data::make_box_from_points | ( | const std::vector< vector_3d > & | points_ | ) |
Build a bounding data from a collection of points.
void geomtools::bounding_data::make_cylinder | ( | double | rmax_, |
double | zmin_, | ||
double | zmax_ | ||
) |
Make a bounding cylinder.
void geomtools::bounding_data::parse_bounding_data | ( | const datatools::properties & | config_ | ) |
Parse enforced bounding data from a properties container.
void geomtools::bounding_data::reset | ( | ) |
Reset.
|
virtual |
Smart print.
Reimplemented from datatools::i_tree_dumpable.