+// =========================================================================
+// @author Leonardo Florez Valencia
+// @email florez-l@javeriana.edu.co
+// =========================================================================
+
#ifndef __fpa__Image__MinimumSpanningTree__h__
#define __fpa__Image__MinimumSpanningTree__h__
#include <fpa/Base/MinimumSpanningTree.h>
-#include <cpExtensions/DataStructures/PolyLineParametricPath.h>
#include <itkImage.h>
+#include <fpa/Image/PolyLineParametricPath.h>
namespace fpa
{
*/
template< unsigned int _VDim >
class MinimumSpanningTree
- : public fpa::Base::MinimumSpanningTree< itk::Index< _VDim >, cpExtensions::DataStructures::PolyLineParametricPath< _VDim >, itk::Image< itk::Offset< _VDim >, _VDim > >
+ : public fpa::Base::MinimumSpanningTree< itk::Index< _VDim >, itk::Image< itk::Offset< _VDim >, _VDim > >
{
public:
- typedef itk::Index< _VDim > TVertex;
- typedef cpExtensions::DataStructures::PolyLineParametricPath< _VDim > TPath;
- typedef itk::Offset< _VDim > TOffset;
- typedef itk::Image< TOffset, _VDim > TImage;
- typedef fpa::Base::MinimumSpanningTree< TVertex, TPath, TImage > Superclass;
- typedef MinimumSpanningTree Self;
- typedef itk::SmartPointer< Self > Pointer;
- typedef itk::SmartPointer< const Self > ConstPointer;
+ typedef itk::Index< _VDim > TVertex;
+ typedef itk::Image< itk::Offset< _VDim >, _VDim > TBaseImage;
+
+ typedef MinimumSpanningTree Self;
+ typedef itk::SmartPointer< Self > Pointer;
+ typedef itk::SmartPointer< const Self > ConstPointer;
+ typedef fpa::Base::MinimumSpanningTree< TVertex, TBaseImage > Superclass;
+
+ typedef typename Superclass::TCollision TCollision;
+ typedef typename Superclass::TCollisionsRow TCollisionsRow;
+ typedef typename Superclass::TCollisions TCollisions;
+ typedef typename Superclass::TVertices TVertices;
+
+ typedef fpa::Image::PolyLineParametricPath< _VDim > TPolyLineParametricPath;
public:
itkNewMacro( Self );
itkTypeMacro(
- fpa::Image::MinimumSpanningTree, fpa::Base::MinimumSpanningTree
+ fpa::Image::MinimumSpanningTree,
+ fpa::Base::MinimumSpanningTree
);
public:
- virtual TVertex GetParent( const TVertex& v ) const fpa_OVERRIDE;
- virtual void SetParent( const TVertex& v, const TVertex& p ) fpa_OVERRIDE;
+ virtual TVertex GetParent( const TVertex& v ) const override;
+ virtual void SetParent( const TVertex& v, const TVertex& p ) override;
- virtual void GetPath(
- typename TPath::Pointer& path, const TVertex& a
- ) const fpa_OVERRIDE;
- virtual void GetPath(
- typename TPath::Pointer& path, const TVertex& a, const TVertex& b
- ) const fpa_OVERRIDE;
+ void GetPolyLineParametricPath(
+ typename TPolyLineParametricPath::Pointer& path,
+ const TVertex& a
+ ) const;
+ void GetPolyLineParametricPath(
+ typename TPolyLineParametricPath::Pointer& path,
+ const TVertex& a, const TVertex& b
+ ) const;
protected:
MinimumSpanningTree( );
virtual ~MinimumSpanningTree( );
private:
- // Purposely not defined
MinimumSpanningTree( const Self& other );
Self& operator=( const Self& other );
};