Bayeux  3.4.1
Core Foundation library for SuperNEMO
Public Types | Public Member Functions | List of all members
geomtools::bounding_data Class Reference

Bounding volume data for i_shape_3d derived solid shapes. More...

#include <bayeux/geomtools/bounding_data.h>

Inheritance diagram for geomtools::bounding_data:
geomtools::i_wires_3d_rendering datatools::i_tree_dumpable

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_)
 

Detailed Description

Bounding volume data for i_shape_3d derived solid shapes.

Member Enumeration Documentation

◆ bb_type

Bounding data type.

Enumerator
BD_INVALID 

Invalid type.

BD_BOX 

Bounding box.

BD_CYLINDER 

Bounding cylinder.

Constructor & Destructor Documentation

◆ bounding_data()

geomtools::bounding_data::bounding_data ( )

Default constructor.

◆ ~bounding_data()

virtual geomtools::bounding_data::~bounding_data ( )
virtual

Destructor.

Member Function Documentation

◆ build_stackable()

void geomtools::bounding_data::build_stackable ( stackable_data stackable_info_) const

Build a stackable daat object.

◆ compute_bounding_box()

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.

◆ compute_bounding_box_face_centers()

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.

◆ compute_bounding_box_vertexes()

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.

◆ generate_wires_self()

void geomtools::bounding_data::generate_wires_self ( wires_type wires_,
uint32_t  options_ = 0 
) const
virtual

Generate wires associated to the bounding volume.

Implements geomtools::i_wires_3d_rendering.

◆ get_min_dimension()

double geomtools::bounding_data::get_min_dimension ( ) const

Return the minimum dimension.

◆ get_rmax()

double geomtools::bounding_data::get_rmax ( ) const

Return the maximum R.

◆ get_xmax()

double geomtools::bounding_data::get_xmax ( ) const

Return the maximum X.

◆ get_xmin()

double geomtools::bounding_data::get_xmin ( ) const

Return the minimum X.

◆ get_ymax()

double geomtools::bounding_data::get_ymax ( ) const

Return the maximum Y.

◆ get_ymin()

double geomtools::bounding_data::get_ymin ( ) const

Return the minimum Y.

◆ get_zmax()

double geomtools::bounding_data::get_zmax ( ) const

Return the maximum Z.

◆ get_zmin()

double geomtools::bounding_data::get_zmin ( ) const

Return the minimum Z.

◆ is_box()

bool geomtools::bounding_data::is_box ( ) const

Check box type.

◆ is_cylinder()

bool geomtools::bounding_data::is_cylinder ( ) const

Check cylinder type.

◆ is_valid()

bool geomtools::bounding_data::is_valid ( bool  verbose_ = false) const

Check validity.

◆ make_box()

void geomtools::bounding_data::make_box ( double  xmin_,
double  xmax_,
double  ymin_,
double  ymax_,
double  zmin_,
double  zmax_ 
)

Make a bounding box.

◆ make_box_from_points()

void geomtools::bounding_data::make_box_from_points ( const std::vector< vector_3d > &  points_)

Build a bounding data from a collection of points.

◆ make_cylinder()

void geomtools::bounding_data::make_cylinder ( double  rmax_,
double  zmin_,
double  zmax_ 
)

Make a bounding cylinder.

◆ parse_bounding_data()

void geomtools::bounding_data::parse_bounding_data ( const datatools::properties config_)

Parse enforced bounding data from a properties container.

◆ reset()

void geomtools::bounding_data::reset ( )

Reset.

◆ tree_dump()

virtual void geomtools::bounding_data::tree_dump ( std::ostream &  a_out = std::clog,
const std::string &  a_title = "",
const std::string &  a_indent = "",
bool  a_inherit = false 
) const
virtual

Smart print.

Reimplemented from datatools::i_tree_dumpable.


The documentation for this class was generated from the following file: