Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase > Class Template Reference

Representation of the boundary of the union of balls. More...

#include <Union_of_balls_boundary_3_data_structure.hpp>

Classes

class  Get_weighted_point_from_sphere
 

Public Types

typedef T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase > Self
 The class itself. More...
 
typedef HalfedgeDSBase Base
 
typedef WeightedAlphaComplex3 Weighted_alpha_complex_3
 $\alpha$-complex representing the input set of 3D balls. More...
 
typedef WeightedAlphaComplex3::Geom_traits::Kernel Geometric_kernel
 
typedef Geometric_kernel::Point_3 Point_3
 
typedef WeightedAlphaComplex3::Point Weighted_point
 
typedef Geometric_kernel::FT FT
 
typedef Base::Face_handle Face_handle
 
typedef Base::Halfedge_handle Halfedge_handle
 
typedef Base::Vertex_handle Vertex_handle
 
typedef std::list< Halfedge_handleHole_leader_list
 
typedef Hole_leader_list::const_iterator Hole_leader_iterator
 
typedef std::map< Face_handle, Hole_leader_listFace_to_hole_leader_list_map
 
typedef std::list< Face_handleFace_connected_component
 
typedef std::vector< Face_connected_componentFace_connected_component_vector
 
typedef Face_connected_component_vector::const_iterator Face_connected_component_vector_iterator
 

Constructors

 T_Union_of_balls_boundary_3_data_structure (void)
 
template<class InputIterator >
 T_Union_of_balls_boundary_3_data_structure (InputIterator begin, InputIterator end, const FT &alpha=0)
 
 T_Union_of_balls_boundary_3_data_structure (WeightedAlphaComplex3 &Ac)
 

Destructors

 ~T_Union_of_balls_boundary_3_data_structure (void)
 

Accessors

const WeightedAlphaComplex3 & get_alpha_complex (void) const
 
unsigned get_number_of_holes (Face_handle face) const
 
unsigned get_number_of_connected_components_of_faces (void) const
 
const Face_connected_componentget_connected_component_of_faces (unsigned i) const
 
unsigned get_number_of_exterior_connected_components_of_faces (void) const
 
const Face_connected_componentget_exterior_connected_component_of_faces (unsigned i) const
 
unsigned get_number_of_interior_connected_components_of_faces (void) const
 
const Face_connected_componentget_interior_connected_component_of_faces (unsigned i) const
 
unsigned get_number_of_cavities (void) const
 
unsigned get_number_of_connected_components_of_faces_of_cavity (unsigned i) const
 

Modifiers

void set_alpha_complex (WeightedAlphaComplex3 &Ac)
 
template<class InputIterator >
void set_alpha_complex (InputIterator begin, InputIterator end, const FT &alpha=0)
 
Vertex_handle vertices_push_back (const typename WeightedAlphaComplex3::Facet &facet, bool is_degenerated)
 
Halfedge_handle edges_push_back (const typename WeightedAlphaComplex3::Edge &edge, bool is_degenerated)
 
Face_handle faces_push_back (typename WeightedAlphaComplex3::Vertex_handle vertex, bool is_degenerated)
 
void insert_hole (Face_handle face, Halfedge_handle halfedge)
 
void insert_new_connected_component (void)
 
void push_back_face_in_connected_component (Face_handle face)
 
void push_back_exterior_connected_component (unsigned i)
 
void push_back_interior_connected_component (unsigned i)
 
void add_new_cavity (unsigned i)
 
void add_cell_to_cavity_of_ith_cc_of_faces (typename WeightedAlphaComplex3::Cell_handle c, unsigned i)
 
void add_interior_connected_component_to_cavity (unsigned i, unsigned j)
 

Queries

bool is_internal_alpha_complex (void) const
 
bool is_counter_clockwise_oriented (void) const
 
bool is_counter_clockwise_oriented (Halfedge_handle hds_e) const
 
template<class SphericalKernel3 >
SphericalKernel3::Circular_arc_point_3 get_point (Vertex_handle v) const
 
template<class SphericalKernel3 >
SphericalKernel3::Circle_3 get_supporting_circle (Halfedge_handle h) const
 
template<class SphericalKernel3 >
SphericalKernel3::Circular_arc_3 get_circular_arc (Halfedge_handle h) const
 
