- typedef _TTraits TTraits;
- typedef typename TTraits::TFilter Superclass;
- typedef typename TTraits::TMarksInterface TMarksInterface;
- typedef typename TTraits::TSeedsInterface TSeedsInterface;
- typedef Algorithm Self;
- typedef itk::SmartPointer< Self > Pointer;
- typedef itk::SmartPointer< const Self > ConstPointer;
-
- typedef typename TTraits::TInputValue TInputValue;
- typedef typename TTraits::TOutputValue TOutputValue;
- typedef typename TTraits::TNeighborhood TNeighborhood;
- typedef typename TTraits::TNode TNode;
- typedef typename TTraits::TNodes TNodes;
- typedef typename TTraits::TSeeds TSeeds;
- typedef typename TTraits::TVertex TVertex;
-
- /**
- */
- class TEvent
- : public itk::EventObject
- {
- public:
- typedef TEvent Self;
- typedef itk::EventObject Superclass;
-
- public:
- TEvent( );
- TEvent( const TVertex& v, unsigned long fid, bool intoq );
- virtual ~TEvent( );
- virtual const char* GetEventName( ) const override;
- virtual bool CheckEvent( const itk::EventObject* e ) const override;
- virtual itk::EventObject* MakeObject( ) const override;
-
- private:
- // Purposely not implemented.
- Self& operator=( const Self& other );
-
- public:
- TVertex Vertex;
- unsigned long FrontId;
- bool IntoQueue;
- };
+ typedef _TMarks TMarksInterface;
+ typedef _TSeeds TSeedsInterface;
+ typedef _TFilter Superclass;
+ typedef Algorithm Self;
+ typedef itk::SmartPointer< Self > Pointer;
+ typedef itk::SmartPointer< const Self > ConstPointer;
+
+ typedef typename _TMarks::TTraits TTraits;
+ fpa_Base_TraitTypes( typename TTraits );
+
+ private:
+ itkConceptMacro(
+ Marks_and_Seeds_SameTraits,
+ ( itk::Concept::SameType< typename _TSeeds::TTraits, TTraits > )
+ );