Added Cartesian_coordinate_const_iterator:x

This commit is contained in:
Andreas Fabri 2003-07-22 14:48:44 +00:00
parent 85273fb9db
commit f66a5cd9bb
13 changed files with 206 additions and 2 deletions

View File

@ -102,6 +102,8 @@ especially for equality testing.
%%\ccGlue
%%\ccNestedType{Construct_max_point_2}{}
\ccGlue
\ccNestedType{Construct_cartesian_const_iterator_2}{a model of Kernel::ConstructCartesianConstIterator\_2}
\ccGlue
\ccNestedType{Construct_vertex_2}{a model of Kernel::ConstructVertex\_2}
\ccGlue
\ccNestedType{Construct_bbox_2}{a model of Kernel::ConstructBbox\_2}
@ -328,6 +330,8 @@ If the result type is a number type, the prefix is \ccc{Compute_}:
%%\ccGlue
%%\ccNestedType{Construct_max_point_3}{}
\ccGlue
\ccNestedType{Construct_cartesian_const_iterator_3}{a model of Kernel::ConstructCartesianConstIterator\_3}
\ccGlue
\ccNestedType{Construct_vertex_3}{a model of Kernel::ConstructVertex\_3}
\ccGlue
\ccNestedType{Construct_bbox_3}{a model of Kernel::ConstructBbox\_3}

View File

