CGAL 6.1 - 2D Arrangements
Loading...
Searching...
No Matches
CGAL::Arr_tracing_traits_2< BaseTraits > Class Template Reference

#include <CGAL/Arr_tracing_traits_2.h>

Inherits from

BaseTraits.

Definition

template<typename BaseTraits>
class CGAL::Arr_tracing_traits_2< BaseTraits >

A metadata traits-class decorator for the arrangement package.

It traces the invocations of traits-class functors. It is parameterized with another traits class and inherits from it. For each traits method it prints out its input parameters and its output result

It models all the concepts that the original traits models.

Examples
Arrangement_on_surface_2/count_and_trace.cpp.

Public Types

enum  Operation_id {
  COMPARE_X_2_OP = 0 , COMPARE_XY_2_OP , CONSTRUCT_MIN_VERTEX_2_OP , CONSTRUCT_MAX_VERTEX_2_OP ,
  IS_VERTICAL_2_OP , COMPARE_Y_AT_X_2_OP , EQUAL_POINTS_2_OP , EQUAL_CURVES_2_OP ,
  COMPARE_Y_AT_X_LEFT_2_OP , COMPARE_Y_AT_X_RIGHT_2_OP , MAKE_X_MONOTONE_2_OP , SPLIT_2_OP ,
  INTERSECT_2_OP , ARE_MERGEABLE_2_OP , MERGE_2_OP , CONSTRUCT_2_OPPOSITE_2_OP ,
  COMPARE_ENDPOINTS_XY_2_OP , APPROXIMATE_2_OP , PARAMETER_SPACE_IN_X_2_OP , IS_ON_X_IDENTIFICATION_2_OP ,
  COMPARE_Y_ON_BOUNDARY_2_OP , COMPARE_Y_NEAR_BOUNDARY_2_OP , PARAMETER_SPACE_IN_Y_2_OP , IS_ON_Y_IDENTIFICATION_2_OP ,
  COMPARE_X_ON_BOUNDARY_2_OP , COMPARE_X_NEAR_BOUNDARY_2_OP , NUMBER_OF_OPERATIONS
}
 

Public Member Functions

void enable_trace (Operation_id id)
 enables the trace of a traits operation
 
void enable_all_traces ()
 enables the trace of all traits operations
 
void disable_trace (Operation_id id)
 disables the trace of a traits operation
 
void disable_all_traces ()
 disables the trace of all traits operations
 

Types and functors inherited from <tt>BaseTraits</tt>

using Has_left_category = typename Base::Has_left_category
 
using Has_merge_category = typename Base::Has_merge_category
 
using Has_do_intersect_category = typename Base::Has_do_intersect_category
 
using Left_side_category = typename internal::Arr_complete_left_side_category< Base >::Category
 
using Bottom_side_category = typename internal::Arr_complete_bottom_side_category< Base >::Category
 
using Top_side_category = typename internal::Arr_complete_top_side_category< Base >::Category
 
using Right_side_category = typename internal::Arr_complete_right_side_category< Base >::Category
 
using Point_2 = typename Base::Point_2
 
using X_monotone_curve_2 = typename Base::X_monotone_curve_2
 
using Curve_2 = typename Base::Curve_2
 
using Multiplicity = typename Base::Multiplicity
 

Creation

template<typename ... Args>
 Arr_tracing_traits_2 (Args ... args)
 constructs default
 
 Arr_tracing_traits_2 (const Arr_tracing_traits_2 &)=delete
 disables copy constructor.
 

Obtain the appropriate functor

Compare_x_2 compare_x_2_object () const
 
Compare_xy_2 compare_xy_2_object () const
 
Construct_min_vertex_2 construct_min_vertex_2_object () const
 
Construct_max_vertex_2 construct_max_vertex_2_object () const
 
Is_vertical_2 is_vertical_2_object () const
 
Compare_y_at_x_2 compare_y_at_x_2_object () const
 
Equal_2 equal_2_object () const
 
Compare_y_at_x_left_2 compare_y_at_x_left_2_object () const
 
Compare_y_at_x_right_2 compare_y_at_x_right_2_object () const
 
Make_x_monotone_2 make_x_monotone_2_object () const
 
Split_2 split_2_object () const
 
Intersect_2 intersect_2_object () const
 
Are_mergeable_2 are_mergeable_2_object () const
 
Merge_2 merge_2_object () const
 
Construct_opposite_2 construct_opposite_2_object () const
 
Compare_endpoints_xy_2 compare_endpoints_xy_2_object () const
 
Approximate_2 approximate_2_object () const
 
Parameter_space_in_x_2 parameter_space_in_x_2_object () const
 
Is_on_x_identification_2 is_on_x_identification_2_object () const
 
Compare_y_on_boundary_2 compare_y_on_boundary_2_object () const
 
Compare_y_near_boundary_2 compare_y_near_boundary_2_object () const
 
Parameter_space_in_y_2 parameter_space_in_y_2_object () const
 
Is_on_y_identification_2 is_on_y_identification_2_object () const
 
Compare_x_on_boundary_2 compare_x_on_boundary_2_object () const
 
Compare_x_near_boundary_2 compare_x_near_boundary_2_object () const
 

Member Enumeration Documentation

◆ Operation_id

template<typename BaseTraits >
enum CGAL::Arr_tracing_traits_2::Operation_id
Enumerator
COMPARE_X_2_OP 
COMPARE_XY_2_OP 
CONSTRUCT_MIN_VERTEX_2_OP 
CONSTRUCT_MAX_VERTEX_2_OP 
IS_VERTICAL_2_OP 
COMPARE_Y_AT_X_2_OP 
EQUAL_POINTS_2_OP 
EQUAL_CURVES_2_OP 
COMPARE_Y_AT_X_LEFT_2_OP 
COMPARE_Y_AT_X_RIGHT_2_OP 
MAKE_X_MONOTONE_2_OP 
SPLIT_2_OP 
INTERSECT_2_OP 
ARE_MERGEABLE_2_OP 
MERGE_2_OP 
CONSTRUCT_2_OPPOSITE_2_OP 
COMPARE_ENDPOINTS_XY_2_OP 
APPROXIMATE_2_OP 
PARAMETER_SPACE_IN_X_2_OP 
IS_ON_X_IDENTIFICATION_2_OP 
COMPARE_Y_ON_BOUNDARY_2_OP 
COMPARE_Y_NEAR_BOUNDARY_2_OP 
PARAMETER_SPACE_IN_Y_2_OP 
IS_ON_Y_IDENTIFICATION_2_OP 
COMPARE_X_ON_BOUNDARY_2_OP 
COMPARE_X_NEAR_BOUNDARY_2_OP 
NUMBER_OF_OPERATIONS 

Member Function Documentation

◆ disable_trace()

template<typename BaseTraits >
void CGAL::Arr_tracing_traits_2< BaseTraits >::disable_trace ( Operation_id  id)

disables the trace of a traits operation

Parameters
idthe operation identifier

◆ enable_trace()

template<typename BaseTraits >
void CGAL::Arr_tracing_traits_2< BaseTraits >::enable_trace ( Operation_id  id)

enables the trace of a traits operation

Parameters
idthe operation identifier