Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itkQuadEdgeMeshPoint.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Insight Segmentation & Registration Toolkit
00004   Module:    $RCSfile: itkQuadEdgeMeshPoint.h,v $
00005   Language:  C++
00006   Date:      $Date: 2010-02-19 19:42:45 $
00007   Version:   $Revision: 1.13 $
00008 
00009   Copyright (c) Insight Software Consortium. All rights reserved.
00010   See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
00011 
00012      This software is distributed WITHOUT ANY WARRANTY; without even
00013      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00014      PURPOSE.  See the above copyright notices for more information.
00015 
00016 =========================================================================*/
00017 #ifndef __itkQuadEdgeMeshPoint_h
00018 #define __itkQuadEdgeMeshPoint_h
00019 
00020 #include "itkPoint.h"
00021 #include "itkConceptChecking.h"
00022 #include "itkGeometricalQuadEdge.h"
00023 
00024 namespace itk
00025 {
00032 template< class TCoordRep, unsigned int VPointDimension, typename TQuadEdge=GeometricalQuadEdge< unsigned long, unsigned long, bool, bool, true > >
00033 class QuadEdgeMeshPoint : public Point< TCoordRep, VPointDimension >
00034 {
00035 public:
00036 
00038   typedef QuadEdgeMeshPoint                         Self;
00039   typedef Point< TCoordRep, VPointDimension >       Superclass;
00040 
00042   itkStaticConstMacro( PointDimension, unsigned int,
00043                        VPointDimension );
00044 
00045   typedef typename Superclass::ValueType     ValueType;
00046   typedef typename Superclass::CoordRepType  CoordRepType;
00047   typedef typename Superclass::RealType      RealType;
00048   typedef typename Superclass::BaseArray     BaseArray;
00049   typedef typename Superclass::Iterator      Iterator;
00050   typedef typename Superclass::ConstIterator ConstIterator;
00051   typedef typename Superclass::VectorType    VectorType;
00052 
00053   typedef ValueType ValueArrayType[ itkGetStaticConstMacro( PointDimension ) ];
00054 
00055 #ifdef ITK_USE_CONCEPT_CHECKING
00056 
00059 #endif
00060 
00061 public:
00062   QuadEdgeMeshPoint();
00063   virtual ~QuadEdgeMeshPoint() {};
00064   QuadEdgeMeshPoint( const Self & r );
00065   QuadEdgeMeshPoint( const Superclass & r );
00066   QuadEdgeMeshPoint( const ValueType r[VPointDimension] ):Superclass( r )
00067     {
00068     this->Initialize();
00069     } 
00070   Self & operator=( const Self & r );
00071   Self & operator=( const Superclass & r );
00072   Self & operator=( const ValueType r[VPointDimension] );
00073   
00074  
00076   void SetEdge( TQuadEdge * inputEdge );
00077 
00079   void SetPoint( const Superclass & point );
00080 
00082   TQuadEdge * GetEdge();
00083   TQuadEdge * GetEdge() const;
00085 
00087   bool IsInternal() const;
00088 
00090   int GetValence() const;
00091 
00092 protected:
00093   void Initialize();
00094 
00095 protected:
00096   TQuadEdge * m_Edge; 
00097 };
00098 
00099 } // end namespace itk
00100 
00101 #ifndef ITK_MANUAL_INSTANTIATION
00102 #include "itkQuadEdgeMeshPoint.txx"
00103 #endif
00104 
00105 #endif 
00106 

Generated at Fri Apr 16 19:23:05 2010 for ITK by doxygen 1.6.1 written by Dimitri van Heesch, © 1997-2000