+ TParameters::iterator i = this->m_Parameters.find( name );
+ if( i == this->m_Parameters.end( ) )
+ return;
+ if( i->second.first != Self::Index )
+ return;
+
+ std::stringstream str;
+ str << v[ 0 ];
+ for( unsigned int d = 1; d < dim; ++d )
+ str << ";" << v[ d ];
+ i->second.second = str.str( );
+ this->Modified( );
+}
+
+// -------------------------------------------------------------------------
+template< class P >
+void cpPlugins::Interface::Parameters::
+SetPoint( const std::string& name, const unsigned int& dim, const P& v )
+{
+ TParameters::iterator i = this->m_Parameters.find( name );
+ if( i == this->m_Parameters.end( ) )
+ return;
+ if( i->second.first != Self::Point )
+ return;
+
+ std::stringstream str;
+ str << v[ 0 ];
+ for( unsigned int d = 1; d < dim; ++d )
+ str << ";" << v[ d ];
+ i->second.second = str.str( );
+ this->Modified( );
+}
+
+// -------------------------------------------------------------------------
+template< class V >
+void cpPlugins::Interface::Parameters::
+SetVector( const std::string& name, const unsigned int& dim, const V& v )
+{
+ TParameters::iterator i = this->m_Parameters.find( name );
+ if( i == this->m_Parameters.end( ) )
+ return;
+ if( i->second.first != Self::Vector )
+ return;
+
+ std::stringstream str;
+ str << v[ 0 ];
+ for( unsigned int d = 1; d < dim; ++d )
+ str << ";" << v[ d ];
+ i->second.second = str.str( );
+ this->Modified( );
+}
+
+// -------------------------------------------------------------------------
+template< class I >
+std::vector< I > cpPlugins::Interface::Parameters::
+GetIndexList( const std::string& name, const unsigned int& dim ) const
+{
+ std::vector< I > lst;
+ auto i = this->m_Parameters.find( name );
+ if( i != this->m_Parameters.end( ) )