@ -0,0 +1,21 @@
\begin{ccRefFunctionObjectConcept}{Kernel::ConstructCartesianCoordinateConstIterator_2}
A model for this must provide:
\ccCreationVariable{fo}
\ccMemberFunction{Kernel::Cartesian_coordinate_const_iterator_2 operator()(const Kernel::Point_2
&p);} {returns an iterator on the 0'th Cartesian coordinate of \ccc{p}.}
\ccMemberFunction{Kernel::Cartesian_coordinate_const_iterator_2 operator()(const Kernel::Point_2
&p, int);} {returns the past the end iterator of the Cartesian coordinates of \ccc{p}.}
\ccRefines
AdaptableFunctor (with one argument)
\end{ccRefFunctionObjectConcept}

View File

@ -0,0 +1,21 @@
\begin{ccRefFunctionObjectConcept}{Kernel::ConstructCartesianCoordinateConstIterator_3}
A model for this must provide:
\ccCreationVariable{fo}
\ccMemberFunction{Kernel::Cartesian_coordinate_const_iterator_3 operator()(const Kernel::Point_3
&p);} {returns an iterator on the 0'th Cartesian coordinate of \ccc{p}.}
\ccMemberFunction{Kernel::Cartesian_coordinate_const_iterator_3 operator()(const Kernel::Point_3
&p, int);} {returns the past the end iterator of the Cartesian coordinates of \ccc{p}.}
\ccRefines
AdaptableFunctor (with one argument)
\end{ccRefFunctionObjectConcept}

View File

@ -253,6 +253,8 @@ in the kernel.
\input{Ref/Kernel_ConstructBbox_2.tex}
\input{Ref/Kernel_ConstructBbox_3.tex}
\input{Ref/Kernel_ConstructBisector_2.tex}
\input{Ref/Kernel_ConstructCartesianCoordinateConstIterator_2.tex}
\input{Ref/Kernel_ConstructCartesianCoordinateConstIterator_3.tex}
\input{Ref/Kernel_ConstructCenter_2.tex}
\input{Ref/Kernel_ConstructCenter_3.tex}
\input{Ref/Kernel_ConstructCentroid_2.tex}

View File

@ -28,6 +28,7 @@
#include <CGAL/Origin.h>
#include <CGAL/Bbox_2.h>
#include <CGAL/Bbox_3.h>
#include <CGAL/Kernel/Cartesian_coordinate_iterator_2.h>
// see kernel functors for original version
// all deprecated stuff was removed ...
@ -2094,6 +2095,53 @@ public:
{ Bbox_3 b; return b; }
};
template <typename K>
class Construct_cartesian_coordinate_const_iterator_2
{
typedef typename K::Point_2 Point_2;
typedef typename K::Cartesian_coordinate_const_iterator_2
Cartesian_coordinate_const_iterator_2;
public:
typedef Cartesian_coordinate_const_iterator_2 result_type;
typedef Arity_tag< 1 > Arity;
Cartesian_coordinate_const_iterator_2
operator()( const Point_2& p) const
{
return Cartesian_coordinate_const_iterator_2();
}
Cartesian_coordinate_const_iterator_2
operator()( const Point_2& p, int) const
{
return Cartesian_coordinate_const_iterator_2();
}
};
template <typename K>
class Construct_cartesian_coordinate_const_iterator_3
{
typedef typename K::Point_3 Point_3;
typedef typename K::Cartesian_coordinate_const_iterator_3
Cartesian_coordinate_const_iterator_3;
public:
typedef Cartesian_coordinate_const_iterator_3 result_type;
typedef Arity_tag< 1 > Arity;
Cartesian_coordinate_const_iterator_3
operator()( const Point_3& p) const
{
return Cartesian_coordinate_const_iterator_3();
}
Cartesian_coordinate_const_iterator_3
operator()( const Point_3& p, int) const
{
return Cartesian_coordinate_const_iterator_3();
}
};
template <typename K>
class Coplanar_orientation_3

View File

@ -662,6 +662,18 @@ CGAL_Kernel_cons(Construct_bbox_3,
construct_bbox_3_object)
#endif
#if !defined(CGAL_CA_LIMITED_INTERFACE) || \
defined(CGAL_CA_CONSTRUCT_CARTESIAN_COORDINATE_ITERATOR_2)
CGAL_Kernel_cons(Construct_cartesian_coordinate_const_iterator_2,
construct_cartesian_coordinate_const_iterator_2_object)
#endif
#if !defined(CGAL_CA_LIMITED_INTERFACE) || \
defined(CGAL_CA_CONSTRUCT_CARTESIAN_COORDINATE_ITERATOR_3)
CGAL_Kernel_cons(Construct_cartesian_coordinate_const_iterator_3,
construct_cartesian_coordinate_const_iterator_3_object)
#endif
#if !defined(CGAL_CA_LIMITED_INTERFACE) || \
defined(CGAL_CA_COPLANAR_ORIENTATION_3)
CGAL_Kernel_pred(Coplanar_orientation_3,

View File

@ -25,6 +25,8 @@
#include <CGAL/Origin.h>
#include <CGAL/Bbox_2.h>
#include <CGAL/Bbox_3.h>
#include <CGAL/Kernel/Cartesian_coordinate_iterator_2.h>
#include <CGAL/Kernel/Cartesian_coordinate_iterator_3.h>
CGAL_BEGIN_NAMESPACE
@ -1357,6 +1359,53 @@ namespace CommonKernelFunctors {
{ return s.bbox(); }
};
template <typename K>
class Construct_cartesian_coordinate_const_iterator_2
{
typedef typename K::Point_2 Point_2;
typedef typename K::Cartesian_coordinate_const_iterator_2
Cartesian_coordinate_const_iterator_2;
public:
typedef Cartesian_coordinate_const_iterator_2 result_type;
typedef Arity_tag< 1 > Arity;
Cartesian_coordinate_const_iterator_2
operator()( const Point_2& p) const
{
return p.cartesian_begin();
}
Cartesian_coordinate_const_iterator_2
operator()( const Point_2& p, int) const
{
return p.cartesian_end();
}
};
template <typename K>
class Construct_cartesian_coordinate_const_iterator_3
{
typedef typename K::Point_3 Point_3;
typedef typename K::Cartesian_coordinate_const_iterator_3
Cartesian_coordinate_const_iterator_3;
public:
typedef Cartesian_coordinate_const_iterator_3 result_type;
typedef Arity_tag< 1 > Arity;
Cartesian_coordinate_const_iterator_3
operator()( const Point_3& p) const
{
return p.cartesian_begin();
}
Cartesian_coordinate_const_iterator_3
operator()( const Point_3& p, int) const
{
return p.cartesian_end();
}
};
template <typename K>
class Counterclockwise_in_between_2
{

View File

@ -247,6 +247,10 @@ CGAL_Kernel_cons(Construct_bbox_2,
construct_bbox_2_object)
CGAL_Kernel_cons(Construct_bbox_3,
construct_bbox_3_object)
CGAL_Kernel_cons(Construct_cartesian_coordinate_const_iterator_2,
construct_cartesian_coordinate_const_iterator_2_object)
CGAL_Kernel_cons(Construct_cartesian_coordinate_const_iterator_3,
construct_cartesian_coordinate_const_iterator_3_object)
CGAL_Kernel_pred(Coplanar_orientation_3,
coplanar_orientation_3_object)
CGAL_Kernel_pred(Coplanar_side_of_bounded_circle_3,

View File

@ -137,7 +137,19 @@ public:
#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_OBJECT_3)
typedef CGAL::Object Object_3;
#endif
#if !defined(CGAL_CA_LIMITED_INTERFACE) || \
defined(CGAL_CA_CARTESIAN_COORDINATE_CONST_ITERATOR_2)
typedef Cartesian_coordinate_const_iterator_2_archetype
Cartesian_coordinate_const_iterator_2;
#endif
#if !defined(CGAL_CA_LIMITED_INTERFACE) || \
defined(CGAL_CA_CARTESIAN_COORDINATE_CONST_ITERATOR_3)
typedef Cartesian_coordinate_const_iterator_3_archetype
Cartesian_coordinate_const_iterator_3;
#endif
// functors and access functions ...
// predicate ...

View File

@ -37,8 +37,6 @@ T(const T1&,const T2&,const T3&,const T4&,const T5&) { }
CGAL_BEGIN_NAMESPACE
struct Point_2_archetype {
Point_2_archetype() { }
Point_2_archetype(const Point_2_archetype& t) { }
@ -231,6 +229,13 @@ inline bool operator!=(const Iso_rectangle_2_archetype& obj1,
{ return true; }
#endif
struct Cartesian_coordinate_const_iterator_2_archetype {
Cartesian_coordinate_const_iterator_2_archetype() { }
Cartesian_coordinate_const_iterator_2_archetype&
operator=(const Cartesian_coordinate_const_iterator_2_archetype&)
{ return *this; }
};
CGAL_END_NAMESPACE
#undef CGAL_concept_archetype_constructors

View File

@ -273,6 +273,13 @@ inline bool operator!=(const Tetrahedron_3_archetype& obj1,
{ return true; }
#endif
struct Cartesian_coordinate_const_iterator_3_archetype {
Cartesian_coordinate_const_iterator_3_archetype() { }
Cartesian_coordinate_const_iterator_3_archetype&
operator=(const Cartesian_coordinate_const_iterator_3_archetype&)
{ return *this; }
};
CGAL_END_NAMESPACE
#undef CGAL_concept_archetype_constructors

View File

@ -246,6 +246,15 @@ test_new_2(const R& rep)
Bbox_2 bb4 = construct_bbox_2(c1); // Circle_2
Bbox_2 bb5 = construct_bbox_2(rec2); // Iso_rectangle_2
typename R::Construct_cartesian_coordinate_const_iterator_2
construct_cartesian_coordinate_const_iterator_2
= rep.construct_cartesian_coordinate_const_iterator_2_object();
typename R::Cartesian_coordinate_const_iterator_2 cccit;
cccit = construct_cartesian_coordinate_const_iterator_2(p1);
cccit = construct_cartesian_coordinate_const_iterator_2(p1,0);
#ifndef CGAL_NO_DEPRECATED_CODE
typename R::Construct_direction_of_line_2 construct_direction_from
= rep.construct_direction_of_line_2_object();

View File

@ -267,6 +267,16 @@ test_new_3(const R& rep)
Bbox_3 bb5 = construct_bbox_3(sp1); // Sphere_3
Bbox_3 bb6 = construct_bbox_3(iso1); // Iso_cuboid_3
typename R::Construct_cartesian_coordinate_const_iterator_3
construct_cartesian_coordinate_const_iterator_3
= rep.construct_cartesian_coordinate_const_iterator_3_object();
typename R::Cartesian_coordinate_const_iterator_3 cccit;
cccit = construct_cartesian_coordinate_const_iterator_3(p1);
cccit = construct_cartesian_coordinate_const_iterator_3(p1,0);
#ifndef CGAL_NO_DEPRECATED_CODE
typename R::Construct_direction_of_line_3 construct_direction_from
= rep.construct_direction_of_line_3_object();