#include "SphereMeshSource.h" #include #include #include #include // ------------------------------------------------------------------------- cpPlugins::BasicFilters::SphereMeshSource:: SphereMeshSource( ) : Superclass( ) { this->SetNumberOfInputs( 0 ); this->SetNumberOfOutputs( 1 ); this->_MakeOutput< cpPlugins::Interface::Mesh >( 0 ); using namespace cpPlugins::Interface; this->m_DefaultParameters.Configure( Parameters::Point, "Center" ); this->m_DefaultParameters.Configure( Parameters::Real, "Radius" ); this->m_DefaultParameters.Configure( Parameters::Uint, "PhiResolution" ); this->m_DefaultParameters.Configure( Parameters::Uint, "ThetaResolution" ); this->m_DefaultParameters.SetValueAsPoint( "Center", 3, 0, 0, 0 ); this->m_DefaultParameters.SetValueAsReal( "Radius", 1 ); this->m_DefaultParameters.SetValueAsUint( "PhiResolution", 10 ); this->m_DefaultParameters.SetValueAsUint( "ThetaResolution", 10 ); this->m_Parameters = this->m_DefaultParameters; } // ------------------------------------------------------------------------- cpPlugins::BasicFilters::SphereMeshSource:: ~SphereMeshSource( ) { } // ------------------------------------------------------------------------- std::string cpPlugins::BasicFilters::SphereMeshSource:: _GenerateData( ) { itk::Point< double, 3 > center = this->m_Parameters.GetValueAsPoint< itk::Point< double, 3 > >( "Center" ); center.Fill( double( 0 ) ); // TODO double radius = this->m_Parameters.GetValueAsReal( "Radius" ); unsigned int phi = this->m_Parameters.GetValueAsUint( "PhiResolution" ); unsigned int theta = this->m_Parameters.GetValueAsUint( "ThetaResolution" ); vtkSphereSource* src = this->_CreateVTK< vtkSphereSource >( ); src->SetCenter( center[ 0 ], center[ 1 ], center[ 2 ] ); src->SetRadius( radius ); src->SetPhiResolution( phi ); src->SetThetaResolution( theta ); src->Update( ); // Execute filter cpPlugins::Interface::Mesh* out = this->GetOutput< cpPlugins::Interface::Mesh >( 0 ); out->SetVTK( src->GetOutput( ) ); return( "" ); } // eof - $RCSfile$