CGAL 5.3.1 - 2D Periodic Triangulations
CGAL::Periodic_2_triangulation_face_base_2< Gt, Fb > Class Template Reference

#include <CGAL/Periodic_2_triangulation_face_base_2.h>


template<typename Gt, typename Fb = Triangulation_face_base_2<Gt>>
class CGAL::Periodic_2_triangulation_face_base_2< Gt, Fb >

The class Periodic_2_triangulation_face_base_2 is a model of the concept Periodic_2TriangulationFaceBase_2 to be used by Triangulation_data_structure_2 to represent faces of a periodic triangulation.

The first one Traits is the geometric traits, it is to be instantiated by a model of the concept Periodic_2TriangulationTraits_2. The second argument is the base class to which the additional information for the periodic vertex is added and should be a model of TriangulationDSFaceBase_2

As faces cannot span more than one domain per direction of space in a periodic Delaunay triangulation, it is enough to store offsets in the range \( \{0,1\}^2\). For optimization purposes we encode all three offsets in one integer. Each offset needs two bits (for the offset in the \( x\)- and \( y\)-direction). If we number the bits from least significant to most significant then bits \( 2*i\) and \( 2*i+1\) contain the offset corresponding to vertex \( i\).

The implementation of has_zero_offsets() results in checking whether all offsets are zero.

Is Model Of:
See also
Periodic_2_triangulation_2/p2t2_adding_handles.cpp, Periodic_2_triangulation_2/p2t2_colored_vertices.cpp, Periodic_2_triangulation_2/p2t2_info_insert_with_pair_iterator_2.cpp, Periodic_2_triangulation_2/p2t2_info_insert_with_transform_iterator_2.cpp, and Periodic_2_triangulation_2/p2t2_info_insert_with_zip_iterator_2.cpp.