CGAL 6.1.2 - 2D Arrangements: CGAL::Arr_tracing_traits_2< BaseTraits > Class Template Reference

CGAL 6.1.2 - 2D Arrangements

Loading...
Searching...
No Matches
List of all members | Public Types | Public Member Functions
CGAL::Arr_tracing_traits_2< BaseTraits > Class Template Reference
Reference Manual » Geometry Traits Classes

`#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

  id | the 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

  id | the operation identifier