CGAL 5.1 - 2D and 3D Linear Geometry Kernel
Enumerations and Related Functions

## Typedefs

typedef Sign CGAL::Orientation

## Enumerations

enum  CGAL::Angle { CGAL::OBTUSE, CGAL::RIGHT, CGAL::ACUTE }

enum  CGAL::Bounded_side { CGAL::ON_UNBOUNDED_SIDE, CGAL::ON_BOUNDARY, CGAL::ON_BOUNDED_SIDE }

enum  CGAL::Comparison_result { CGAL::SMALLER, CGAL::EQUAL, CGAL::LARGER }

enum  CGAL::Sign { CGAL::NEGATIVE, CGAL::ZERO, CGAL::POSITIVE }

enum  CGAL::Oriented_side { CGAL::ON_NEGATIVE_SIDE, CGAL::ON_ORIENTED_BOUNDARY, CGAL::ON_POSITIVE_SIDE }

enum  CGAL::Box_parameter_space_2 {
CGAL::LEFT_BOUNDARY = 0, CGAL::RIGHT_BOUNDARY, CGAL::BOTTOM_BOUNDARY, CGAL::TOP_BOUNDARY,
CGAL::INTERIOR, CGAL::EXTERIOR
}

## Functions

template<typename T , typename U >
CGAL::enum_cast (const U &u)
converts between the various enums provided by the CGAL kernel. More...

Oriented_side CGAL::opposite (const Oriented_side &o)
returns the opposite side (for example CGAL::ON_POSITIVE_SIDE if o==CGAL::ON_NEGATIVE_SIDE), or CGAL::ON_ORIENTED_BOUNDARY if o==CGAL::ON_ORIENTED_BOUNDARY.

Bounded_side CGAL::opposite (const Bounded_side &o)
returns the opposite side (for example CGAL::ON_BOUNDED_SIDE if o==CGAL::ON_UNBOUNDED_SIDE), or returns CGAL::ON_BOUNDARY if o==CGAL::ON_BOUNDARY.

## Variables

const CGAL::Orientation CGAL::CLOCKWISE = NEGATIVE

const CGAL::Orientation CGAL::COUNTERCLOCKWISE = POSITIVE

const CGAL::Orientation CGAL::COLLINEAR = ZERO

const CGAL::Orientation CGAL::LEFT_TURN = POSITIVE

const CGAL::Orientation CGAL::RIGHT_TURN = NEGATIVE

const CGAL::Orientation CGAL::COPLANAR = ZERO

const CGAL::Orientation CGAL::DEGENERATE = ZERO

const CGAL::Null_vector CGAL::NULL_VECTOR
A symbolic constant used to construct zero length vectors. More...

const CGAL::Origin CGAL::ORIGIN
A symbolic constant which denotes the point at the origin. More...

## ◆ Orientation

 typedef Sign CGAL::Orientation

#include <CGAL/enum.h>

CGAL::LEFT_TURN
CGAL::RIGHT_TURN
CGAL::COLLINEAR
CGAL::CLOCKWISE
CGAL::COUNTERCLOCKWISE
CGAL::COPLANAR
Examples:
Filtered_kernel/Filtered_predicate.cpp.

## ◆ Angle

 enum CGAL::Angle

#include <CGAL/enum.h>

CGAL::angle()
Enumerator
OBTUSE
RIGHT
ACUTE

## ◆ Bounded_side

 enum CGAL::Bounded_side

#include <CGAL/enum.h>

CGAL::opposite(const Bounded_side& o)
Enumerator
ON_UNBOUNDED_SIDE
ON_BOUNDARY
ON_BOUNDED_SIDE

## ◆ Box_parameter_space_2

#include <CGAL/enum.h>

Enumerator
LEFT_BOUNDARY
RIGHT_BOUNDARY
BOTTOM_BOUNDARY
TOP_BOUNDARY
INTERIOR
EXTERIOR

## ◆ Comparison_result

#include <CGAL/enum.h>

Enumerator
SMALLER
EQUAL
LARGER

## ◆ Oriented_side

 enum CGAL::Oriented_side

#include <CGAL/enum.h>

Enumerator
ON_NEGATIVE_SIDE
ON_ORIENTED_BOUNDARY
ON_POSITIVE_SIDE

## ◆ Sign

 enum CGAL::Sign

#include <CGAL/enum.h>

CGAL::Orientation
Enumerator
NEGATIVE
ZERO
POSITIVE

## ◆ enum_cast()

template<typename T , typename U >
 T CGAL::enum_cast ( const U & u )

#include <CGAL/enum.h>

converts between the various enums provided by the CGAL kernel.

The conversion preserves the order of the values.

CGAL::Sign
CGAL::Comparison_result
CGAL::Orientation
CGAL::Oriented_side
CGAL::Bounded_side
CGAL::Angle
CGAL::Uncertain<T>

## ◆ CLOCKWISE

 const CGAL::Orientation CGAL::CLOCKWISE = NEGATIVE

#include <CGAL/enum.h>

CGAL::COUNTERCLOCKWISE

## ◆ COLLINEAR

 const CGAL::Orientation CGAL::COLLINEAR = ZERO

#include <CGAL/enum.h>

CGAL::LEFT_TURN
CGAL::RIGHT_TURN
Examples:
Kernel_23/points_and_segment.cpp.

## ◆ COUNTERCLOCKWISE

 const CGAL::Orientation CGAL::COUNTERCLOCKWISE = POSITIVE

#include <CGAL/enum.h>

CGAL::CLOCKWISE

## ◆ LEFT_TURN

 const CGAL::Orientation CGAL::LEFT_TURN = POSITIVE

#include <CGAL/enum.h>

CGAL::COLLINEAR
CGAL::RIGHT_TURN
Examples:
Kernel_23/points_and_segment.cpp.

## ◆ NULL_VECTOR

 const CGAL::Null_vector CGAL::NULL_VECTOR

#include <CGAL/enum.h>

A symbolic constant used to construct zero length vectors.

CGAL::Vector_2<Kernel>
CGAL::Vector_3<Kernel>

## ◆ ORIGIN

 const Origin CGAL::ORIGIN

#include <CGAL/enum.h>

A symbolic constant which denotes the point at the origin.

This constant is used in the conversion between points and vectors.

Example

Point_2< Cartesian<Exact_NT> > p(1.0, 1.0), q;
Vector2< Cartesian<Exact_NT> > v;
v = p - ORIGIN;
q = ORIGIN + v;
assert( p == q );
CGAL::Point_2<Kernel>
CGAL::Point_3<Kernel>

## ◆ RIGHT_TURN

 const CGAL::Orientation CGAL::RIGHT_TURN = NEGATIVE

#include <CGAL/enum.h>

CGAL::COLLINEAR
CGAL::LEFT_TURN