36 #ifndef NEKTAR_LIB_UTILITIES_NEK_POINT_HPP 
   37 #define NEKTAR_LIB_UTILITIES_NEK_POINT_HPP 
   39 #include <ExpressionTemplates/ExpressionTemplates.hpp> 
   45 #include <boost/concept_check.hpp> 
   46 #include <boost/lexical_cast.hpp> 
   47 #include <boost/tokenizer.hpp> 
   48 #include <boost/call_traits.hpp> 
   49 #include <boost/type_traits.hpp> 
   50 #include <boost/mpl/or.hpp> 
   51 #include <boost/mpl/logical.hpp> 
   52 #include <boost/mpl/assert.hpp> 
   60     template<
typename data_type>
 
   85                 ASSERTL0(result, 
"Unable to create a point from a string.");
 
   88             NekPoint(
typename boost::call_traits<DataType>::param_type 
x,
 
   89                         typename boost::call_traits<DataType>::param_type 
y,
 
   90                         typename boost::call_traits<DataType>::param_type 
z)
 
   97             explicit NekPoint(
typename boost::call_traits<DataType>::const_reference 
a)
 
   99                 boost::function_requires< Nektar::AssignableConcept<DataType> >();
 
  142             typename boost::call_traits<DataType>::reference 
operator()(
unsigned int i)
 
  144                 ASSERTL0( (i>=0) && (i<
dim::Value), 
"Invalid access to NekPoint data via parenthesis operator: index out of range");
 
  148             typename boost::call_traits<DataType>::const_reference 
operator()(
unsigned int i)
 const 
  150                 ASSERTL0( (i>=0) && (i<
dim::Value), 
"Invalid access to NekPoint data via parenthesis operator: index out of range");
 
  154             typename boost::call_traits<DataType>::reference 
operator[](
unsigned int i)
 
  159             typename boost::call_traits<DataType>::const_reference 
operator[](
unsigned int i)
 const 
  164             typename boost::call_traits<DataType>::const_reference 
x()
 const 
  170             typename boost::call_traits<DataType>::const_reference 
y()
 const 
  176             typename boost::call_traits<DataType>::const_reference 
z()
 const 
  182             typename boost::call_traits<DataType>::const_reference 
a()
 const 
  188             typename boost::call_traits<DataType>::const_reference 
b()
 const 
  194             typename boost::call_traits<DataType>::const_reference 
c()
 const 
  200             typename boost::call_traits<DataType>::const_reference 
r()
 const 
  206             typename boost::call_traits<DataType>::const_reference 
s()
 const 
  212             typename boost::call_traits<DataType>::const_reference 
t()
 const 
  218             void SetX(
typename boost::call_traits<DataType>::const_reference val)
 
  224             void SetY(
typename boost::call_traits<DataType>::const_reference val)
 
  230             void SetZ(
typename boost::call_traits<DataType>::const_reference val)
 
  236             typename boost::call_traits<DataType>::reference 
x()
 
  242             typename boost::call_traits<DataType>::reference 
y()
 
  248             typename boost::call_traits<DataType>::reference 
z()
 
  275                 return !(*
this == rhs);
 
  285                     (*this)[i] = -(*this)[i];
 
  354                 std::string result = 
"(";
 
  357                     result += boost::lexical_cast<std::string>(
m_data[i]);
 
  358                     if( i < dim::Value-1 )
 
  372     template<
typename DataType>
 
  378     template<
typename DataType>
 
  387     template<
typename DataType>
 
  396     template<
typename DataType>
 
  405     template<
typename DataType>
 
  414     template<
typename DataType>
 
  423     template<
typename DataType>
 
  432     template<
typename DataType, 
typename dim, 
typename space, 
typename ScalarType>
 
  441     template<
typename DataType, 
typename dim, 
typename space, 
typename ScalarType>
 
  450     template<
typename DataType>
 
  459     template<
typename DataType>
 
  463         DataType result = 0.0;
 
  464         for(
unsigned int i = 0; i < 3; ++i)
 
  466             DataType temp = lhs[i] - rhs[i];
 
  472     template<
