+// -------------------------------------------------------------------------
+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( ) )
+ {
+ if( i->second.first == Self::IndexList )
+ {
+ std::istringstream str( i->second.second );
+ std::string token;
+ unsigned int d = 0;
+ while( std::getline( str, token, '#' ) )
+ {
+ std::istringstream str2( token );
+ std::string token2;
+ unsigned int d = 0;
+ I v;
+ while( std::getline( str2, token2, ';' ) && d < dim )
+ {
+ v[ d ] = std::atoi( token.c_str( ) );
+ d++;
+
+ } // elihw
+ lst.push_back( v );
+
+ } // elihw
+
+ } // fi
+
+ } // fi
+ return( lst );
+}
+
+// -------------------------------------------------------------------------
+template< class P >
+std::vector< P > cpPlugins::Interface::Parameters::
+GetPointList( const std::string& name, const unsigned int& dim ) const
+{
+ std::vector< P > lst;
+
+ auto i = this->m_Parameters.find( name );
+ if( i != this->m_Parameters.end( ) )
+ {
+ if( i->second.first == Self::PointList )
+ {
+ std::istringstream str( i->second.second );
+ std::string token;
+ unsigned int d = 0;
+ while( std::getline( str, token, '#' ) )
+ {
+ std::istringstream str2( token );
+ std::string token2;
+ unsigned int d = 0;
+ P v;
+ while( std::getline( str2, token2, ';' ) && d < dim )
+ {
+ std::istringstream tok_str( token );
+ tok_str >> v[ d ];
+ d++;
+
+ } // elihw
+ lst.push_back( v );
+
+ } // elihw
+
+ } // fi
+
+ } // fi
+ return( lst );
+}
+
+// -------------------------------------------------------------------------
+template< class V >
+std::vector< V > cpPlugins::Interface::Parameters::
+GetVectorList( const std::string& name, const unsigned int& dim ) const
+{
+ std::vector< V > lst;
+
+ auto i = this->m_Parameters.find( name );
+ if( i != this->m_Parameters.end( ) )
+ {
+ if( i->second.first == Self::VectorList )
+ {
+ std::istringstream str( i->second.second );
+ std::string token;
+ unsigned int d = 0;
+ while( std::getline( str, token, '#' ) )
+ {
+ std::istringstream str2( token );
+ std::string token2;
+ unsigned int d = 0;
+ V v;
+ while( std::getline( str2, token2, ';' ) && d < dim )
+ {
+ std::istringstream tok_str( token );
+ tok_str >> v[ d ];
+ d++;
+
+ } // elihw
+ lst.push_back( v );
+
+ } // elihw
+
+ } // fi
+
+ } // fi
+ return( lst );
+}
+