- : public vtkCommand
- {
- public:
- static SeedWidgetCallback* New( )
- { return( new SeedWidgetCallback ); }
- virtual void Execute( vtkObject* caller, unsigned long id, void* data )
- {
- typedef cpPluginsWidgets::SeedWidget::TImageActor _TImageActor;
- auto actor = dynamic_cast< _TImageActor* >( caller );
-
- if( id == vtkCommand::InteractionEvent && actor != NULL )
- {
- int slice = actor->GetSliceNumber( );
- if( this->Data->ActualWidgetId != slice )
- {
- this->Data->Widgets[ this->Data->ActualWidgetId ]->EnabledOff( );
- this->Data->Widgets[ slice ]->EnabledOn( );
- this->Data->ActualWidgetId = slice;
-
- } // fi
- }
- else if(
- (
- id == vtkCommand::CursorChangedEvent ||
- id == vtkCommand::PlacePointEvent
- ) &&
- this->Widget != NULL
- )
- this->Widget->Modified( );
+ : public vtkCommand
+ {
+ public:
+ static SeedWidgetCallback* New( )
+ { return( new SeedWidgetCallback ); }
+ virtual void Execute( vtkObject* caller, unsigned long id, void* data )
+ {
+ /*
+ typedef cpPluginsWidgets::SeedWidget::TImageActor _TImageActor;
+ auto actor = dynamic_cast< _TImageActor* >( caller );
+*/
+/*
+ if( id == vtkCommand::InteractionEvent && actor != NULL )
+ {
+ int slice = actor->GetSliceNumber( );
+ if( this->Data->ActualWidgetId != slice )
+ {
+ this->Data->Widgets[ this->Data->ActualWidgetId ]->EnabledOff( );
+ this->Data->Widgets[ slice ]->EnabledOn( );
+ this->Data->ActualWidgetId = slice;
+
+ } // fi
+ }
+ else
+*/
+ // id == vtkCommand::CursorChangedEvent ||
+ if( id == vtkCommand::PlacePointEvent )
+ {
+ auto wdg = dynamic_cast< cpExtensions::Interaction::SeedWidget* >( caller );
+ if( wdg != NULL )
+ {
+ auto rep =
+ dynamic_cast< vtkSeedRepresentation* >(
+ wdg->GetRepresentation( )
+ );
+ if( rep != NULL )
+ {
+ unsigned long nSeeds = rep->GetNumberOfSeeds( );
+ if( nSeeds > 0 )
+ {
+ double pos[ 3 ];
+ rep->GetSeedWorldPosition( nSeeds - 1, pos );
+
+ Seeds->GetPoints( )->InsertNextPoint( pos );
+ Seeds->GetVerts( )->InsertNextCell( 1 );
+ Seeds->GetVerts( )->InsertCellPoint( nSeeds - 1 );
+ }
+ } // fi
+
+
+ }
+ }