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

Module building the outer approximation of a set of particles from an inner approximation. Module building the outer approximation of a set of particles from an inner approximation. More...

#include "Space_filling_model_outer_approximation_module.hpp"

Public Types

typedef SBL::Modules::T_Space_filling_model_outer_approximation_module< ModuleTraits > Self
 
typedef SBL::Modules::Module_base Base
 

Static Public Member Functions

static boost::program_options::options_description *& get_options (void)
 Access to the options' description of the module. More...
 
static bool has_options (void)
 
static void delete_options (void)
 
static void initialize_options (const std::string &caption)
 

Traits Requirements

typedef ModuleTraits::Alpha_complex Alpha_complex
 $\alpha$-complex type used for computing the volume increment of growing a ball until a point. More...
 
typedef ModuleTraits::Union_of_balls_boundary_3 Union_of_balls_boundary_3
 Boundary of the union of the input particles used for the sampling algorithm. More...
 

Other Types

typedef SBL::GT::T_Union_of_balls_epsilon_mesh_3< Union_of_balls_boundary_3Sampler
 Sampler of the surface of an union of 3D balls (see Union_of_balls_mesh_3). More...
 
typedef T_Space_filling_model_coarse_graining_outer_cover< Alpha_complexOuter_approximation_builder
 Builder of the outer cover of a set of balls from their inner cover. More...
 
typedef Outer_approximation_builder::Sphere_3 Sphere_3
 Representation of a sphere in the inner approximation. More...
 

Input Accessors

Union_of_balls_boundary_3 *& get_boundary (void)
 Reference to a pointer over the input boundary. More...
 
std::vector< Sphere_3 > & get_inner_approximation (void)
 Reference to th container of the balls of the inner approximation. More...
 

Output Accessors

const std::vector< Sphere_3 > & get_outer_approximation (void) const
 Const reference to the output container of the balls of the outer approximation
More...
 
std::vector< Sphere_3 > & get_outer_approximation (void)
 Reference to the output container of the balls of the outer approximation. 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_Space_filling_model_outer_approximation_module< ModuleTraits >

Module building the outer approximation of a set of particles from an inner approximation. Module building the outer approximation of a set of particles from an inner approximation.

It uses the algorithm described in T_Space_filling_model_coarse_graining_outer_cover for building the outer approximation.

The input are the inner approximation of an input set of particles, together with the boundary of the union of this set of particles.

The input inner approximation can be set using the method SBL::Modules::T_Space_filling_model_outer_approximation_module::get_inner_approximation that returns a reference to the container of the balls defining the input inner approximation.

The input boundary can be set using the method SBL::Modules::T_Space_filling_model_outer_approximation_module::get_boundary that returns a reference to a pointer over the input boundary.

The output outer approximation is accessible via the method SBL::Modules::T_Space_filling_model_outer_approximation_module::get_outer_approximation.

Template Parameters
ModuleTraitsTraits class defining the types SBL::Modules::T_Space_filling_model_outer_approximation_module::Alpha_complex and SBL::Modules::T_Space_filling_model_outer_approximation_module::Union_of_balls_boundary_3

Member Typedef Documentation

◆ Alpha_complex

typedef ModuleTraits::Alpha_complex Alpha_complex

$\alpha$-complex type used for computing the volume increment of growing a ball until a point.

◆ Base

◆ Outer_approximation_builder

Builder of the outer cover of a set of balls from their inner cover.

◆ Sampler

Sampler of the surface of an union of 3D balls (see Union_of_balls_mesh_3).

◆ Self

◆ Sphere_3

Representation of a sphere in the inner approximation.

◆ Union_of_balls_boundary_3

typedef ModuleTraits::Union_of_balls_boundary_3 Union_of_balls_boundary_3

Boundary of the union of the input particles used for the sampling algorithm.

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

◆ check_options()

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

Checks that the input options' values are coherent.

Reimplemented from T_Module_option_description< Dummy >.

◆ clone()

Self_* clone ( const Self_ *  s) const
inlineinherited

Clones the object using the copy constructor.

◆ delete_options()

static void delete_options ( void  )
inlinestaticinherited

◆ get_boundary()

T_Space_filling_model_outer_approximation_module< ModuleTraits >::Union_of_balls_boundary_3 *& get_boundary ( void  )
inline

Reference to a pointer over the input boundary.

◆ get_inner_approximation()

std::vector< typename T_Space_filling_model_outer_approximation_module< ModuleTraits >::Sphere_3 > & get_inner_approximation ( void  )
inline

Reference to th container of the balls of the inner approximation.

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

std::vector< typename T_Space_filling_model_outer_approximation_module< ModuleTraits >::Sphere_3 > & get_outer_approximation ( void  )
inline

Reference to the output container of the balls of the outer approximation.

◆ get_outer_approximation() [2/2]

const std::vector< typename T_Space_filling_model_outer_approximation_module< ModuleTraits >::Sphere_3 > & get_outer_approximation ( void  ) const
inline

Const reference to the output container of the balls of the outer approximation

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

◆ get_report_mode()

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

Get the report mode to be used when reporting.

◆ has_options()

static bool has_options ( void  )
inlinestaticinherited

◆ initialize_options()

static void initialize_options ( const std::string &  caption)
inlinestaticinherited

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