33 #include <boost/shared_ptr.hpp>
35 #include "../common/math/linearAlgebra/WVectorFixed.h"
36 #include "../common/math/WValue.h"
37 #include "../common/WAssert.h"
38 #include "../common/WLimits.h"
39 #include "WDataHandlerEnums.h"
40 #include "WValueSetBase.h"
88 return *(
m_ptr + i *
static_cast< std::size_t
>( i <
m_size ) );
128 m_minimum = std::numeric_limits< T >::max();
129 m_maximum = std::numeric_limits< T >::min();
130 for(
typename std::vector< T >::const_iterator iter = data->begin(); iter != data->end(); ++iter )
150 m_minimum = std::numeric_limits< T >::max();
151 m_maximum = std::numeric_limits< T >::min();
152 for(
typename std::vector< T >::const_iterator iter = data->begin(); iter != data->end(); ++iter )
167 WAssert(
m_dimension == 1,
"Although order zero, (dimension != 1) was found." );
176 WAssert(
false,
"Unsupported tensor order." );
195 return (*
m_data.get())[i];
204 return static_cast< double >( (*
m_data.get())[i] );
242 return &(*
m_data.get())[0];
267 WAssert( start + size <=
rawSize(),
"" );
268 WAssert( size != 0,
"" );
319 const boost::shared_ptr< std::vector< T > >
m_data;
328 return WValueSetVariant(
this );
334 WAssert(
m_order == 1 &&
m_dimension == 3,
"WValueSet<T>::getVector3D only implemented for order==1, dim==3 value sets" );
335 WAssert( ( index + 1 ) * 3 <=
m_data->size(),
"index in WValueSet<T>::getVector3D too big" );
336 size_t offset = index * 3;
342 WAssert(
m_order == 1,
"WValueSet<T>::getWValue only implemented for order==1 value sets" );
343 WAssert( ( index + 1 ) * m_dimension <= m_data->
size(),
"index in WValueSet<T>::getWValue too big" );
351 result[i] = ( *
m_data )[offset+i];
356 template<
typename T >
361 for(
size_t v = 0; v < oder; ++v )
369 #endif // WVALUESET_H