|
int | getArgSize () const |
|
void | init (Element::InitStage stage) |
| plots time series header More...
|
|
void | calculateSpline () |
|
void | reset () |
|
Ret | operator() (const Arg &x) |
|
B::DRetDArg | parDer (const Arg &x) |
|
Ret | parDerParDer (const double &x) |
|
B::DRetDArg | parDerDirDer (const Arg &argDir, const Arg &arg) |
|
std::vector< fmatvec::MatV > | getCoefficients () |
|
fmatvec::VecV | getBreaks () |
|
void | setInterpolationMethod (InterpolationMethod method_) |
| set interpolation More...
|
|
void | setx (const fmatvec::VecV &x_) |
|
void | sety (const fmatvec::MatV &y_) |
|
void | setxy (const fmatvec::MatV &xy) |
|
void | setCoefficients (const std::vector< fmatvec::MatV > &coefs_u) |
| set polynomial coefficients More...
|
|
void | setBreaks (const std::vector< fmatvec::MatV > &coefs_u, const fmatvec::VecV &breaks_u) |
| set interval boundaries More...
|
|
virtual void | initializeUsingXML (xercesc::DOMElement *element) |
| initialize function with XML code More...
|
|
| Function () |
|
void | initializeUsingXML (xercesc::DOMElement *element) |
|
| FunctionBase () |
|
virtual Element * | getDependency () const |
|
| Element (const std::string &name) |
| constructor
|
|
virtual | ~Element () |
| destructor
|
|
virtual void | initDataInterfaceBase (DynamicSystemSolver *parentds) |
| TODO.
|
|
virtual std::string | getType () const |
|
virtual void | setDynamicSystemSolver (DynamicSystemSolver *sys) |
| sets the used dynamics system solver to the element More...
|
|
virtual void | plot () |
| plots time dependent data More...
|
|
virtual void | plotAtSpecialEvent () |
| plots time dependent data at special events More...
|
|
virtual void | closePlot () |
| closes plot file
|
|
const std::string & | getName () const |
|
void | setName (const std::string &str) |
|
void | setPath (const std::string &str) |
|
DynamicSystemSolver * | getDynamicSystemSolver () |
|
virtual void | createPlotGroup () |
| creates the plotGroup for H5-output
|
|
H5::GroupBase * | getPlotGroup () |
|
virtual void | setPlotFeature (PlotFeature pf, PlotFeatureStatus value) |
| Set a plot feature. More...
|
|
void | setPlotFeatureForChildren (PlotFeature pf, PlotFeatureStatus value) |
| Set a plot feature for the children of this object. More...
|
|
void | setPlotFeatureRecursive (PlotFeature pf, PlotFeatureStatus value) |
| Set a plot feature for this object and the children of this object. More...
|
|
PlotFeatureStatus | getPlotFeature (PlotFeature pf) |
|
PlotFeatureStatus | getPlotFeatureForChildren (PlotFeature pf) |
|
PlotFeatureStatus | initializePlotFeatureStatusUsingXML (xercesc::DOMElement *e) |
|
PlotFeature | initializePlotFeatureUsingXML (xercesc::DOMElement *e) |
|
const std::vector
< MBXMLUtils::EmbedDOMLocator > & | getLocationStack () const |
|
template<class T > |
T * | getByPath (const std::string &path, bool initialCaller=true) const |
| Get the object of type T represented by the path path. Do not set any argurment other than path!
|
|
std::string | getPath (const Element *relTo=NULL, std::string sep="/") const |
| Return the path of this object. If relativeTo is not NULL return a relative path to relativeTo. Do not set any argurment other than relTo and sep!
|
|
virtual Element * | getChildByContainerAndName (const std::string &container, const std::string &name) const |
| Get the Element named name in the container named container.
|
|
virtual std::shared_ptr
< OpenMBV::Group > | getOpenMBVGrp () |
|
virtual Element * | getParent () |
|
virtual const Element * | getParent () const |
|
virtual void | setParent (Element *parent_) |
|
std::vector< Element * > | getDependencies () const |
| checks dependency on other elements. More...
|
|
void | addDependency (Element *ele) |
|
int | computeLevel () |
| computes the length of the pathes in the graph that represents the dependencies between all elements. More...
|
|
virtual void | updatePositions (Frame *frame) |
|
virtual void | updateVelocities (Frame *frame) |
|
virtual void | updateAccelerations (Frame *frame) |
|
virtual void | updateJacobians (Frame *frame, int j=0) |
|
virtual void | updateGyroscopicAccelerations (Frame *frame) |
|
virtual void | resetUpToDate () |
|
const double & | getTime () const |
|
double | getStepSize () const |
|
Atom & | operator= (const Atom &) |
|
void | setMessageStreamActive (MsgType type, bool active) |
|
void | getMessageStream (MsgType type, std::shared_ptr< bool > &a, std::shared_ptr< std::ostream > &s) |
|
void | adoptMessageStreams (const Atom *src=NULL) |
|
std::ostream & | msg (MsgType type) |
|
bool | msgAct (MsgType type) |
|
|
static double | getDouble (xercesc::DOMElement *e) |
|
static int | getInt (xercesc::DOMElement *e) |
|
static bool | getBool (xercesc::DOMElement *e) |
|
static fmatvec::Vec3 | getVec3 (xercesc::DOMElement *e) |
|
static fmatvec::Vec | getVec (xercesc::DOMElement *e, int rows=0) |
|
static fmatvec::Mat3xV | getMat3xV (xercesc::DOMElement *e, int cols=0) |
|
static fmatvec::Mat | getMat (xercesc::DOMElement *e, int rows=0, int cols=0) |
|
static fmatvec::SqrMat3 | getSqrMat3 (xercesc::DOMElement *e) |
|
static fmatvec::SqrMat | getSqrMat (xercesc::DOMElement *e, int size=0) |
|
static fmatvec::SymMat3 | getSymMat3 (xercesc::DOMElement *e) |
|
static fmatvec::SymMat | getSymMat (xercesc::DOMElement *e, int size=0) |
|
static void | setCurrentMessageStream (MsgType type, const std::shared_ptr< bool > &a=std::make_shared< bool >(true), const std::shared_ptr< std::ostream > &s=std::make_shared< std::ostream >(std::cout.rdbuf())) |
|
static std::ostream & | msgStatic (MsgType type) |
|
static bool | msgActStatic (MsgType type) |
|
template<typename Ret, typename Arg>
class MBSim::PiecewisePolynomFunction< Ret(Arg)>
class for piecewise-polynomials and cubic spline interpolation
- Author
- Robert Huber
- Date
- 2006-08-31 initial commit
-
2006-09-05 verified with matlab /octave (Robert Huber)
-
2008-05-21 C++ beauty treatment, PLinear (Thorsten Schindler)
-
2009-08-11 kernel_dev (Thorsten Schindler)
- Todo:
- add deletes TODO
Spline / PP-Form info Piecewise polynomial:
with [c0 c1 c2 ... cn] ith row vector of coefs-matrix breaks(i) << x << breaks(i+1) defines i and xloc = x-breaks(i)
Ex. cubic spline with breaks= [0; 0.3; 0.5] coefs= [d1 c1 b1 a1; d2 c2 b2 a2]
Cubic spline (xi,fi) i=1..N is being interpolated by N-1 piecewise polynomials Si of degree 3 yielding a global
curve for uniqueness TWO additional boundary conditions are necessary (periodic / natural)
Piecewise linear polynomial (xi,fi) i=1..N is being interpolated by N-1 piecewise polynomials Si of degree 1 yielding a globally weak differentiable curve in the context of this class the second derivative is defined to be zero everywhere (which is mathematically wrong)