]> Creatis software - cpMesh.git/blobdiff - lib/cpm/DataStructures/QuadEdgeIterators.h
QuadEdgeMesh ported to cpPlugins/Extensions
[cpMesh.git] / lib / cpm / DataStructures / QuadEdgeIterators.h
diff --git a/lib/cpm/DataStructures/QuadEdgeIterators.h b/lib/cpm/DataStructures/QuadEdgeIterators.h
deleted file mode 100644 (file)
index 19cb256..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-#ifndef __CPM__DATASTRUCTURES__QUADEDGEITERATORS__H__
-#define __CPM__DATASTRUCTURES__QUADEDGEITERATORS__H__
-
-#include <cstdlib>
-
-// -------------------------------------------------------------------------
-#define cpmDataStructuresQEIteratorsMacro( op, it, cit )                \
-  inline it Begin##op( )                                                \
-  { return( it( this, it::Op##op, true ) ); }                           \
-  inline it End##op( )                                                  \
-  { return( it( this, it::Op##op, false ) ); }                          \
-  inline cit Begin##op( ) const                                         \
-  { return( cit( this, cit::Op##op, true ) ); }                         \
-  inline cit End##op( ) const                                           \
-  { return( cit( this, cit::Op##op, false ) ); }
-
-// -------------------------------------------------------------------------
-#define cpmDataStructuresQEPointIteratorsMacro( op, it, cit )           \
-  inline Point##it BeginPoint##op( )                                    \
-  { return( Point##it( this, it::Op##op, true ) ); }                    \
-  inline Point##it EndPoint##op( )                                      \
-  { return( Point##it( this, it::Op##op, false ) ); }                   \
-  inline Point##cit BeginPoint##op( ) const                             \
-  { return( Point##cit( this, cit::Op##op, true ) ); }                  \
-  inline Point##cit EndPoint  ##op( ) const                             \
-  { return( Point##cit( this, cit::Op##op, false ) ); }
-
-// -------------------------------------------------------------------------
-#define cpmDataStructuresQEAllIteratorsMacro( op )                      \
-  cpmDataStructuresQEIteratorsMacro( op, Iterator, ConstIterator );     \
-  cpmDataStructuresQEPointIteratorsMacro( op, Iterator, ConstIterator );
-
-namespace cpm
-{
-  namespace DataStructures
-  {
-    /**
-     */
-    template< class E >
-    class QuadEdgeBaseIterator
-    {
-    public:
-      typedef QuadEdgeBaseIterator Self;
-      typedef E                    TQuadEdge;
-
-      // Different types of logical iterators
-      enum
-      {
-        OpOnext = 0,
-        OpLnext = 1,
-        OpRnext = 2,
-        OpDnext = 3,
-        OpOprev = 4,
-        OpLprev = 5,
-        OpRprev = 6,
-        OpDprev = 7
-      };
-
-    public:
-      QuadEdgeBaseIterator( E* e, int op = OpOnext, bool start = true );
-      virtual ~QuadEdgeBaseIterator( );
-      Self& operator=( const Self& r );
-
-      E*   GetStartEdge( ) const;
-      E*   GetIterator( ) const;
-      int  GetOpType( ) const;
-      bool GetStart( ) const;
-
-      bool  operator==( Self& r );
-      bool  operator==( const Self& r ) const;
-      bool  operator!=( Self& r );
-      bool  operator!=( const Self& r ) const;
-      Self& operator++( );
-      Self& operator++( int );
-
-    protected:
-      /// Method that should do all the iteration work
-      virtual void _GoToNext( );
-
-    protected:
-      E*   m_StartEdge; /**< Start edge */
-      E*   m_Iterator;  /**< Current iteration position */
-      int  m_OpType;    /**< Operation type */
-      bool m_Start;     /**< Indicates iteration has just started */
-    };
-
-    /**
-     */
-    template< class E >
-    class QuadEdgeIterator
-      : public QuadEdgeBaseIterator< E >
-    {
-    public:
-      typedef QuadEdgeIterator          Self;
-      typedef QuadEdgeBaseIterator< E > Superclass;
-      typedef E                         TQuadEdge;
-
-    public:
-      QuadEdgeIterator(
-        E* e = NULL, int op = Superclass::OpOnext, bool start = true
-        );
-      virtual ~QuadEdgeIterator( );
-      E* operator*( );
-    };
-
-    /**
-     */
-    template< class E >
-    class QuadEdgeConstIterator
-      : public QuadEdgeBaseIterator< const E >
-    {
-    public:
-      typedef QuadEdgeConstIterator           Self;
-      typedef QuadEdgeBaseIterator< const E > Superclass;
-      typedef E                               TQuadEdge;
-
-    public:
-      QuadEdgeConstIterator(
-        const E* e = NULL, int op = Superclass::OpOnext, bool start = true
-        );
-      virtual ~QuadEdgeConstIterator( );
-      const E* operator*( ) const;
-    };
-
-    /**
-     */
-    template< class E >
-    class QuadEdgePointIterator
-      : public QuadEdgeBaseIterator< const E >
-    {
-    public:
-      typedef QuadEdgePointIterator           Self;
-      typedef QuadEdgeBaseIterator< const E > Superclass;
-      typedef E                               TQuadEdge;
-
-    public:
-      QuadEdgePointIterator(
-        const E* e = NULL, int op = Superclass::OpOnext, bool start = true
-        );
-      virtual ~QuadEdgePointIterator( );
-      typename E::TPrimalGeometry& operator*( );
-    };
-
-    /**
-     */
-    template< class E >
-    class QuadEdgePointConstIterator
-      : public QuadEdgeBaseIterator< const E >
-    {
-    public:
-      typedef QuadEdgePointConstIterator      Self;
-      typedef QuadEdgeBaseIterator< const E > Superclass;
-      typedef E                               TQuadEdge;
-
-    public:
-      QuadEdgePointConstIterator(
-        const E* e = NULL, int op = Superclass::OpOnext, bool start = true
-        );
-      virtual ~QuadEdgePointConstIterator( );
-      const typename E::TPrimalGeometry& operator*( ) const;
-    };
-
-  } // ecapseman
-
-} // ecapseman
-
-#include <cpm/DataStructures/QuadEdgeIterators.hxx>
-
-#endif // __CPM__DATASTRUCTURES__QUADEDGEITERATORS__H__
-
-// eof - $RCSfile$