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 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 Typedef Documentation

◆ Bottom_side_category

template<typename BaseTraits >
using CGAL::Arr_tracing_traits_2< BaseTraits >::Bottom_side_category = typename internal::Arr_complete_bottom_side_category< Base >::Category

◆ Curve_2

template<typename BaseTraits >
using CGAL::Arr_tracing_traits_2< BaseTraits >::Curve_2 = typename Base::Curve_2

◆ Has_do_intersect_category

template<typename BaseTraits >
using CGAL::Arr_tracing_traits_2< BaseTraits >::Has_do_intersect_category = typename Base::Has_do_intersect_category

◆ Has_left_category

template<typename BaseTraits >
using CGAL::Arr_tracing_traits_2< BaseTraits >::Has_left_category = typename Base::Has_left_category

◆ Has_merge_category

template<typename BaseTraits >
using CGAL::Arr_tracing_traits_2< BaseTraits >::Has_merge_category = typename Base::Has_merge_category

◆ Left_side_category

template<typename BaseTraits >
using CGAL::Arr_tracing_traits_2< BaseTraits >::Left_side_category = typename internal::Arr_complete_left_side_category< Base >::Category

◆ Multiplicity

template<typename BaseTraits >
using CGAL::Arr_tracing_traits_2< BaseTraits >::Multiplicity = typename Base::Multiplicity

◆ Point_2

template<typename BaseTraits >
using CGAL::Arr_tracing_traits_2< BaseTraits >::Point_2 = typename Base::Point_2

◆ Right_side_category

template<typename BaseTraits >
using CGAL::Arr_tracing_traits_2< BaseTraits >::Right_side_category = typename internal::Arr_complete_right_side_category< Base >::Category

◆ Top_side_category

template<typename BaseTraits >
using CGAL::Arr_tracing_traits_2< BaseTraits >::Top_side_category = typename internal::Arr_complete_top_side_category< Base >::Category

◆ X_monotone_curve_2

template<typename BaseTraits >
using CGAL::Arr_tracing_traits_2< BaseTraits >::X_monotone_curve_2 = typename Base::X_monotone_curve_2

Member Enumeration Documentation

◆ 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 

Constructor & Destructor Documentation

◆ Arr_tracing_traits_2() [1/2]

template<typename BaseTraits >
template<typename ... Args>
CGAL::Arr_tracing_traits_2< BaseTraits >::Arr_tracing_traits_2 ( Args ...  args)

constructs default

◆ Arr_tracing_traits_2() [2/2]

template<typename BaseTraits >
CGAL::Arr_tracing_traits_2< BaseTraits >::Arr_tracing_traits_2 ( const Arr_tracing_traits_2< BaseTraits > &  )
delete

disables copy constructor.

Member Function Documentation

◆ approximate_2_object()

template<typename BaseTraits >
Approximate_2 CGAL::Arr_tracing_traits_2< BaseTraits >::approximate_2_object ( ) const

◆ are_mergeable_2_object()

template<typename BaseTraits >
Are_mergeable_2 CGAL::Arr_tracing_traits_2< BaseTraits >::are_mergeable_2_object ( ) const

◆ compare_endpoints_xy_2_object()

template<typename BaseTraits >
Compare_endpoints_xy_2 CGAL::Arr_tracing_traits_2< BaseTraits >::compare_endpoints_xy_2_object ( ) const

◆ compare_x_2_object()

template<typename BaseTraits >
Compare_x_2 CGAL::Arr_tracing_traits_2< BaseTraits >::compare_x_2_object ( ) const

◆ compare_x_near_boundary_2_object()

template<typename BaseTraits >
Compare_x_near_boundary_2 CGAL::Arr_tracing_traits_2< BaseTraits >::compare_x_near_boundary_2_object ( ) const

◆ compare_x_on_boundary_2_object()

template<typename BaseTraits >
Compare_x_on_boundary_2 CGAL::Arr_tracing_traits_2< BaseTraits >::compare_x_on_boundary_2_object ( ) const

◆ compare_xy_2_object()

template<typename BaseTraits >
Compare_xy_2 CGAL::Arr_tracing_traits_2< BaseTraits >::compare_xy_2_object ( ) const

