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

Module building the alpha-complex of an input set of particles. More...

#include "Alpha_complex_of_molecular_model_module.hpp"

Static Public Member Functions

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

Traits Requirements

typedef ModuleTraits::Particles_container Particles_container
 Representation of the input collection of particles. More...
 
typedef ModuleTraits::Alpha_complex Alpha_complex
 Representation of the output $\alpha$-complex. More...
 

Other Types

typedef Alpha_complex::Triangulation Triangulation
 Underlaying triangulation of the $\alpha$-complex. More...
 

Input Accessors

Particles_container *& get_particles (void)
 Reference to the input particles container. More...
 
Triangulationget_triangulation (void)
 Reference to the underlying triangulation of the output $\alpha$-complex. More...
 

Output Accessors

const Alpha_complexget_alpha_complex (void) const
 Const reference to the output $\alpha$-complex. More...
 
Alpha_complexget_alpha_complex (void)
 Reference to the output $\alpha$-complex. 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...
 

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...
 

Detailed Description

template<class ModuleTraits>
class SBL::Modules::T_Alpha_complex_of_molecular_model_module< ModuleTraits >

Module building the alpha-complex of an input set of particles.

It is designed such that the input can be either a collection of 3D spheres representing the particles, or a collection of particles with the type derived from ParticleTraits, depending on the type of the output $\alpha$-complex:

  • Alpha_shape_3 or Fixed_alpha_shape_3 : the input is a collection of particles represented by weighted points (Weighted_point), that is a 3D point (the center of a particle represented as a 3D sphere) with an associated weight (the squared radius of the 3D sphere).

The input collection of particles can be set using the method T_Alpha_complex_of_molecular_model_module::get_particles, that return a reference over the container of particles. Note also that the 3D triangulation underlying the output $\alpha$-complex can be parametrized using the method T_Alpha_complex_of_molecular_model_module::get_triangulation. This is particularly useful when an additional radius has to be set to all the particles when using the class SBL::CSB::T_Alpha_complex_of_molecular_model, for example in the case of the Solvent Accessible Model,solvent accessible model.

  \tparam ModuleTraits Traits class defining the types
  T_Alpha_complex_of_molecular_model_module::Alpha_complex and
  T_Alpha_complex_of_molecular_model_module::Particles_container.

Member Typedef Documentation

◆ Alpha_complex

typedef ModuleTraits::Alpha_complex Alpha_complex

Representation of the output $\alpha$-complex.

Its type is partially determined by the type of particles:

◆ Particles_container

typedef ModuleTraits::Particles_container Particles_container

Representation of the input collection of particles.

It could be any of the stl container having the begin(), end() and size() methods. The value type of the elements of the container is the particle type and can be either:

◆ Triangulation

typedef Alpha_complex::Triangulation Triangulation

Underlaying triangulation of the $\alpha$-complex.

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() [1/2]

const T_Alpha_complex_of_molecular_model_module< ModuleTraits >::Alpha_complex & get_alpha_complex ( void  ) const
inline

Const reference to the output $\alpha$-complex.

◆ get_alpha_complex() [2/2]

T_Alpha_complex_of_molecular_model_module< ModuleTraits >::Alpha_complex & get_alpha_complex ( void  )
inline

Reference to the output $\alpha$-complex.

◆ 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_particles()

T_Alpha_complex_of_molecular_model_module< ModuleTraits >::Particles_container *& get_particles ( void  )
inline

Reference to the input particles container.

◆ get_report_mode()

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

Get the report mode to be used when reporting.

◆ get_triangulation()

T_Alpha_complex_of_molecular_model_module< ModuleTraits >::Triangulation & get_triangulation ( void  )
inline

Reference to the underlying triangulation of the output $\alpha$-complex.

◆ 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.