Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Union_of_balls_boundary_3_module< ModuleTraits, ExactNT > Class Template Reference

Module building the boundary of the union of input 3D balls. More...

#include "Union_of_balls_boundary_3_module.hpp"

Static Public Member Functions

static boost::program_options::options_description *& get_options (void)
 Access to the options' description of the module. More...
 

Modules Management

void set_module_instance_name (const std::string &module_instance_name)
 Sets a name for this instance of this module. In particular, it will be used in the prefix of output files generated by a collection of modules. More...
 
const std::string & get_module_instance_name (void) const
 Get the name of this instance of this module. More...
 
void set_report_mode (std::ios_base::openmode report_mode)
 Set a report mode, that is open or append modes. More...
 
void set_report_mode (std::ios_base::openmode &report_mode)
 Set a report mode, that is open or append modes. More...
 
const std::ios_base::openmode get_report_mode (void) const
 Get the report mode to be used when reporting. More...
 

Others

template<class Self_ >
Self_ * clone (const Self_ *s) const
 Clones the object using the copy constructor. More...
 
virtual bool is_logical_module (void) const
 Checks that this module defines a logical operator. More...
 
virtual bool is_condition_module (void) const
 Checks that this module defines a condition operator. More...
 
virtual bool operator() (void)
 Only for condition modules, for returning the predicate value. More...
 
virtual bool is_modules_collection (void) const
 Checks that this module defines a collection of modules. More...
 

Traits Requirements

typedef ModuleTraits::Union_of_balls_boundary_3 Union_of_balls_boundary_3
 Representation of the boundary of the union of balls. More...
 

Other Types

typedef Union_of_balls_boundary_3::Weighted_alpha_complex_3 Alpha_complex
 $\alpha$-complex representing the input set of 3D balls. More...
 

Input Accessors

Alpha_complex *& get_alpha_complex (void)
 Reference to a pointer over the input $\alpha$-complex. More...
 

Output Accessors

const Union_of_balls_boundary_3get_boundary (void) const
 Const reference to the output boundary of the union of the input 3D balls. More...
 
Union_of_balls_boundary_3get_boundary (void)
 Reference to the output boundary of the union of the input 3D balls. More...
 

Mandatory Requirements

void run (unsigned verbose, std::ostream &out)
 Runs the module following the input options. More...
 
bool is_runnable (void) const
 Checks that all the input options were set. More...
 
void statistics (std::ostream &out)
 Reports high-level statistics on the module. More...
 
std::string get_name (void) const
 Returns the name of the package. More...
 

Optional Requirements

boost::program_options::options_description add_options (void) const
 Virtual method for adding options to the module. More...
 
bool check_options (std::string &message) const
 Checks that the input options' values are coherent. More...
 
std::string get_output_prefix (void) const
 Returns a prefix that concatains the input line options used when running the module. More...
 
void report (const std::string &prefix)
 Reports the output and statistics in output files. More...
 

Detailed Description

template<class ModuleTraits, class ExactNT = CGAL::Gmpq>
class SBL::Modules::T_Union_of_balls_boundary_3_module< ModuleTraits, ExactNT >

Module building the boundary of the union of input 3D balls.

The boundary of the union of balls, which consists of spherical polygons bounded by circle arcs themselves bounded by points, is represented using the Halfedge Data Structure of the CGAL library: each spherical cap is represented by a face, each face being possibly bounded by one or more oriented edges called the halfedges. When two faces are adjacent, they share a common edge represented by two halfedges with opposite orientations.

The package Union_of_balls_boundary_3 provides the class SBL::GT::T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3 , bool IS_CCW , HalfedgeDSBase > for representing this halfedge data structure. The first template parameter is the representation of the $\alpha$-complex of the input data. The second parameter is a tag determining the orientation of all the half-edges around a face (by default, the face lies to the left of the bounding half-edges). Finally, the third parameter is the base class for the used halfedge data structure (a base minimal structure is given by default).

The input is the $\alpha$-complex of the input 3D balls and can be set with the method SBL::Modules::T_Union_of_balls_boundary_3_module::get_alpha_complex that returns a reference to a pointer over the input $\alpha$-complex.

The output boundary is accessible using the method
SBL::Modules::T_Union_of_balls_boundary_3_module::get_boundary

 \tparam ModuleTraits Traits class defining the types
 SBL::Modules::T_Union_of_balls_boundary_3_module::Union_of_balls_boundary_3.

 \tparam ExactNT Optional parameter for the exact number type used with the filtered algebraic kernel (<a href="http://doc.cgal.org/latest/Number_types/index.html">CGAL::Gmpq</a> by default).

