Version 1.174 (29 October 03)

- fixed files for _MSC_VER but not INTEL
This commit is contained in:
Radu Ursu 2003-10-29 15:30:41 +00:00
parent dc6ca87e17
commit 071237f208
3 changed files with 22 additions and 4 deletions

View File

@ -1,3 +1,6 @@
Version 1.174 (29 October 03)
- fixed files for _MSC_VER but not INTEL
Version 1.173 (20 October 03)
- Doc fixes
- New program example_regular.C

View File

@ -36,6 +36,10 @@
#include <CGAL/utility.h>
#if !defined _MSC_VER || defined __INTEL_COMPILER
# define CGAL_T3_USE_ITERATOR_AS_HANDLE
#endif
#include <CGAL/Triangulation_short_names_3.h>
#include <CGAL/triangulation_assertions.h>
#include <CGAL/Triangulation_utils_3.h>
@ -91,10 +95,10 @@ public:
//private: // In 2D only :
typedef Triangulation_ds_face_circulator_3<Tds> Face_circulator;
#ifdef CGAL_T3_USE_ITERATOR_AS_HANDLE
typedef Vertex_iterator Vertex_handle;
typedef Cell_iterator Cell_handle;
/*
#else
// Defining nested classes for the handles instead of typedefs
// considerably shortens the symbol names (and compile times).
// It makes error messages more readable as well.
@ -168,7 +172,7 @@ public:
void * for_compact_container() const { return _c.for_compact_container(); }
void * & for_compact_container() { return _c.for_compact_container(); }
};
*/
#endif
typedef std::pair<Cell_handle, int> Facet;
typedef Triple<Cell_handle, int, int> Edge;
@ -335,7 +339,11 @@ public:
void delete_vertex( const Vertex_handle& v )
{
CGAL_triangulation_expensive_precondition( is_vertex(v) );
#ifdef CGAL_T3_USE_ITERATOR_AS_HANDLE
vertex_container().erase(v);
#else
vertex_container().erase(v.base());
#endif
}
void delete_cell( const Cell_handle& c )
@ -348,8 +356,11 @@ public:
is_edge(c,0,1) );
CGAL_triangulation_expensive_precondition( dimension() != 0 ||
is_vertex(c->vertex(0)) );
#ifdef CGAL_T3_USE_ITERATOR_AS_HANDLE
cell_container().erase(c);
#else
cell_container().erase(c.base());
#endif
}
template <class InputIterator>

View File

@ -236,7 +236,11 @@ public:
Cell_circulator ccir = _tds->incident_cells(edge);
do {
++ccir;
#ifdef CGAL_T3_USE_ITERATOR_AS_HANDLE
} while ( pos < ccir );
#else
} while ( Cell_handle(pos) < Cell_handle(ccir) );
#endif
// loop terminates since it stops at least when ccir = pos
if ( Cell_handle(ccir) == Cell_handle(pos) )
// pos is the cell with minimal pointer