![]() |
Bayeux
3.4.1
Core Foundation library for SuperNEMO
|
An line/segment (1D shape) in a 3D space. More...
#include <bayeux/geomtools/line_3d.h>
Public Member Functions | |
| bool | is_normal () |
| Check if the shape is normal. More... | |
| virtual std::string | get_shape_name () const |
| Return the identifier/name of the shape. More... | |
| bool | is_valid () const |
| Check if the line is valid. More... | |
| void | invalidate () |
| Invalidate the line. More... | |
| const vector_3d & | get_first () const |
| Return the start position on the line. More... | |
| void | set_first (double x_, double y_, double z_) |
| Set the start position on the line. More... | |
| void | set_first (const vector_3d &) |
| Set the start position on the line. More... | |
| const vector_3d & | get_last () const |
| Return the stop position on the line. More... | |
| void | set_last (double x_, double y_, double z_) |
| Set the last position on the line. More... | |
| void | set_last (const vector_3d &) |
| Set the stop position on the line. More... | |
| vector_3d | get_point (double t_) const |
| Return the position at given parameter. More... | |
| virtual double | get_length (uint32_t flags_=PATH_ALL_BITS) const |
| Return the length of the linear segment. More... | |
| line_3d () | |
| Default constructor. More... | |
| line_3d (const vector_3d &first_, const vector_3d &last_) | |
| Constructor. More... | |
| line_3d (double x0_, double y0_, double z0_, double x1_, double y1_, double z1_) | |
| Constructor. More... | |
| line_3d (const segment_type &segment_) | |
| Constructor. More... | |
| virtual | ~line_3d () |
| Destructor. More... | |
| virtual void | tree_dump (std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const |
| Smart print. More... | |
| double | get_distance_to_line (const vector_3d &position_) const |
| bool | compute_orthogonal_projection (const vector_3d &position_, vector_3d &proj_) const |
| Compute the orthogonal projection on the segment. More... | |
| bool | is_on_line (const vector_3d &position_, double tolerance_=GEOMTOOLS_PROPER_TOLERANCE) const |
| Check if a position is along the support line of the segment. More... | |
| bool | is_on_segment (const vector_3d &position_, double tolerance_=GEOMTOOLS_PROPER_TOLERANCE) const |
| Check if a position is on the line segment. More... | |
| virtual bool | is_on_curve (const vector_3d &position_, double tolerance_=GEOMTOOLS_PROPER_TOLERANCE) const |
| Check if a position is on the line segment. More... | |
| virtual vector_3d | get_direction_on_curve (const vector_3d &position_) const |
| Return the direction at some position in on the line. More... | |
| void | make_vertex_collection (polyline_type &) const |
| Compute a collection of vertexes representing the line. More... | |
| polyline_type | make_vertex_collection () const |
| Return a collection of vertexes representing the line. More... | |
| virtual void | generate_wires_self (wires_type &wires_, uint32_t options_=0) const |
| Generate a sequence of polylines for wires 3D rendering. More... | |
Public Member Functions inherited from geomtools::i_shape_1d | |
| int | get_dimensional () const |
| Return the dimension of the object. More... | |
| virtual bool | has_number_of_paths () const |
| Check if the 1D shape knows its number of associated paths. More... | |
| virtual unsigned int | get_number_of_paths () const |
| Return the number of paths. More... | |
| virtual bool | has_length (uint32_t flags_=PATH_ALL_BITS) const |
| Check if the 1D shape known its length. More... | |
| i_shape_1d () | |
| Default constructor. More... | |
| i_shape_1d (double tolerance_) | |
| Constructor. More... | |
| i_shape_1d (double tolerance_, double angular_tolerance_) | |
| Constructor. More... | |
| virtual | ~i_shape_1d () |
| Destructor. More... | |
Public Member Functions inherited from geomtools::i_object_3d | |
| 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... | |
| virtual bool | is_composite () const |
| Check if the object is composite. 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 |
Static Public Member Functions | |
| static const std::string & | line_3d_label () |
| Return the identifier label for the class. More... | |
| static void | print_xyz (std::ostream &out_, const line_3d &line_) |
| Print approximated data (x,y,z) triplets representing the line. More... | |
| static void | orthogonal_projection (const vector_3d &p_, const vector_3d &m_, const vector_3d &u_, vector_3d &h_) |
| static double | distance_to_line (const vector_3d &p_, const vector_3d &m_, const vector_3d &u_) |
Static Public Member Functions inherited from geomtools::i_shape_1d | |
| 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... | |
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... | |
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... | |
An line/segment (1D shape) in a 3D space.
| geomtools::line_3d::line_3d | ( | ) |
Default constructor.
| geomtools::line_3d::line_3d | ( | double | x0_, |
| double | y0_, | ||
| double | z0_, | ||
| double | x1_, | ||
| double | y1_, | ||
| double | z1_ | ||
| ) |
Constructor.
| geomtools::line_3d::line_3d | ( | const segment_type & | segment_ | ) |
Constructor.
|
virtual |
Destructor.
| bool geomtools::line_3d::compute_orthogonal_projection | ( | const vector_3d & | position_, |
| vector_3d & | proj_ | ||
| ) | const |
Compute the orthogonal projection on the segment.
|
static |
Compute the distance of a point to a line
P
+
/:
/ : d
/ :
/ :
--------—+==>-+----— M u
|
virtual |
Generate a sequence of polylines for wires 3D rendering.
Implements geomtools::i_wires_3d_rendering.
|
virtual |
Return the direction at some position in on the line.
Implements geomtools::i_shape_1d.
| double geomtools::line_3d::get_distance_to_line | ( | const vector_3d & | position_ | ) | const |
Return the distance of a point to the segment
P
+
|
: | d :
: | :
+------*--------+
F : : L
: :
| const vector_3d& geomtools::line_3d::get_first | ( | ) | const |
Return the start position on the line.
| const vector_3d& geomtools::line_3d::get_last | ( | ) | const |
Return the stop position on the line.
|
virtual |
Return the length of the linear segment.
Reimplemented from geomtools::i_shape_1d.
| vector_3d geomtools::line_3d::get_point | ( | double | t_ | ) | const |
Return the position at given parameter.
|
virtual |
Return the identifier/name of the shape.
Implements geomtools::i_object_3d.
| void geomtools::line_3d::invalidate | ( | ) |
Invalidate the line.
| bool geomtools::line_3d::is_normal | ( | ) |
Check if the shape is normal.
|
virtual |
Check if a position is on the line segment.
Implements geomtools::i_shape_1d.
| bool geomtools::line_3d::is_on_line | ( | const vector_3d & | position_, |
| double | tolerance_ = GEOMTOOLS_PROPER_TOLERANCE |
||
| ) | const |
Check if a position is along the support line of the segment.
| bool geomtools::line_3d::is_on_segment | ( | const vector_3d & | position_, |
| double | tolerance_ = GEOMTOOLS_PROPER_TOLERANCE |
||
| ) | const |
Check if a position is on the line segment.
|
virtual |
Check if the line is valid.
Implements geomtools::i_object_3d.
|
static |
Return the identifier label for the class.
| void geomtools::line_3d::make_vertex_collection | ( | polyline_type & | ) | const |
Compute a collection of vertexes representing the line.
| polyline_type geomtools::line_3d::make_vertex_collection | ( | ) | const |
Return a collection of vertexes representing the line.
|
static |
Compute the orthogonal projection of a point on the line
P
+
/:
/ :
/ :
/ :
--------—+==>-+----— M u H
|
static |
Print approximated data (x,y,z) triplets representing the line.
| void geomtools::line_3d::set_first | ( | double | x_, |
| double | y_, | ||
| double | z_ | ||
| ) |
Set the start position on the line.
| void geomtools::line_3d::set_first | ( | const vector_3d & | ) |
Set the start position on the line.
| void geomtools::line_3d::set_last | ( | double | x_, |
| double | y_, | ||
| double | z_ | ||
| ) |
Set the last position on the line.
| void geomtools::line_3d::set_last | ( | const vector_3d & | ) |
Set the stop position on the line.
|
virtual |
Smart print.
Reimplemented from geomtools::i_object_3d.
1.8.15