◆ compare_y_at_x_2_object()

template<typename BaseTraits >
Compare_y_at_x_2 CGAL::Arr_tracing_traits_2< BaseTraits >::compare_y_at_x_2_object ( ) const

◆ compare_y_at_x_left_2_object()

template<typename BaseTraits >
Compare_y_at_x_left_2 CGAL::Arr_tracing_traits_2< BaseTraits >::compare_y_at_x_left_2_object ( ) const

◆ compare_y_at_x_right_2_object()

template<typename BaseTraits >
Compare_y_at_x_right_2 CGAL::Arr_tracing_traits_2< BaseTraits >::compare_y_at_x_right_2_object ( ) const

◆ compare_y_near_boundary_2_object()

template<typename BaseTraits >
Compare_y_near_boundary_2 CGAL::Arr_tracing_traits_2< BaseTraits >::compare_y_near_boundary_2_object ( ) const

◆ compare_y_on_boundary_2_object()

template<typename BaseTraits >
Compare_y_on_boundary_2 CGAL::Arr_tracing_traits_2< BaseTraits >::compare_y_on_boundary_2_object ( ) const

◆ construct_max_vertex_2_object()

template<typename BaseTraits >
Construct_max_vertex_2 CGAL::Arr_tracing_traits_2< BaseTraits >::construct_max_vertex_2_object ( ) const

◆ construct_min_vertex_2_object()

template<typename BaseTraits >
Construct_min_vertex_2 CGAL::Arr_tracing_traits_2< BaseTraits >::construct_min_vertex_2_object ( ) const

◆ construct_opposite_2_object()

template<typename BaseTraits >
Construct_opposite_2 CGAL::Arr_tracing_traits_2< BaseTraits >::construct_opposite_2_object ( ) const

◆ disable_all_traces()

template<typename BaseTraits >
void CGAL::Arr_tracing_traits_2< BaseTraits >::disable_all_traces ( )

disables the trace of all traits operations

◆ 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_all_traces()

template<typename BaseTraits >
void CGAL::Arr_tracing_traits_2< BaseTraits >::enable_all_traces ( )

enables the trace of all traits operations

◆ 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

◆ equal_2_object()

template<typename BaseTraits >
Equal_2 CGAL::Arr_tracing_traits_2< BaseTraits >::equal_2_object ( ) const

◆ intersect_2_object()

template<typename BaseTraits >
Intersect_2 CGAL::Arr_tracing_traits_2< BaseTraits >::intersect_2_object ( ) const

◆ is_on_x_identification_2_object()

template<typename BaseTraits >
Is_on_x_identification_2 CGAL::Arr_tracing_traits_2< BaseTraits >::is_on_x_identification_2_object ( ) const

◆ is_on_y_identification_2_object()

template<typename BaseTraits >
Is_on_y_identification_2 CGAL::Arr_tracing_traits_2< BaseTraits >::is_on_y_identification_2_object ( ) const

◆ is_vertical_2_object()

template<typename BaseTraits >
Is_vertical_2 CGAL::Arr_tracing_traits_2< BaseTraits >::is_vertical_2_object ( ) const

◆ make_x_monotone_2_object()

template<typename BaseTraits >
Make_x_monotone_2 CGAL::Arr_tracing_traits_2< BaseTraits >::make_x_monotone_2_object ( ) const

◆ merge_2_object()

template<typename BaseTraits >
Merge_2 CGAL::Arr_tracing_traits_2< BaseTraits >::merge_2_object ( ) const

◆ parameter_space_in_x_2_object()

template<typename BaseTraits >
Parameter_space_in_x_2 CGAL::Arr_tracing_traits_2< BaseTraits >::parameter_space_in_x_2_object ( ) const

◆ parameter_space_in_y_2_object()

template<typename BaseTraits >
Parameter_space_in_y_2 CGAL::Arr_tracing_traits_2< BaseTraits >::parameter_space_in_y_2_object ( ) const

◆ split_2_object()

template<typename BaseTraits >
Split_2 CGAL::Arr_tracing_traits_2< BaseTraits >::split_2_object ( ) const