102         return out << 
"const, " << 
dConst;
 
  107 : nPoints(n), pdX(x), pdV(v)
 
  127         for (
int i = 1; i < 
nPoints; i++) {
 
  133         return pdV[nPoints - 1];
 
  139         out << 
"piecewise const, " << 
nPoints;
 
  141         for (
int i = 0; i < 
nPoints; i++) {
 
  142                 out << 
", " << 
pdX[i] << 
", " << 
pdV[i];
 
  149 : dShift(d0), dSlope(d1)
 
  173 : nPoints(n), pdX(x), pdV(v)
 
  193         for (
int i = 1; i < 
nPoints; i++) {
 
  198                         return (
pdV[i]*dw2 + 
pdV[i - 1]*dw1)/dl;
 
  202         return pdV[nPoints - 1];
 
  208         out << 
"piecewise linear, " << 
nPoints;
 
  210         for (
int i = 0; i < 
nPoints; i++) {
 
  211                 out << 
", " << 
pdX[i] << 
", " << 
pdV[i];
 
  218 : da0(d0), da1(d1), da2(d2)
 
  237         return out << 
"parabolic, " << 
da0 << 
", " 
  266         return out << 
"const, " << 
dConst;
 
  271 : da0(d0), da1x(d1x), da1y(d1y), da1xy(d1xy)
 
  290         return out << 
"bilinear, " << 
da0 << 
", " 
  302         const char* sKeyWords[] = {
 
  306                 "piecewise" "linear",
 
  328                 CurrKeyWord = SHAPECONST;
 
  332         if (CurrKeyWord >= 0) {
 
  333                 std::cout << 
"shape type: " << sKeyWords[CurrKeyWord] << std::endl;
 
  339         switch (CurrKeyWord) {
 
  368                         << da0 << 
", " << da1 << std::endl);
 
  378         case PIECEWISELINEAR: {
 
  379                 const char *sType = 0;
 
  380                 switch (CurrKeyWord) {
 
  382                         sType = 
"piecewise const";
 
  385                 case PIECEWISELINEAR:
 
  386                         sType = 
"piecewise linear";
 
  396                         silent_cerr(
"Illegal number of points " << np
 
  397                                 << 
" for " << sType << 
" shape at line " 
  409                 if (px[0] < -1. || px[0] > 1.) {
 
  410                         silent_cerr(
"Illegal value " << px[0]
 
  411                                 << 
" for first point abscissa (must be -1. < x < 1.) " 
  412                                 "in " << sType << 
" shape at line " 
  420                 for (
int i = 1; i < np; i++) {
 
  422                         if (px[i] <= px[i-1] || px[i] > 1.) {
 
  423                                 silent_cerr(
"Illegal value " << px[i]
 
  424                                         << 
" for point " << i + 1 << 
" abscissa " 
  425                                         "(must be " << px[i - 1] << 
" < x < 1.) " 
  426                                         "in " << sType << 
" shape at line " 
  436                 switch (CurrKeyWord) {
 
  443                 case PIECEWISELINEAR:
 
  465                         << da0 << 
", " << da1 << 
", " << da2 << std::endl);
 
  476                 ASSERTMSG(0, 
"You shouldn't have reached this point");
 
ConstShape1D(doublereal d)
PiecewiseLinearShape1D(int n, doublereal *x, doublereal *v)
doublereal dGet(doublereal d, doublereal=0.) const 
~PiecewiseConstShape1D(void)
std::ostream & Restart(std::ostream &out) const 
BilinearShape2D(doublereal d0, doublereal d1x, doublereal d1y, doublereal d1xy)
#define MBDYN_EXCEPT_ARGS
#define DEBUGCOUTFNAME(fname)
virtual integer GetInt(integer iDefval=0)
std::ostream & Restart(std::ostream &out) const 
#define SAFEDELETEARR(pnt)
#define ASSERTMSG(expr, msg)
ParabolicShape1D(doublereal d0, doublereal d1, doublereal d2)
doublereal dGet(doublereal dx, doublereal dy) const 
std::ostream & Restart(std::ostream &out) const 
doublereal dGet(doublereal d, doublereal=0.) const 
virtual const Shape * pGetShape(void) const 
LinearShape1D(doublereal d0, doublereal d1)
Shape * ReadShape(MBDynParser &HP)
std::ostream & Restart(std::ostream &out) const 
std::ostream & Restart(std::ostream &out) const 
virtual bool IsKeyWord(const char *sKeyWord)
std::ostream & Restart(std::ostream &out) const 
PiecewiseConstShape1D(int n, doublereal *x, doublereal *v)
doublereal dGet(doublereal, doublereal=0.) const 
virtual doublereal dGet(doublereal d) const 
doublereal dGet(doublereal, doublereal=0.) const 
#define ASSERT(expression)
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
doublereal dGet(doublereal d, doublereal=0.) const 
ShapeOwner(const Shape *pS)
virtual doublereal dGet(doublereal d1, doublereal d2=0.) const =0
~PiecewiseLinearShape1D(void)
#define SAFENEWARR(pnt, item, sz)
doublereal dGet(doublereal d, doublereal=0.) const 
virtual ~ShapeOwner(void)
virtual HighParser::ErrOut GetLineData(void) const 
ConstShape2D(doublereal d)
#define DEBUGLCOUT(level, msg)
std::ostream & Restart(std::ostream &out) const 
virtual doublereal GetReal(const doublereal &dDefval=0.0)