Member Typedef Documentation

◆ Alpha_complex

typedef Union_of_balls_boundary_3::Weighted_alpha_complex_3 Alpha_complex

$\alpha$-complex representing the input set of 3D balls.

◆ Union_of_balls_boundary_3

typedef ModuleTraits::Union_of_balls_boundary_3 Union_of_balls_boundary_3

Representation of the boundary of the union of balls.

Representation of the boundary of the union of balls.

  \tparam WeightedAlphaComplex3 A Model of the 3D Weighted \form#2-complex of the CGAL Library.

  \tparam IS_CCW Tag allowing to orientate in CW or CCW the sense of the half-edges.

  \tparam HalfedgeDSBase Base data structure for the boundary of union of balls.

Member Function Documentation

◆ add_options()

boost::program_options::options_description add_options ( void  ) const
inlinevirtual

Virtual method for adding options to the module.

Reimplemented from T_Module_option_description<>.

◆ check_options()

bool check_options ( std::string &  message) const
inlinevirtual

Checks that the input options' values are coherent.

Reimplemented from T_Module_option_description<>.

◆ clone()

Self_* clone ( const Self_ *  s) const
inlineinherited

Clones the object using the copy constructor.

◆ get_alpha_complex()

T_Union_of_balls_boundary_3_module< ModuleTraits, ExactNT >::Alpha_complex *& get_alpha_complex ( void  )
inline

Reference to a pointer over the input $\alpha$-complex.

◆ get_boundary() [1/2]

const T_Union_of_balls_boundary_3_module< ModuleTraits, ExactNT >::Union_of_balls_boundary_3 & get_boundary ( void  ) const
inline

Const reference to the output boundary of the union of the input 3D balls.

◆ get_boundary() [2/2]

T_Union_of_balls_boundary_3_module< ModuleTraits, ExactNT >::Union_of_balls_boundary_3 & get_boundary ( void  )
inline

Reference to the output boundary of the union of the input 3D balls.

◆ get_module_instance_name()

const std::string& get_module_instance_name ( void  ) const
inlineinherited

Get the name of this instance of this module.

◆ get_name()

std::string get_name ( void  ) const
inlinevirtual

Returns the name of the package.

Reimplemented from Module_base.

◆ get_options()

static boost::program_options::options_description*& get_options ( void  )
inlinestaticinherited

Access to the options' description of the module.

◆ get_output_prefix()

std::string get_output_prefix ( void  ) const
inlinevirtual

Returns a prefix that concatains the input line options used when running the module.

Reimplemented from T_Module_option_description<>.

◆ get_report_mode()

const std::ios_base::openmode get_report_mode ( void  ) const
inlineinherited

Get the report mode to be used when reporting.

◆ is_condition_module()

virtual bool is_condition_module ( void  ) const
inlineprotectedvirtualinherited

Checks that this module defines a condition operator.

◆ is_logical_module()

virtual bool is_logical_module ( void  ) const
inlineprotectedvirtualinherited

Checks that this module defines a logical operator.

◆ is_modules_collection()

virtual bool is_modules_collection ( void  ) const
inlineprotectedvirtualinherited

Checks that this module defines a collection of modules.

◆ is_runnable()

bool is_runnable ( void  ) const
inlinevirtual

Checks that all the input options were set.

Reimplemented from Module_base.

◆ operator()()

virtual bool operator() ( void  )
inlineprotectedvirtualinherited

Only for condition modules, for returning the predicate value.

◆ report()

void report ( const std::string &  prefix)
inlinevirtual

Reports the output and statistics in output files.

Reimplemented from Module_base.

◆ run()

void run ( unsigned  verbose,
std::ostream &  out 
)
inlinevirtual

Runs the module following the input options.

Implements Module_base.

◆ set_module_instance_name()

void set_module_instance_name ( const std::string &  module_instance_name)
inlineinherited

Sets a name for this instance of this module. In particular, it will be used in the prefix of output files generated by a collection of modules.

◆ set_report_mode() [1/2]

void set_report_mode ( std::ios_base::openmode  report_mode)
inlineinherited

Set a report mode, that is open or append modes.

◆ set_report_mode() [2/2]

void set_report_mode ( std::ios_base::openmode &  report_mode)
inlineinherited

Set a report mode, that is open or append modes.

◆ statistics()

void statistics ( std::ostream &  out)
inlinevirtual

Reports high-level statistics on the module.

Reimplemented from Module_base.