CGAL 6.0.1 - 2D and 3D Linear Geometry Kernel
Loading...
Searching...
No Matches
CGAL::Dimension_tag< dim > Struct Template Reference

#include <CGAL/Dimension.h>

Definition

template<typename int dim>
struct CGAL::Dimension_tag< dim >

An object of the class Dimension_tag is an empty object which can be used for dispatching functions based on the dimension of an object, as provided by the dim parameter.

It is useful in cases where it is not more practical to pass the dimension as a template parameter directly.

Example

The following code declares two functions constructing two points at the origin, either in 2D or in 3D.

Point_2<K> get_origin(Dimension_tag<2>) { return Point_2<K>(ORIGIN); }
Point_3<K> get_origin(Dimension_tag<3>) { return Point_3<K>(ORIGIN); }
std::cout << get_origin(Dimension_tag<2>())) << std::endl;
An object p of the class Point_2 is a point in the two-dimensional Euclidean plane .
Definition: Point_2.h:37
An object of the class Point_3 is a point in the three-dimensional Euclidean space .
Definition: Point_3.h:23
const CGAL::Origin ORIGIN
A symbolic constant which denotes the point at the origin.
Definition: enum.h:169
An object of the class Dimension_tag is an empty object which can be used for dispatching functions b...
Definition: Dimension.h:86
See also
CGAL::Ambient_dimension<T, K>
CGAL::Feature_dimension<T, K>
CGAL::Dynamic_dimension_tag

Constants

static const int value
 The value of the dim parameter.