template<class SphericalKernel3 >
SphericalKernel3::Sphere_3 get_supporting_sphere (Face_handle f) const
 
bool is_connected_component_of_faces_bounding_cavity (unsigned i, int j) const
 
bool is_cell_in_cavity (typename WeightedAlphaComplex3::Cell_handle c, unsigned i) const
 

Traversals

Hole_leader_iterator holes_begin (Face_handle face) const
 
Hole_leader_iterator holes_end (Face_handle face) const
 
Face_connected_component_vector_iterator connected_components_of_faces_begin (void) const
 
Face_connected_component_vector_iterator connected_components_of_faces_end (void) const
 

Detailed Description

template<class WeightedAlphaComplex3, bool IS_CCW = true, class HalfedgeDSBase = CGAL::HalfedgeDS_vector<typename WeightedAlphaComplex3::Geom_traits::Kernel, T_Union_of_balls_boundary_3_items<WeightedAlphaComplex3> >>
class SBL::GT::T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase >

Representation of the boundary of the union of balls.

Representation of the boundary of the union of balls.

Template Parameters
WeightedAlphaComplex3A Model of the 3D Weighted $\alpha$-complex of the CGAL Library.
IS_CCWTag allowing to orientate in CW or CCW the sense of the half-edges.
HalfedgeDSBaseBase data structure for the boundary of union of balls.

Member Typedef Documentation

◆ Base

typedef HalfedgeDSBase Base

◆ Face_connected_component

◆ Face_connected_component_vector

◆ Face_connected_component_vector_iterator

typedef Face_connected_component_vector:: const_iterator Face_connected_component_vector_iterator

◆ Face_handle

typedef Base::Face_handle Face_handle

◆ Face_to_hole_leader_list_map

◆ FT

typedef Geometric_kernel::FT FT

◆ Geometric_kernel

typedef WeightedAlphaComplex3::Geom_traits::Kernel Geometric_kernel

◆ Halfedge_handle

typedef Base::Halfedge_handle Halfedge_handle

◆ Hole_leader_iterator

typedef Hole_leader_list::const_iterator Hole_leader_iterator

◆ Hole_leader_list

typedef std::list<Halfedge_handle> Hole_leader_list

◆ Point_3

typedef Geometric_kernel::Point_3 Point_3

◆ Self

typedef T_Union_of_balls_boundary_3_data_structure<WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase> Self

The class itself.

◆ Vertex_handle

typedef Base::Vertex_handle Vertex_handle

◆ Weighted_alpha_complex_3

typedef WeightedAlphaComplex3 Weighted_alpha_complex_3

$\alpha$-complex representing the input set of 3D balls.

◆ Weighted_point

typedef WeightedAlphaComplex3::Point Weighted_point

Constructor & Destructor Documentation

◆ T_Union_of_balls_boundary_3_data_structure() [1/3]

◆ T_Union_of_balls_boundary_3_data_structure() [2/3]

T_Union_of_balls_boundary_3_data_structure ( InputIterator  begin,
InputIterator  end,
const FT alpha = 0 
)
inline

◆ T_Union_of_balls_boundary_3_data_structure() [3/3]

T_Union_of_balls_boundary_3_data_structure ( WeightedAlphaComplex3 &  Ac)
inline

◆ ~T_Union_of_balls_boundary_3_data_structure()

Member Function Documentation

◆ add_cell_to_cavity_of_ith_cc_of_faces()

void add_cell_to_cavity_of_ith_cc_of_faces ( typename WeightedAlphaComplex3::Cell_handle  c,
unsigned  i 
)
inline

◆ add_interior_connected_component_to_cavity()

void add_interior_connected_component_to_cavity ( unsigned  i,
unsigned  j 
)
inline

◆ add_new_cavity()

void add_new_cavity ( unsigned  i)
inline

◆ connected_components_of_faces_begin()

T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase >::Face_connected_component_vector_iterator connected_components_of_faces_begin ( void  ) const

◆ connected_components_of_faces_end()

T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase >::Face_connected_component_vector_iterator connected_components_of_faces_end ( void  ) const

◆ edges_push_back()

