84 virtual std::ostream&
Restart(std::ostream& out)
const;
174 bool IsWord(
const std::string& s)
const {
184 pedantic_cout(
"registering gust \"" << name <<
"\"" << std::endl);
185 return GustFuncMap.insert(GustFuncMapType::value_type(name, rf)).second;
194 const char *s = HP.
IsWord(GustWordSet);
201 silent_cerr(
"unknown gust type \"" << s <<
"\" "
206 return func->second->Read(pDM, HP);
236 silent_cerr(
"DestroyGustData() called once too many" << std::endl);
bool IsWord(const std::string &s) const
const Vec3 Zero3(0., 0., 0.)
std::ostream & Write(std::ostream &out, const char *sFill=" ") const
#define MBDYN_EXCEPT_ARGS
#define DEBUGCOUTFNAME(fname)
virtual const char * IsWord(const HighParser::WordSet &ws)
Gust * ReadGustData(const DataManager *pDM, MBDynParser &HP)
const DriveHandler * pGetDrvHdl(void) const
virtual std::ostream & Restart(std::ostream &out) const
virtual std::ostream & Restart(std::ostream &out) const =0
std::map< std::string, GustRead *, ltstrcase > GustFuncMapType
void func(const T &u, const T &v, const T &w, doublereal e, T &f)
virtual Vec3 GetVelocity(const Vec3 &X) const
const ReferenceFrame AbsRefFrame(0, Vec3(0., 0., 0), Mat3x3(1., 0., 0., 0., 1., 0., 0., 0., 1.), Vec3(0., 0., 0), Vec3(0., 0., 0), EULER_123)
const AirProperties * pAP
bool GetVelocity(const Vec3 &X, Vec3 &V) const
static GustWordSetType GustWordSet
void DestroyGustData(void)
static GustFuncMapType GustFuncMap
#define ASSERT(expression)
virtual Gust * Read(const DataManager *pDM, MBDynParser &HP)
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
DriveCaller * pGetDriveCaller(void) const
Gust1D(const Vec3 &f, const Vec3 &g, const doublereal &v, DriveCaller *pT, DriveCaller *pG)
Vec3 GetVecAbs(const ReferenceFrame &rf)
doublereal dGet(const doublereal &dVar) const
void SetAirProperties(const AirProperties *pap)
DriveCaller * GetDriveCaller(bool bDeferred=false)
virtual HighParser::ErrOut GetLineData(void) const
bool SetGustData(const char *name, GustRead *rf)
virtual doublereal GetReal(const doublereal &dDefval=0.0)