MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
MeterDCR Struct Reference
Inheritance diagram for MeterDCR:
Collaboration diagram for MeterDCR:

Public Member Functions

DriveCallerRead (const DataManager *pDM, MBDynParser &HP, bool bDeferred)
 
- Public Member Functions inherited from DriveCallerRead
virtual ~DriveCallerRead (void)
 

Additional Inherited Members

- Static Public Member Functions inherited from DriveCallerRead
static void ReadOutput (DriveCaller *pDC, const DataManager *pDM, MBDynParser &HP)
 
- Protected Member Functions inherited from DriveCallerRead
void NeedDM (const DataManager *pDM, MBDynParser &HP, bool bDeferred, const char *const name)
 

Detailed Description

Definition at line 2289 of file drive_.cc.

Member Function Documentation

DriveCaller * MeterDCR::Read ( const DataManager pDM,
MBDynParser HP,
bool  bDeferred 
)
virtual

Implements DriveCallerRead.

Definition at line 2295 of file drive_.cc.

References DEBUGCOUT, HighParser::GetInt(), HighParser::GetReal(), HighParser::IsKeyWord(), DriveCallerRead::NeedDM(), DataManager::pGetDrvHdl(), and SAFENEWWITHCONSTRUCTOR.

2296 {
2297  NeedDM(pDM, HP, bDeferred, "meter");
2298 
2299  const DriveHandler* pDrvHdl = 0;
2300  if (pDM != 0) {
2301  pDrvHdl = pDM->pGetDrvHdl();
2302  }
2303 
2304  DriveCaller *pDC = 0;
2305 
2306  /* spike every N steps */
2307  doublereal dInitialTime = HP.GetReal();
2308  DEBUGCOUT("Initial time: " << dInitialTime << std::endl);
2309 
2310  doublereal dFinalTime = std::numeric_limits<double>::max();
2311  if (!HP.IsKeyWord("forever")) {
2312  dFinalTime = HP.GetReal();
2313  }
2314  DEBUGCOUT("Final time: " << dFinalTime << std::endl);
2315 
2316  /* Type of random number (additional data) */
2317  integer iSteps = 1;
2318  while (true) {
2319  if (HP.IsKeyWord("steps")) {
2320  iSteps = HP.GetInt();
2321  if (iSteps <= 0) {
2322  silent_cerr("Warning: Steps number " << iSteps
2323  << " is illegal; resorting to default value" << std::endl);
2324  iSteps = 1;
2325  }
2326  DEBUGCOUT("Force changes every " << iSteps
2327  << " steps" << std::endl);
2328  } else {
2329  break;
2330  }
2331  }
2332 
2335  MeterDriveCaller(pDrvHdl, dInitialTime, dFinalTime, iSteps));
2336 
2337  return pDC;
2338 }
virtual integer GetInt(integer iDefval=0)
Definition: parser.cc:1050
const DriveHandler * pGetDrvHdl(void) const
Definition: dataman.h:340
virtual bool IsKeyWord(const char *sKeyWord)
Definition: parser.cc:910
#define DEBUGCOUT(msg)
Definition: myassert.h:232
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
Definition: mynewmem.h:698
void NeedDM(const DataManager *pDM, MBDynParser &HP, bool bDeferred, const char *const name)
Definition: drive_.cc:1354
double doublereal
Definition: colamd.c:52
long int integer
Definition: colamd.c:51
virtual doublereal GetReal(const doublereal &dDefval=0.0)
Definition: parser.cc:1056

Here is the call graph for this function:


The documentation for this struct was generated from the following file: