29 #ifndef RYTHMOS_SMART_INTERPOLATION_BUFFER_APPENDER_HPP 
   30 #define RYTHMOS_SMART_INTERPOLATION_BUFFER_APPENDER_HPP 
   32 #include "Rythmos_InterpolationBufferAppenderBase.hpp" 
   33 #include "Teuchos_ParameterListAcceptorDefaultBase.hpp" 
   40 template<
class Scalar>
 
   43     virtual public Teuchos::ParameterListAcceptorDefaultBase
 
   74 template<
class Scalar>
 
   81   TEUCHOS_TEST_FOR_EXCEPTION(
 
   82     true, std::logic_error,
 
   83     "This class has never been tested before and should not be used\n" 
   88 #ifdef HAVE_RYTHMOS_DEBUG 
   89   this->assertAppendPreconditions(interpBuffSource,range,*interpBuffSink);
 
   90 #endif // HAVE_RYTHMOS_DEBUG 
   91   if (interpBuffSink->getOrder() >= interpBuffSource.
getOrder()) {
 
   96     defaultAppender.
append(interpBuffSink,interpBuffSource,range);
 
  101     TEUCHOS_TEST_FOR_EXCEPTION(
 
  102         true,std::logic_error,
 
  103         "Error, the smart interpolation buffer appender is not implemented\n" 
  104         "for appending interpolation buffers with higher order interpolation\n" 
  105         "into interpolation buffers with a lower order of interpolation yet!" 
  113 template<
class Scalar>
 
  116   TEUCHOS_TEST_FOR_EXCEPT( is_null(paramList) );
 
  117   paramList->validateParameters(*this->getValidParameters());
 
  118   setMyParamList(paramList);
 
  119   Teuchos::readVerboseObjectSublist(&*paramList,
this);
 
  122 template<
class Scalar>
 
  125   static RCP<Teuchos::ParameterList> validPL;
 
  126   if (is_null(validPL)) {
 
  127     RCP<Teuchos::ParameterList> pl = Teuchos::parameterList();
 
  128     Teuchos::setupVerboseObjectSublist(&*pl);
 
  137 #endif //RYTHMOS_SMART_INTERPOLATION_BUFFER_APPENDER_HPP 
Concrete InterplationBufferAppender subclass that just transfers notes without any regard for accurac...
 
void append(const InterpolationBufferBase< Scalar > &interpBuffSource, const TimeRange< Scalar > &range, const Ptr< InterpolationBufferBase< Scalar > > &interpBuffSink)
Concrete implementation that simply copies the nodal points between the interpolation buffers...
 
RCP< const Teuchos::ParameterList > getValidParameters() const 
 
void append(const InterpolationBufferBase< Scalar > &interpBuffSource, const TimeRange< Scalar > &range, const Ptr< InterpolationBufferBase< Scalar > > &interpBuffSink)
Concrete implementation that attempts to use the order of interpolation between the two interpolation...
 
Base class for an interpolation buffer. 
 
Base class for strategy objects that append data from one InterplationBufferBase object to another...
 
void setParameterList(RCP< Teuchos::ParameterList > const ¶mList)
 
Smart interplation buffer class. 
 
virtual int getOrder() const =0
Get order of interpolation.