Bayeux  3.4.1
Core Foundation library for SuperNEMO
Public Member Functions | Static Public Member Functions | List of all members
geomtools::i_shape_1d Class Referenceabstract

The abstract base class for all 1D curves/shapes. More...

#include <bayeux/geomtools/i_shape_1d.h>

Inheritance diagram for geomtools::i_shape_1d:
geomtools::i_object_3d datatools::i_serializable datatools::i_tree_dumpable geomtools::circle geomtools::ellipse geomtools::helix_3d geomtools::line_3d geomtools::polyline_3d

Public Member Functions

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...
 
virtual double get_length (uint32_t flags_=PATH_ALL_BITS) const
 Return the length of the 1D shape. 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...
 
virtual bool is_on_curve (const vector_3d &, double tolerance_=GEOMTOOLS_PROPER_TOLERANCE) const =0
 Check is a given point belongs to the path of the 1D shape. More...
 
virtual vector_3d get_direction_on_curve (const vector_3d &position_) const =0
 Return the tangent direction at some position on the 1D shape's path. 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_renderinggrab_wires_drawer ()
 Return a wires drawer. More...
 
const i_wires_3d_renderingget_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_3doperator= (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...
 
virtual void tree_dump (std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
 Smart print. 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
 

Static Public Member Functions

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

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_3dhandle_type
 A handle to a 3D object. More...
 
typedef std::map< std::string, object_entryhandle_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...
 
- 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...
 

Detailed Description

The abstract base class for all 1D curves/shapes.

Constructor & Destructor Documentation

◆ i_shape_1d() [1/3]

geomtools::i_shape_1d::i_shape_1d ( )

Default constructor.

◆ i_shape_1d() [2/3]

geomtools::i_shape_1d::i_shape_1d ( double  tolerance_)

Constructor.

◆ i_shape_1d() [3/3]

geomtools::i_shape_1d::i_shape_1d ( double  tolerance_,
double  angular_tolerance_ 
)

Constructor.

◆ ~i_shape_1d()

virtual geomtools::i_shape_1d::~i_shape_1d ( )
virtual

Destructor.

Member Function Documentation

◆ get_dimensional()

int geomtools::i_shape_1d::get_dimensional ( ) const
virtual

Return the dimension of the object.

Implements geomtools::i_object_3d.

◆ get_direction_on_curve()

virtual vector_3d geomtools::i_shape_1d::get_direction_on_curve ( const vector_3d position_) const
pure virtual

Return the tangent direction at some position on the 1D shape's path.

Implemented in geomtools::helix_3d, geomtools::line_3d, geomtools::ellipse, geomtools::circle, and geomtools::polyline_3d.

◆ get_length()

virtual double geomtools::i_shape_1d::get_length ( uint32_t  flags_ = PATH_ALL_BITS) const
virtual

Return the length of the 1D shape.

Reimplemented in geomtools::helix_3d, geomtools::circle, geomtools::polyline_3d, geomtools::ellipse, and geomtools::line_3d.

◆ get_number_of_paths()

virtual unsigned int geomtools::i_shape_1d::get_number_of_paths ( ) const
virtual

Return the number of paths.

◆ has_length()

virtual bool geomtools::i_shape_1d::has_length ( uint32_t  flags_ = PATH_ALL_BITS) const
virtual

Check if the 1D shape known its length.

◆ has_number_of_paths()

virtual bool geomtools::i_shape_1d::has_number_of_paths ( ) const
virtual

Check if the 1D shape knows its number of associated paths.

◆ init_ocd()

static void geomtools::i_shape_1d::init_ocd ( datatools::object_configuration_description )
static

OCD support.

◆ is_on_curve()

virtual bool geomtools::i_shape_1d::is_on_curve ( const vector_3d ,
double  tolerance_ = GEOMTOOLS_PROPER_TOLERANCE 
) const
pure virtual

Check is a given point belongs to the path of the 1D shape.

Implemented in geomtools::helix_3d, geomtools::line_3d, geomtools::ellipse, geomtools::circle, and geomtools::polyline_3d.


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