T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase >::Halfedge_handle edges_push_back ( const typename WeightedAlphaComplex3::Edge &  edge,
bool  is_degenerated 
)
inline

◆ faces_push_back()

T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase >::Face_handle faces_push_back ( typename WeightedAlphaComplex3::Vertex_handle  vertex,
bool  is_degenerated 
)
inline

◆ get_alpha_complex()

const WeightedAlphaComplex3 & get_alpha_complex ( void  ) const
inline

◆ get_circular_arc()

SphericalKernel3::Circular_arc_3 get_circular_arc ( Halfedge_handle  h) const
inline

◆ get_connected_component_of_faces()

const T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase >::Face_connected_component & get_connected_component_of_faces ( unsigned  i) const
inline

◆ get_exterior_connected_component_of_faces()

const T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase >::Face_connected_component & get_exterior_connected_component_of_faces ( unsigned  i) const
inline

◆ get_interior_connected_component_of_faces()

const T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase >::Face_connected_component & get_interior_connected_component_of_faces ( unsigned  i) const
inline

◆ get_number_of_cavities()

unsigned get_number_of_cavities ( void  ) const
inline

◆ get_number_of_connected_components_of_faces()

unsigned get_number_of_connected_components_of_faces ( void  ) const
inline

◆ get_number_of_connected_components_of_faces_of_cavity()

unsigned get_number_of_connected_components_of_faces_of_cavity ( unsigned  i) const
inline

◆ get_number_of_exterior_connected_components_of_faces()

unsigned get_number_of_exterior_connected_components_of_faces ( void  ) const
inline

◆ get_number_of_holes()

unsigned get_number_of_holes ( Face_handle  face) const
inline

◆ get_number_of_interior_connected_components_of_faces()

unsigned get_number_of_interior_connected_components_of_faces ( void  ) const
inline

◆ get_point()

SphericalKernel3::Circular_arc_point_3 get_point ( Vertex_handle  v) const
inline

◆ get_supporting_circle()

SphericalKernel3::Circle_3 get_supporting_circle ( Halfedge_handle  h) const
inline

◆ get_supporting_sphere()

SphericalKernel3::Sphere_3 get_supporting_sphere ( Face_handle  f) const
inline

◆ holes_begin()

T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase >::Hole_leader_iterator holes_begin ( Face_handle  face) const

◆ holes_end()

T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase >::Hole_leader_iterator holes_end ( Face_handle  face) const

◆ insert_hole()

void insert_hole ( Face_handle  face,
Halfedge_handle  halfedge 
)
inline

◆ insert_new_connected_component()

void insert_new_connected_component ( void  )
inline

◆ is_cell_in_cavity()

bool is_cell_in_cavity ( typename WeightedAlphaComplex3::Cell_handle  c,
unsigned  i 
) const
inline

◆ is_connected_component_of_faces_bounding_cavity()

bool is_connected_component_of_faces_bounding_cavity ( unsigned  i,
int  j 
) const
inline

◆ is_counter_clockwise_oriented() [1/2]

bool is_counter_clockwise_oriented ( Halfedge_handle  hds_e) const
inline

◆ is_counter_clockwise_oriented() [2/2]

bool is_counter_clockwise_oriented ( void  ) const
inline

◆ is_internal_alpha_complex()

bool is_internal_alpha_complex ( void  ) const
inline

◆ push_back_exterior_connected_component()

void push_back_exterior_connected_component ( unsigned  i)
inline

◆ push_back_face_in_connected_component()

void push_back_face_in_connected_component ( Face_handle  face)
inline

◆ push_back_interior_connected_component()

void push_back_interior_connected_component ( unsigned  i)
inline

◆ set_alpha_complex() [1/2]

void set_alpha_complex ( InputIterator  begin,
InputIterator  end,
const FT alpha = 0 
)
inline

◆ set_alpha_complex() [2/2]

void set_alpha_complex ( WeightedAlphaComplex3 &  Ac)
inline

◆ vertices_push_back()

T_Union_of_balls_boundary_3_data_structure< WeightedAlphaComplex3, IS_CCW, HalfedgeDSBase >::Vertex_handle vertices_push_back ( const typename WeightedAlphaComplex3::Facet &  facet,
bool  is_degenerated 
)
inline