![]() |
Bayeux
3.4.1
Core Foundation library for SuperNEMO
|
Mother abstract class for all 3D solid shapes. More...
#include <bayeux/geomtools/i_shape_3d.h>
Public Member Functions | |
| bool | is_native_stackable () const |
| const stackable_data & | get_stackable_data () const |
| Return the enforced stackable data associated to the shape. More... | |
| bool | has_stackable_data () const |
| Check if some enforced stackable data are available. More... | |
| bool | owns_stackable_data () const |
| Check if some enforced stackable data are available and owned by the shape itself. More... | |
| void | set_stackable_data (const stackable_data &a_stackable_data) |
| Set external enforced stackable data. More... | |
| void | set_stackable_data (const stackable_data *a_stackable_data) |
| Set internal enforced stackable data. More... | |
| void | reset_stackable_data () |
| Reset enforced stackable data. More... | |
| int | get_dimensional () const |
| Return the dimension (3) More... | |
| double | get_skin (double a_skin) const |
| Return the effective skin tolerance associated to the 3D shape. More... | |
| double | get_skin () const |
| Return the intrinsic skin tolerance. More... | |
| void | set_skin (double a_skin) |
| Set the intrinsic skin tolerance. More... | |
| i_shape_3d () | |
| Constructor. More... | |
| i_shape_3d (double a_skin) | |
| Constructor with skin tolerance. More... | |
| i_shape_3d (double a_skin_, double angular_tolerance_) | |
| Constructor. More... | |
| i_shape_3d (const i_shape_3d &) | |
| Copy constructor. More... | |
| i_shape_3d & | operator= (const i_shape_3d &) |
| Assignment operator. More... | |
| virtual | ~i_shape_3d () |
| Destructor. More... | |
| virtual bool | is_composite () const |
| Check if the solid is composite. More... | |
| virtual bool | using_face_id_bits () const |
| Check if the face identification scheme is based on face bits. More... | |
| virtual bool | using_face_id_index () const |
| Check if the face identification scheme is based on face index. More... | |
| virtual bool | using_face_id_part_index () const |
| Check if the face identification scheme uses part index. More... | |
| virtual void | make_any_face (face_identifier &) const |
| Build a face identifier any mask. More... | |
| virtual bool | has_number_of_faces () const |
| Check if the number of faces is known. More... | |
| virtual unsigned int | get_number_of_faces () const |
| Return the number of faces. More... | |
| virtual bool | volume_can_be_forced () const |
| Check if a forced volume can be set. More... | |
| virtual bool | has_forced_volume () const |
| Check is a forced volume is set. More... | |
| void | set_forced_volume (double volume_) |
| Force the volume. More... | |
| double | get_forced_volume () const |
| Return the forced volume. More... | |
| virtual bool | has_volume (uint32_t flags_=0) const |
| Check is the volume is known. More... | |
| virtual double | get_volume (uint32_t flags_=0) const |
| Return the volume. More... | |
| double | get_effective_volume () const |
| Return the total effective volume. More... | |
| virtual bool | has_surface (uint32_t flags_=face_identifier::FACE_BITS_ANY) const |
| Check is the surface is known. More... | |
| virtual double | get_surface (uint32_t flags_=face_identifier::FACE_BITS_ANY) const |
| Return the surface cumulated by faces. More... | |
| bool | check_inside (const vector_3d &position_, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const |
| Check if a point is inside the solid. More... | |
| bool | check_outside (const vector_3d &position_, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const |
| Check if a point is outside the solid. More... | |
| face_identifier | check_surface (const vector_3d &position_, const face_identifier &a_surface_mask=face_identifier::FACE_BITS_ANY, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const |
| Check is a point is located on a given surface. More... | |
| bool | check_surface (const vector_3d &position_, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const |
| Check if a point is on the surface of the solid. More... | |
| virtual bool | is_inside (const vector_3d &position_, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const =0 |
| Primitive check is a point is inside the solid. More... | |
| virtual bool | is_outside (const vector_3d &, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const =0 |
| Primitive check is a point is outside the solid. More... | |
| virtual face_identifier | on_surface (const vector_3d &position_, const face_identifier &a_surface_mask=face_identifier::FACE_BITS_ANY, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const =0 |
| Primitive check is a point is located on a given surface. More... | |
| virtual vector_3d | get_normal_on_surface (const vector_3d &a_position, const face_identifier &a_surface_bit) const =0 |
| Return the normal at a point of the surface given its surface identifier. More... | |
| bool | is_on_surface (const vector_3d &position_, const face_identifier &a_surface_mask=face_identifier::FACE_BITS_ANY, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const |
| Check is a point is on a surface of the solid. More... | |
| virtual shape_domain_flags_type | where_is (const vector_3d &position_, double a_skin) const |
| Localize a point with respect to the solid. More... | |
| virtual unsigned int | compute_faces (face_info_collection_type &faces_) const |
| Return a collection of face info objects. More... | |
| bool | has_computed_faces () const |
| Check if the embedded collection of faces has been computed. More... | |
| const face_info_collection_type & | get_computed_faces () const |
| Return the collection of faces. More... | |
| void | reset_computed_faces () |
| Reset the computed faces. More... | |
| bool | has_bounding_data () const |
| Check the bounding data. More... | |
| const bounding_data & | get_bounding_data () const |
| Return the bounding data. More... | |
| void | reset_bounding_data () |
| Reset the bounding data. More... | |
| void | set_bounding_data (const bounding_data &) |
| Set the bounding data. More... | |
| void | build_default_bounding_data () |
| Build default bounding data. 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... | |
| bool | is_locked () const |
| Check the lock flag. More... | |
| void | lock () |
| Lock the shape, performing some internal calculations. More... | |
| void | unlock () |
| Unlock the shape. More... | |
Public Member Functions inherited from geomtools::i_object_3d | |
| virtual std::string | get_shape_name () const =0 |
| Return the name of the shape. More... | |
| virtual bool | is_valid () const =0 |
| Check the validity of the object. More... | |
| datatools::logger::priority | get_logging_priority () const |
| Return the logging priority threshold. More... | |
| void | set_logging_priority (datatools::logger::priority) |
| Set the logging priority threshold. More... | |
| bool | has_wires_drawer () const |
| Check is a wires drawer is available. More... | |
| void | set_wires_drawer (i_wires_3d_rendering &wires_drawer_) |
| Set a wires drawer. More... | |
| void | reset_wires_drawer () |
| Reset the wires drawer. More... | |
| i_wires_3d_rendering & | grab_wires_drawer () |
| Return a wires drawer. More... | |
| const i_wires_3d_rendering & | get_wires_drawer () const |
| Return a wires drawer. More... | |
| double | compute_tolerance (double tolerance_) const |
| Return the distance tolerance. More... | |
| double | compute_angular_tolerance (double angular_tolerance_) const |
| Return the angular tolerance. More... | |
| double | get_tolerance () const |
| Return the distance tolerance. More... | |
| void | set_tolerance (double tolerance_) |
| Set the distance tolerance. More... | |
| double | get_angular_tolerance () const |
| Return the angular tolerance. More... | |
| void | set_angular_tolerance (double tolerance_) |
| Set the angular tolerance. More... | |
| i_object_3d () | |
| Default constructor. More... | |
| i_object_3d (double tolerance_) | |
| Constructor on length tolerance. More... | |
| i_object_3d (double tolerance_, double angular_tolerance_) | |
| Constructor on length tolerance. More... | |
| i_object_3d (const i_object_3d &) | |
| Copy constructor. More... | |
| i_object_3d & | operator= (const i_object_3d &) |
| Assignment operator. More... | |
| virtual | ~i_object_3d () |
| Destructor. More... | |
| void | initialize_simple () |
| Initialize the 3D object. More... | |
| virtual void | initialize (const datatools::properties &, const handle_dict_type *=0) |
| Initialize from properties and a dictionary of 3D-objects. More... | |
| virtual void | reset () |
| Reset. More... | |
Public Member Functions inherited from datatools::i_serializable | |
| i_serializable () | |
| Default constructor. More... | |
| virtual | ~i_serializable () |
| Destructor. More... | |
| virtual const std::string & | get_serial_tag () const =0 |
| Return the serialization string identifier of the class. More... | |
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 |
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 |
| virtual void | generate_wires_self (wires_type &wires_, uint32_t options_=0) const =0 |
Public Member Functions inherited from geomtools::i_find_intercept | |
| i_find_intercept () | |
| Default constructor. More... | |
| virtual | ~i_find_intercept () |
| Destructor. More... | |
| virtual bool | find_intercept (const vector_3d &a_from, const vector_3d &a_direction, face_intercept_info &a_intercept, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const =0 |
| bool | find_intercept_self (const vector_3d &a_from, const vector_3d &a_direction, face_intercept_info &a_intercept, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const |
| bool | find_intercept (const vector_3d &a_from, const vector_3d &a_direction, const placement &a_placement, face_intercept_info &a_intercept, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const |
Static Public Member Functions | |
| static double | get_default_skin () |
| Return the default skin value. More... | |
| static double | get_zero_skin () |
| Return the zero skin value (0 == no thickness) More... | |
| static double | get_proper_skin () |
| Return the special skin value that tells to use the intrinsic skin of the shape itself (< 0) More... | |
| static const std::string & | volume_key () |
| static const std::string & | surface_key () |
| static bool | pickup_stackable (const i_shape_3d &, stackable_data &) |
| Initialize a 'stackable_data' instance from stackable data attached to the 3D-shape. More... | |
| static bool | check_stackability (const i_shape_3d &, const stackable::stackability_mode) |
| Check the stackability of the shape (from native or enforced stackable infos) More... | |
| static void | init_ocd (datatools::object_configuration_description &) |
| OCD support. More... | |
Static Public Member Functions inherited from geomtools::i_object_3d | |
| static void | init_ocd (datatools::object_configuration_description &) |
| OCD support. 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_) |
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 Attributes | |
| static const double | DEFAULT_SKIN |
| static const double | ZERO_SKIN |
| static const double | USING_PROPER_SKIN |
Protected Member Functions | |
| void | _set_defaults () |
| Set default values for attributes. More... | |
| virtual void | _at_lock () |
| Executed at lock stage. More... | |
| virtual void | _at_unlock () |
| Executed at unlock stage. More... | |
| void | _initialize (const datatools::properties &, const handle_dict_type *=0) |
| Initialize from properties. More... | |
| void | _reset () |
| Reset. More... | |
| virtual void | _build_bounding_data () |
| Build the bounding data. More... | |
| void | _initialize_bounding_data (const datatools::properties &config_) |
| Parse bounding data from a properties container. More... | |
| void | _initialize_stackable_data (const datatools::properties &config_) |
| Parse stackable data from a properties container. More... | |
| void | _reset_bounding_data () |
| Reset the bounding data. More... | |
| bounding_data & | _grab_bounding_data () |
| Return the bounding data. More... | |
Protected Member Functions inherited from geomtools::i_object_3d | |
| void | _set_defaults () |
| Set default values for attributes. More... | |
| void | _initialize (const datatools::properties &, const handle_dict_type *=0) |
| Initialize from properties. More... | |
| void | _reset () |
| Reset. More... | |
Additional Inherited Members | |
Public Types inherited from geomtools::i_object_3d | |
| enum | dimensional_type { DIMENSIONAL_0 = 0, DIMENSIONAL_1 = 1, DIMENSIONAL_2 = 2, DIMENSIONAL_3 = 3 } |
| Known dimensions. More... | |
| typedef datatools::handle< i_object_3d > | handle_type |
| A handle to a 3D object. More... | |
| typedef std::map< std::string, object_entry > | handle_dict_type |
| Dictionary of handle of 3D object entries. 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 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... | |
Mother abstract class for all 3D solid shapes.
| geomtools::i_shape_3d::i_shape_3d | ( | ) |
Constructor.
| geomtools::i_shape_3d::i_shape_3d | ( | double | a_skin | ) |
Constructor with skin tolerance.
| geomtools::i_shape_3d::i_shape_3d | ( | double | a_skin_, |
| double | angular_tolerance_ | ||
| ) |
Constructor.
| geomtools::i_shape_3d::i_shape_3d | ( | const i_shape_3d & | ) |
Copy constructor.
|
virtual |
Destructor.
|
protectedvirtual |
Executed at lock stage.
Reimplemented in geomtools::tessellated_solid, geomtools::polycone, and geomtools::polyhedra.
|
protectedvirtual |
Executed at unlock stage.
Reimplemented in geomtools::tessellated_solid.
|
protectedvirtual |
Build the bounding data.
Reimplemented in geomtools::tessellated_solid, geomtools::polycone, geomtools::right_circular_conical_frustrum, geomtools::tube, geomtools::polyhedra, geomtools::sphere, geomtools::extruded_box, geomtools::right_polygonal_frustrum, geomtools::box, geomtools::torus, geomtools::cylinder, geomtools::elliptical_cylinder, geomtools::ellipsoid, geomtools::wall_solid, geomtools::intersection_3d, geomtools::union_3d, and geomtools::subtraction_3d.
|
protected |
Return the bounding data.
|
protected |
Initialize from properties.
|
protected |
Parse bounding data from a properties container.
Example of an enforced bounding box:
Example of an enforced bounding cylinder:
|
protected |
Parse stackable data from a properties container.
Example of an enforced stackable data for all axis:
|
protected |
Reset.
|
protected |
Reset the bounding data.
|
protected |
Set default values for attributes.
| void geomtools::i_shape_3d::build_default_bounding_data | ( | ) |
Build default bounding data.
| bool geomtools::i_shape_3d::check_inside | ( | const vector_3d & | position_, |
| double | a_skin = GEOMTOOLS_PROPER_TOLERANCE |
||
| ) | const |
Check if a point is inside the solid.
| bool geomtools::i_shape_3d::check_outside | ( | const vector_3d & | position_, |
| double | a_skin = GEOMTOOLS_PROPER_TOLERANCE |
||
| ) | const |
Check if a point is outside the solid.
|
static |
Check the stackability of the shape (from native or enforced stackable infos)
| face_identifier geomtools::i_shape_3d::check_surface | ( | const vector_3d & | position_, |
| const face_identifier & | a_surface_mask = face_identifier::FACE_BITS_ANY, |
||
| double | a_skin = GEOMTOOLS_PROPER_TOLERANCE |
||
| ) | const |
Check is a point is located on a given surface.
| bool geomtools::i_shape_3d::check_surface | ( | const vector_3d & | position_, |
| double | a_skin = GEOMTOOLS_PROPER_TOLERANCE |
||
| ) | const |
Check if a point is on the surface of the solid.
|
virtual |
Return a collection of face info objects.
Reimplemented in geomtools::tessellated_solid, geomtools::polycone, geomtools::sphere, geomtools::extruded_box, geomtools::right_circular_conical_frustrum, geomtools::polyhedra, geomtools::right_polygonal_frustrum, geomtools::box, geomtools::wall_solid, geomtools::tube, geomtools::torus, geomtools::elliptical_cylinder, geomtools::cylinder, and geomtools::ellipsoid.
| const bounding_data& geomtools::i_shape_3d::get_bounding_data | ( | ) | const |
Return the bounding data.
| const face_info_collection_type& geomtools::i_shape_3d::get_computed_faces | ( | ) | const |
Return the collection of faces.
|
static |
Return the default skin value.
|
virtual |
Return the dimension (3)
Implements geomtools::i_object_3d.
| double geomtools::i_shape_3d::get_effective_volume | ( | ) | const |
Return the total effective volume.
| double geomtools::i_shape_3d::get_forced_volume | ( | ) | const |
Return the forced volume.
|
pure virtual |
Return the normal at a point of the surface given its surface identifier.
Implemented in geomtools::tessellated_solid, geomtools::polycone, geomtools::right_circular_conical_frustrum, geomtools::polyhedra, geomtools::tube, geomtools::extruded_box, geomtools::sphere, geomtools::right_polygonal_frustrum, geomtools::torus, geomtools::box, geomtools::cylinder, geomtools::elliptical_cylinder, geomtools::ellipsoid, geomtools::wall_solid, geomtools::intersection_3d, geomtools::union_3d, and geomtools::subtraction_3d.
|
virtual |
Return the number of faces.
|
static |
Return the special skin value that tells to use the intrinsic skin of the shape itself (< 0)
| double geomtools::i_shape_3d::get_skin | ( | double | a_skin | ) | const |
Return the effective skin tolerance associated to the 3D shape.
| double geomtools::i_shape_3d::get_skin | ( | ) | const |
Return the intrinsic skin tolerance.
| const stackable_data& geomtools::i_shape_3d::get_stackable_data | ( | ) | const |
Return the enforced stackable data associated to the shape.
|
virtual |
Return the surface cumulated by faces.
Reimplemented in geomtools::polycone, geomtools::right_circular_conical_frustrum, geomtools::tube, geomtools::polyhedra, geomtools::extruded_box, geomtools::sphere, geomtools::right_polygonal_frustrum, geomtools::torus, geomtools::box, geomtools::cylinder, geomtools::elliptical_cylinder, geomtools::ellipsoid, and geomtools::wall_solid.
|
virtual |
Return the volume.
Reimplemented in geomtools::polycone, geomtools::right_circular_conical_frustrum, geomtools::tube, geomtools::polyhedra, geomtools::extruded_box, geomtools::sphere, geomtools::right_polygonal_frustrum, geomtools::torus, geomtools::box, geomtools::cylinder, geomtools::elliptical_cylinder, geomtools::ellipsoid, and geomtools::wall_solid.
|
static |
Return the zero skin value (0 == no thickness)
| bool geomtools::i_shape_3d::has_bounding_data | ( | ) | const |
Check the bounding data.
| bool geomtools::i_shape_3d::has_computed_faces | ( | ) | const |
Check if the embedded collection of faces has been computed.
|
virtual |
Check is a forced volume is set.
|
virtual |
Check if the number of faces is known.
| bool geomtools::i_shape_3d::has_stackable_data | ( | ) | const |
Check if some enforced stackable data are available.
|
virtual |
Check is the surface is known.
|
virtual |
Check is the volume is known.
|
static |
OCD support.
|
virtual |
Check if the solid is composite.
Reimplemented from geomtools::i_object_3d.
Reimplemented in geomtools::i_composite_shape_3d.
|
pure virtual |
Primitive check is a point is inside the solid.
Implemented in geomtools::tessellated_solid, geomtools::polycone, geomtools::right_circular_conical_frustrum, geomtools::polyhedra, geomtools::tube, geomtools::extruded_box, geomtools::sphere, geomtools::right_polygonal_frustrum, geomtools::torus, geomtools::box, geomtools::cylinder, geomtools::elliptical_cylinder, geomtools::ellipsoid, geomtools::wall_solid, geomtools::intersection_3d, geomtools::union_3d, and geomtools::subtraction_3d.
| bool geomtools::i_shape_3d::is_locked | ( | ) | const |
Check the lock flag.
| bool geomtools::i_shape_3d::is_native_stackable | ( | ) | const |
| bool geomtools::i_shape_3d::is_on_surface | ( | const vector_3d & | position_, |
| const face_identifier & | a_surface_mask = face_identifier::FACE_BITS_ANY, |
||
| double | a_skin = GEOMTOOLS_PROPER_TOLERANCE |
||
| ) | const |
Check is a point is on a surface of the solid.
|
pure virtual |
Primitive check is a point is outside the solid.
Implemented in geomtools::tessellated_solid, geomtools::polycone, geomtools::right_circular_conical_frustrum, geomtools::polyhedra, geomtools::tube, geomtools::extruded_box, geomtools::sphere, geomtools::right_polygonal_frustrum, geomtools::torus, geomtools::box, geomtools::cylinder, geomtools::elliptical_cylinder, geomtools::ellipsoid, geomtools::wall_solid, geomtools::intersection_3d, geomtools::union_3d, and geomtools::subtraction_3d.
| void geomtools::i_shape_3d::lock | ( | ) |
Lock the shape, performing some internal calculations.
|
virtual |
Build a face identifier any mask.
Reimplemented in geomtools::i_composite_shape_3d.
|
pure virtual |
Primitive check is a point is located on a given surface.
Implemented in geomtools::tessellated_solid, geomtools::polycone, geomtools::right_circular_conical_frustrum, geomtools::polyhedra, geomtools::tube, geomtools::extruded_box, geomtools::sphere, geomtools::right_polygonal_frustrum, geomtools::torus, geomtools::box, geomtools::cylinder, geomtools::elliptical_cylinder, geomtools::ellipsoid, geomtools::wall_solid, geomtools::intersection_3d, geomtools::union_3d, and geomtools::subtraction_3d.
| i_shape_3d& geomtools::i_shape_3d::operator= | ( | const i_shape_3d & | ) |
Assignment operator.
| bool geomtools::i_shape_3d::owns_stackable_data | ( | ) | const |
Check if some enforced stackable data are available and owned by the shape itself.
|
static |
Initialize a 'stackable_data' instance from stackable data attached to the 3D-shape.
| void geomtools::i_shape_3d::reset_bounding_data | ( | ) |
Reset the bounding data.
| void geomtools::i_shape_3d::reset_computed_faces | ( | ) |
Reset the computed faces.
| void geomtools::i_shape_3d::reset_stackable_data | ( | ) |
Reset enforced stackable data.
| void geomtools::i_shape_3d::set_bounding_data | ( | const bounding_data & | ) |
Set the bounding data.
| void geomtools::i_shape_3d::set_forced_volume | ( | double | volume_ | ) |
Force the volume.
| void geomtools::i_shape_3d::set_skin | ( | double | a_skin | ) |
Set the intrinsic skin tolerance.
| void geomtools::i_shape_3d::set_stackable_data | ( | const stackable_data & | a_stackable_data | ) |
Set external enforced stackable data.
| void geomtools::i_shape_3d::set_stackable_data | ( | const stackable_data * | a_stackable_data | ) |
Set internal enforced stackable data.
|
static |
|
virtual |
Smart print.
Reimplemented from geomtools::i_object_3d.
Reimplemented in geomtools::tessellated_solid, geomtools::polycone, geomtools::tube, geomtools::polyhedra, geomtools::sphere, geomtools::extruded_box, geomtools::torus, geomtools::box, geomtools::cylinder, geomtools::i_composite_shape_3d, geomtools::elliptical_cylinder, geomtools::right_circular_conical_frustrum, geomtools::ellipsoid, geomtools::right_polygonal_frustrum, and geomtools::wall_solid.
| void geomtools::i_shape_3d::unlock | ( | ) |
Unlock the shape.
|
virtual |
Check if the face identification scheme is based on face bits.
Reimplemented in geomtools::tessellated_solid, and geomtools::i_composite_shape_3d.
|
virtual |
Check if the face identification scheme is based on face index.
Reimplemented in geomtools::tessellated_solid.
|
virtual |
Check if the face identification scheme uses part index.
Reimplemented in geomtools::i_composite_shape_3d.
|
virtual |
Check if a forced volume can be set.
Reimplemented in geomtools::i_composite_shape_3d.
|
static |
|
virtual |
Localize a point with respect to the solid.
|
static |
|
static |
|
static |
1.8.15