Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
|
Module computing the surface area and the volume of the union of an input set of 3D balls. Module computing the surface area and the volume of the union of an input set of 3D balls. More...
#include "Union_of_balls_surface_volume_3_module.hpp"
Classes | |
class | Union_of_balls_surface_volume_3 |
Contains pointers over two functors for computing the volumes and surfaces areas with different level of exactness. More... | |
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::Alpha_complex | Alpha_complex |
-complex representing the input set of 3D balls. More... | |
Other Types | |
typedef CGAL::Exact_spherical_kernel_3 | Spherical_kernel_3_exact |
Geometric kernel for computations over a 3D sphere with exact constructions and predicates. More... | |
typedef CGAL::Simple_cartesian< CGAL::Interval_nt< false > > | Geometric_kernel_interval |
3D geometric kernel with interval arithmetics. More... | |
typedef CGAL::Algebraic_kernel_for_spheres_2_3< typename Geometric_kernel_interval::FT > | Algebraic_kernel_interval |
Kernel for algebraic computations over a 3D sphere with interval arithmetics. More... | |
typedef CGAL::Spherical_kernel_3< Geometric_kernel_interval, Algebraic_kernel_interval > | Spherical_kernel_3_interval |
Geometric kernel for computations over a 3D sphere with interval arithmetics. More... | |
typedef SBL::GT::T_Union_of_balls_surface_volume_3< Alpha_complex, Spherical_kernel_3_exact > | Union_of_balls_surface_volume_3_SK_exact |
Computation of volume and surface area of the union of 3D balls as most exact as possible. More... | |
typedef SBL::GT::T_Union_of_balls_surface_volume_3< Alpha_complex, Spherical_kernel_3_interval > | Union_of_balls_surface_volume_3_SK_interval |
Computation of volume and surface area of the union of 3D balls using interval arithmetics. More... | |
typedef Union_of_balls_surface_volume_3_SK_exact::Union_of_balls_boundary_3 | Union_of_balls_boundary_3 |
Representation of the boundary of the union of balls. More... | |
Input Accessors | |
Alpha_complex *& | get_alpha_complex (void) |
Reference to a pointer over the input -complex. More... | |
Union_of_balls_boundary_3 *& | get_boundary (void) |
Reference to a pointer over the input boundary. More... | |
Output Accessors | |
const Union_of_balls_surface_volume_3 & | get_surface_volume (void) const |
Const reference to the output surface area and volume computation. More... | |
Union_of_balls_surface_volume_3 & | get_surface_volume (void) |
Reference to the output surface area and volume computation. More... | |
Mandatory Requirements | |
void | run (unsigned verbose, std::ostream &out) override |
Runs the module following the input options. More... | |
bool | is_runnable (void) const override |
Checks that all the input options were set. More... | |
void | statistics (std::ostream &out) override |
Reports high-level statistics on the module. More... | |
std::string | get_name (void) const override |
Returns the name of the package. More... | |
Optional Requirements | |
boost::program_options::options_description | add_options (void) override |
Virtual method for adding options to the module. More... | |
bool | check_options (std::string &message) const override |
Checks that the input options' values are coherent. More... | |
std::string | get_output_prefix (void) const override |
Returns a prefix that concatains the input line options used when running the module. More... | |
void | report (const std::string &prefix) override |
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... | |
Optional Requirements | |
void | check_filesystem_directory_exists (const std::string &output_prefix) |
To avoid later crash: check filesystem / existence of directory / directory exists. 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... | |
Module computing the surface area and the volume of the union of an input set of 3D balls. Module computing the surface area and the volume of the union of an input set of 3D balls.
It computes the volumes and surface areas from the boundary data structure SBL::GT::T_Union_of_balls_boundary_3_data_structure, itself constructed from the -complex of an input set of 3D balls..
Remind that the restriction of a ball to its Voronoi region is the intersection of this ball to its Voronoi region.
Two computations are required for determining the volume of a restriction :
Adding up the volumes of all pyramids partitioning yields the volume of . Note that the computation of the volume of pyramids whose base is a spherical cap requires computing the surface area of this cap. In particular, the sum of all surface areas from a restriction defines the surface area of this restriction.
The package Union_of_balls_surface_volume_3 provides the class SBL::GT::T_Union_of_balls_surface_volume_3< AlphaComplex3 , SphericalKernel3 , UnionOfBallsBoundary3 > computing the volume of all the restrictions of an input set of balls. The first parameter is a model of the -complex of the input balls. Note that the number type used for representing the input data is derived from AlphaComplex3 . The second parameter is a kernel used to define objects and constructions related the computation over a sphere. It defines also the number type used for representing the intersection points between the spheres. The last template parameter is a representation of the boundary of the union of balls.
The input can be either:
The output is a structure having two public attributes:
Only one of these two computations is done when running the module, the other attribute being set to the NULL pointer. This structure is accessible with the method SBL::Modules::T_Union_of_balls_surface_volume_3_module::get_surface_volume
ModuleTraits | Traits class defining the type SBL::Modules::T_Union_of_balls_surface_volume_3_module::Alpha_complex. |
OutputArchive | Archive concept from the Boost library, allowing to switch between a full serialization of the output data with for example the class boost::archive::xml_oarchive, or a multiple archives serialization with the class SBL::IO::T_Multiple_archives_serialization_xml_oarchive. |
typedef CGAL::Algebraic_kernel_for_spheres_2_3<typename Geometric_kernel_interval::FT> Algebraic_kernel_interval |
Kernel for algebraic computations over a 3D sphere with interval arithmetics.
typedef ModuleTraits:: Alpha_complex Alpha_complex |
-complex representing the input set of 3D balls.
typedef CGAL::Simple_cartesian<CGAL::Interval_nt<false> > Geometric_kernel_interval |
3D geometric kernel with interval arithmetics.
typedef CGAL::Exact_spherical_kernel_3 Spherical_kernel_3_exact |
Geometric kernel for computations over a 3D sphere with exact constructions and predicates.
typedef CGAL::Spherical_kernel_3<Geometric_kernel_interval, Algebraic_kernel_interval> Spherical_kernel_3_interval |
Geometric kernel for computations over a 3D sphere with interval arithmetics.
typedef Union_of_balls_surface_volume_3_SK_exact:: 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.
WeightedAlphaComplex3 | A Model of the 3D Weighted -complex of the CGAL Library. |
IS_CCW | Tag allowing to orientate in CW or CCW the sense of the half-edges. |
HalfedgeDSBase | Base data structure for the boundary of union of balls. |
typedef SBL::GT::T_Union_of_balls_surface_volume_3<Alpha_complex, Spherical_kernel_3_exact> Union_of_balls_surface_volume_3_SK_exact |
Computation of volume and surface area of the union of 3D balls as most exact as possible.
Algorithm computing the surface area and the volume of the union of 3D balls
AlphaComplex3 | Alpha-complex of the input spheres |
SphericalKernel3 | Geometric kernel for computations over a sphere |
UnionOfBallsBoundary3 | Representation of the boundary of a union of spheres |
typedef SBL::GT::T_Union_of_balls_surface_volume_3<Alpha_complex, Spherical_kernel_3_interval> Union_of_balls_surface_volume_3_SK_interval |
Computation of volume and surface area of the union of 3D balls using interval arithmetics.
Algorithm computing the surface area and the volume of the union of 3D balls
AlphaComplex3 | Alpha-complex of the input spheres |
SphericalKernel3 | Geometric kernel for computations over a sphere |
UnionOfBallsBoundary3 | Representation of the boundary of a union of spheres |
|
inlineoverridevirtual |
Virtual method for adding options to the module.
Reimplemented from T_Module_option_description< Dummy >.
|
inlineinherited |
To avoid later crash: check filesystem / existence of directory / directory exists.
|
inlineoverridevirtual |
Checks that the input options' values are coherent.
Reimplemented from T_Module_option_description< Dummy >.
|
inlineinherited |
Clones the object using the copy constructor.
|
inline |
Reference to a pointer over the input -complex.
|
inline |
Reference to a pointer over the input boundary.
|
inlineinherited |
Get the name of this instance of this module.
|
inlineoverridevirtual |
Returns the name of the package.
Reimplemented from Module_base.
|
inlinestaticinherited |
Access to the options' description of the module.
|
inlineoverridevirtual |
Returns a prefix that concatains the input line options used when running the module.
Reimplemented from T_Module_option_description< Dummy >.
|
inlineinherited |
Get the report mode to be used when reporting.
|
inline |
Reference to the output surface area and volume computation.
|
inline |
Const reference to the output surface area and volume computation.
|
inlineprotectedvirtualinherited |
Checks that this module defines a condition operator.
|
inlineprotectedvirtualinherited |
Checks that this module defines a logical operator.
|
inlineprotectedvirtualinherited |
Checks that this module defines a collection of modules.
|
inlineoverridevirtual |
Checks that all the input options were set.
Reimplemented from Module_base.
|
inlineprotectedvirtualinherited |
Only for condition modules, for returning the predicate value.
|
inlineoverridevirtual |
Reports the output and statistics in output files.
Reimplemented from Module_base.
|
inlineoverridevirtual |
Runs the module following the input options.
Implements Module_base.
|
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.
|
inlineinherited |
Set a report mode, that is open or append modes.
|
inlineinherited |
Set a report mode, that is open or append modes.
|
inlineoverridevirtual |
Reports high-level statistics on the module.
Reimplemented from Module_base.