Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Triangulation_of_molecular_model< ParticleTraits, TAlphaComplexVertexBase, TAlphaComplexCellBase > Class Template Reference

Derived class from CGAL Regular triangulation for filling it with particles. More...

#include <Alpha_complex_of_molecular_model.hpp>

Public Types

typedef T_Alpha_complex_of_molecular_model_traits< ParticleTraits, TAlphaComplexVertexBase, TAlphaComplexCellBase > Alpha_complex_of_molecular_model_traits
 Class defining all the types related to the $\alpha$-complex of a molecular model. More...
 
typedef Alpha_complex_of_molecular_model_traits::Triangulation_3_base Base
 Base regular triangulation of the $\alpha$-complex. More...
 
typedef Alpha_complex_of_molecular_model_traits::FT FT
 Number type used for representing the coordinates of the particle. More...
 
typedef Alpha_complex_of_molecular_model_traits::Get_geometric_representation Get_geometric_representation
 Functor constructing the 3D weighted point representing a particle. More...
 
typedef Base::Vertex Particle_vertex
 Representation of a vertex in the 3D triangulation. More...
 
typedef Base::Vertex_handle Particle_vertex_handle
 Handler of a vertex in the 3D triangulation. More...
 

Constructors

 T_Triangulation_of_molecular_model (void)
 Default constructor calling the default constructor of the base triangulation. More...
 
template<class InputIterator >
 T_Triangulation_of_molecular_model (InputIterator begin, InputIterator end)
 Constructor initializing this triangulation by inserting the input range of particles. More...
 

Modifiers

Particle_vertex_handle insert (const typename Base::Point &p, typename Base::Cell_handle c=typename Base::Cell_handle())
 Insert a point in the triangulation. Note that the method build of the particle is not called (conflicts with the alpha-complex). More...
 
Particle_vertex_handle insert (typename ParticleTraits::Particle_type &p)
 Insert a particle in the triangulation and builds the particle. More...
 
template<class InputIterator >
void insert (InputIterator begin, InputIterator end)
 Insert a range of particles in the triangulation and builds the particles. More...
 

Detailed Description

template<class ParticleTraits, template< class Traits, class Vb, class ExactAlphaComparisonTag, class WeightedTag > class TAlphaComplexVertexBase = T_Alpha_complex_vertex_base_3, template< class Traits, class Cb, class ExactAlphaComparisonTag, class WeightedTag > class TAlphaComplexCellBase = T_Alpha_complex_cell_base_3>
class SBL::CSB::T_Triangulation_of_molecular_model< ParticleTraits, TAlphaComplexVertexBase, TAlphaComplexCellBase >

Derived class from CGAL Regular triangulation for filling it with particles.

It uses ParticleTraits for determining the geometrical kernel used for the representation and computation of the regular triangulation, and for attaching particle data to their corresponding vertex.

Template Parameters
ParticleTraitsTraits class defining geometric properties of a particle.
TAlphaComplexVertexBaseBase class for representing a vertex in the 3D $\alpha$-complex. It has SBL::CSB::T_Alpha_complex_vertex_base_3 as default type.
TAlphaComplexCellBaseBase class for representing a cell in the 3D $\alpha$-complex. It has SBL::CSB::T_Alpha_complex_cell_base_3 as default type.

Member Typedef Documentation

◆ Alpha_complex_of_molecular_model_traits

typedef T_Alpha_complex_of_molecular_model_traits<ParticleTraits, TAlphaComplexVertexBase, TAlphaComplexCellBase> Alpha_complex_of_molecular_model_traits

Class defining all the types related to the $\alpha$-complex of a molecular model.

It uses ParticleTraits for determining the geometrical kernel used for the representation and computation of the $\alpha$-complex, and for attaching atom data to their corresponding vertex.

Template Parameters
ParticleTraitsTraits classes defining geometric properties of a particle.

◆ Base

typedef Alpha_complex_of_molecular_model_traits:: Triangulation_3_base Base

Base regular triangulation of the $\alpha$-complex.

◆ FT

Number type used for representing the coordinates of the particle.

◆ Get_geometric_representation

typedef Alpha_complex_of_molecular_model_traits:: Get_geometric_representation Get_geometric_representation

Functor constructing the 3D weighted point representing a particle.

◆ Particle_vertex

typedef Base::Vertex Particle_vertex

Representation of a vertex in the 3D triangulation.

◆ Particle_vertex_handle

typedef Base::Vertex_handle Particle_vertex_handle

Handler of a vertex in the 3D triangulation.

Constructor & Destructor Documentation

◆ T_Triangulation_of_molecular_model() [1/2]

Default constructor calling the default constructor of the base triangulation.

◆ T_Triangulation_of_molecular_model() [2/2]

T_Triangulation_of_molecular_model ( InputIterator  begin,
InputIterator  end 
)

Constructor initializing this triangulation by inserting the input range of particles.

Member Function Documentation

◆ insert() [1/3]

T_Triangulation_of_molecular_model< ParticleTraits, TAlphaComplexVertexBase, TAlphaComplexCellBase >::Particle_vertex_handle insert ( const typename Base::Point &  p,
typename Base::Cell_handle  c = typename Base::Cell_handle() 
)
inline

Insert a point in the triangulation. Note that the method build of the particle is not called (conflicts with the alpha-complex).

◆ insert() [2/3]

void insert ( InputIterator  begin,
InputIterator  end 
)
inline

Insert a range of particles in the triangulation and builds the particles.

◆ insert() [3/3]

T_Triangulation_of_molecular_model< ParticleTraits, TAlphaComplexVertexBase, TAlphaComplexCellBase >::Particle_vertex_handle insert ( typename ParticleTraits::Particle_type &  p)
inline

Insert a particle in the triangulation and builds the particle.