Module building the alpha-complex of an input set of particles. Module building the alpha-complex of an input set of particles.
More...
#include "Alpha_complex_of_molecular_model_module.hpp"
static boost::program_options::options_description *& get_options (void)
Access to the options' description of the module.
typedef ModuleTraits::Particles_container Particles_container
Representation of the input collection of particles.
typedef ModuleTraits::Alpha_complex Alpha_complex
Representation of the output -complex.
typedef Alpha_complex::Triangulation Triangulation
Underlaying triangulation of the -complex.
void run (unsigned verbose, std::ostream &out) override
Runs the module following the input options.
bool is_runnable (void) const override
Checks that all the input options were set.
void statistics (std::ostream &out) override
Reports high-level statistics on the module.
std::string get_name (void) const override
Returns the name of the package.
boost::program_options::options_description add_options (void) override
Virtual method for adding options to the module.
bool check_options (std::string &message) const override
Checks that the input options' values are coherent.
std::string get_output_prefix (void) const override
Returns a prefix that concatains the input line options used when running the module.
void report (const std::string &prefix) override
Reports the output and statistics in output files.
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.
const std::string & get_module_instance_name (void) const
Get the name of this instance of this module.
void set_report_mode (std::ios_base::openmode report_mode)
Set a report mode, that is open or append modes.
void set_report_mode (std::ios_base::openmode &report_mode)
Set a report mode, that is open or append modes.
const std::ios_base::openmode get_report_mode (void) const
Get the report mode to be used when reporting.
template<class Self_>
Self_ * clone (const Self_ *s) const
Clones the object using the copy constructor.
virtual bool is_logical_module (void) const
Checks that this module defines a logical operator.
virtual bool is_condition_module (void) const
Checks that this module defines a condition operator.
virtual bool operator() (void)
Only for condition modules, for returning the predicate value.
virtual bool is_modules_collection (void) const
Checks that this module defines a collection of modules.
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. 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 -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 -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.
Template Parameters
◆ Alpha_complex
template<
class ModuleTraits>
Representation of the output -complex.
Its type is partially determined by the type of particles:
◆ Particles_container
template<
class ModuleTraits>
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
template<
class ModuleTraits>
Underlaying triangulation of the -complex.
◆ add_options()
template<
class ModuleTraits>
boost::program_options::options_description add_options
(
void )
inline override virtual
◆ check_filesystem_directory_exists()
void check_filesystem_directory_exists
(
const std::string & output_prefix )
inline inherited
To avoid later crash: check filesystem / existence of directory / directory exists.
◆ check_options()
template<
class ModuleTraits>
bool check_options
(
std::string & message )
const
inline override virtual
◆ clone()
Self_ * clone
(
const Self_ * s )
const
inline inherited
Clones the object using the copy constructor.
◆ get_alpha_complex() [1/2]
template<
class ModuleTraits>
Reference to the output -complex.
◆ get_alpha_complex() [2/2]
template<
class ModuleTraits>
Const reference to the output -complex.
◆ get_module_instance_name()
const std::string & get_module_instance_name
(
void )
const
inline inherited
Get the name of this instance of this module.
◆ get_name()
template<
class ModuleTraits>
std::string get_name
(
void )
const
inline override virtual
Returns the name of the package.
Reimplemented from Module_base .
◆ get_options()
template<
class Dummy = void>
boost::program_options::options_description *& get_options
(
void )
inline static inherited
Access to the options' description of the module.
◆ get_output_prefix()
template<
class ModuleTraits>
std::string get_output_prefix
(
void )
const
inline override virtual
◆ get_particles()
template<
class ModuleTraits>
Reference to the input particles container.
◆ get_report_mode()
const std::ios_base::openmode get_report_mode
(
void )
const
inline inherited
Get the report mode to be used when reporting.
◆ get_triangulation()
template<
class ModuleTraits>
Reference to the underlying triangulation of the output -complex.
◆ is_condition_module()
virtual bool is_condition_module
(
void )
const
inline protected virtual inherited
Checks that this module defines a condition operator.
◆ is_logical_module()
virtual bool is_logical_module
(
void )
const
inline protected virtual inherited
Checks that this module defines a logical operator.
◆ is_modules_collection()
virtual bool is_modules_collection
(
void )
const
inline protected virtual inherited
Checks that this module defines a collection of modules.
◆ is_runnable()
template<
class ModuleTraits>
bool is_runnable
(
void )
const
inline override virtual
Checks that all the input options were set.
Reimplemented from Module_base .
◆ operator()()
virtual bool operator()
(
void )
inline protected virtual inherited
Only for condition modules, for returning the predicate value.
◆ report()
template<
class ModuleTraits>
void report
(
const std::string & prefix )
inline override virtual
Reports the output and statistics in output files.
Reimplemented from Module_base .
◆ run()
template<
class ModuleTraits>
void run
(
unsigned verbose ,
std::ostream & out )
inline override virtual
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 )
inline inherited
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 )
inline inherited
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 )
inline inherited
Set a report mode, that is open or append modes.
◆ statistics()
template<
class ModuleTraits>
void statistics
(
std::ostream & out )
inline override virtual
Reports high-level statistics on the module.
Reimplemented from Module_base .