typename DataType>
 
  477             typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
 
  478             boost::char_separator<char> sep(
"(<,>) ");
 
  479             tokenizer tokens(str, sep);
 
  483                 result[i] = boost::lexical_cast<DataType>(*iter);
 
  489         catch(boost::bad_lexical_cast&)
 
  495     template<
typename DataType>
 
  496     std::ostream& operator<<(std::ostream& os, const NekPoint<DataType>& p)
 
  542 #endif // NEKTAR_LIB_UTILITIES_NEK_POINT_HPP 
static unsigned int dimension()
Returns the number of dimensions for the point. 
 
NekPoint< DataType > operator-() const 
 
void SetY(typename boost::call_traits< DataType >::const_reference val)
 
#define ASSERTL0(condition, msg)
 
boost::call_traits< DataType >::const_reference y() const 
 
boost::call_traits< DataType >::reference operator()(unsigned int i)
Returns i^{th} element. 
 
boost::call_traits< DataType >::const_reference r() const 
 
NekPoint(const std::string &pointValues)
 
boost::call_traits< DataType >::value_type distanceBetween(const NekPoint< DataType > &lhs, const NekPoint< DataType > &rhs)
 
NekPoint< DataType > & operator-=(const NekPoint< DataType > &rhs)
 
NekPoint(typename boost::call_traits< DataType >::param_type x, typename boost::call_traits< DataType >::param_type y, typename boost::call_traits< DataType >::param_type z)
 
bool operator==(const NekPoint< DataType > &rhs) const 
 
boost::call_traits< DataType >::const_reference operator()(unsigned int i) const 
 
boost::call_traits< DataType >::const_reference c() const 
 
NekPoint< DataType > & operator+=(const NekPoint< DataType > &rhs)
 
NekPoint< DataType > & operator=(const NekPoint< DataType > &rhs)
 
NekPoint(const NekPoint< DataType > &rhs)
 
boost::call_traits< DataType >::reference y()
 
boost::call_traits< DataType >::const_reference s() const 
 
NekPoint< DataType > & operator-=(typename boost::call_traits< DataType >::param_type rhs)
 
bool fromString(const std::string &str, NekPoint< DataType > &result)
 
static const unsigned int Value
 
void negate()
Arithmetic Routines. 
 
boost::call_traits< DataType >::const_reference a() const 
 
NekPoint(typename boost::call_traits< DataType >::const_reference a)
 
boost::call_traits< DataType >::reference x()
 
void SetZ(typename boost::call_traits< DataType >::const_reference val)
 
NekPoint< DataType > operator/(const NekPoint< DataType > &lhs, typename boost::call_traits< DataType >::param_type rhs)
 
void negate(NekPoint< DataType > &rhs)
 
NekPoint< DataType > operator*(const ScalarType &lhs, const NekPoint< DataType > &rhs)
 
boost::call_traits< DataType >::const_reference z() const 
 
boost::call_traits< DataType >::const_reference x() const 
 
NekPoint< DataType > & operator*=(typename boost::call_traits< DataType >::param_type rhs)
 
Array< OneD, DataType > operator+(const Array< OneD, DataType > &lhs, unsigned int offset)
 
boost::call_traits< DataType >::const_reference b() const 
 
NekPoint< DataType > operator-(const NekPoint< DataType > &lhs, const NekPoint< DataType > &rhs)
 
NekPoint< DataType > & operator/=(typename boost::call_traits< DataType >::param_type rhs)
 
NekPoint< DataType > & operator+=(typename boost::call_traits< DataType >::param_type rhs)
 
const DataType * GetPtr() const 
 
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs typedef NekMatrix< LhsDataType, StandardMatrixTag >::iterator iterator
 
boost::call_traits< DataType >::const_reference operator[](unsigned int i) const 
 
boost::call_traits< DataType >::reference z()
 
void SetX(typename boost::call_traits< DataType >::const_reference val)
 
DataType m_data[dim::Value]
 
boost::call_traits< DataType >::const_reference t() const 
 
bool operator!=(const NekPoint< DataType > &rhs) const 
 
std::string AsString() const 
 
boost::call_traits< DataType >::reference operator[](unsigned int i)