62 virtual std::ostream&
Restart(std::ostream& out)
const;
70 virtual const char *
c_str(
void)
const = 0;
71 typedef std::vector<DriveOwner>::const_iterator
iterator;
72 const std::vector<DriveOwner>
drives;
84 virtual const char *
c_str(
void)
const;
96 virtual const char *
c_str(
void)
const;
105 const char *
c_str(
void)
const;
130 for ( ; i !=
drives.end(); ++i) {
147 for ( ; i !=
drives.end(); ++i) {
156 return iMin->dGetP();
165 for ( ; i !=
drives.end(); ++i) {
182 for ( ; i !=
drives.end(); ++i) {
191 return iMin->dGetP(dVar);
197 if (!i->bIsDifferentiable()) {
209 out <<
c_str() <<
", "
213 i->pGetDriveCaller()->Restart(out);
215 if (
drives.end() - i > 1) {
316 if (iNumDrives < 1) {
317 silent_cerr(
"at least one drive caller expected at line " << HP.
GetLineData() << std::endl);
321 std::vector<DriveOwner> drives;
323 drives.reserve(iNumDrives);
325 for (
int i = 0; i < iNumDrives; ++i) {
370 #ifndef STATIC_MODULES
376 silent_cerr(
"minmaxdrive: "
377 "module_init(" << module_name <<
") "
378 "failed" << std::endl);
385 #endif // ! STATIC_MODULES
virtual bool bCompare(doublereal lhs, doublereal rhs) const
MinDriveCaller(const std::vector< DriveOwner > &drives)
bool SetDriveCallerData(const char *name, DriveCallerRead *rf)
int module_init(const char *module_name, void *pdm, void *php)
This function registers our user defined element for the math parser.
#define MBDYN_EXCEPT_ARGS
virtual integer GetInt(integer iDefval=0)
doublereal dGetP(void) const
MaxDriveCaller(const std::vector< DriveOwner > &drives)
std::vector< DriveOwner >::const_iterator iterator
doublereal dGet(void) const
enum MinMaxDriveDCR::Type eType
virtual ~MaxDriveCaller(void)
const char * c_str(void) const
virtual ~MinDriveCaller(void)
virtual const char * c_str(void) const
virtual const char * c_str(void) const
bool bIsDifferentiable(void) const
#define ASSERT(expression)
virtual DriveCaller * pCopy(void) const
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
virtual bool bCompare(doublereal lhs, doublereal rhs) const
virtual DriveCaller * pCopy(void) const
virtual ~MinMaxDriveCaller()
DriveCaller * Read(const DataManager *pDM, MBDynParser &HP, bool bDeferred)
virtual std::ostream & Restart(std::ostream &out) const
DriveCaller * GetDriveCaller(bool bDeferred=false)
const std::vector< DriveOwner > drives
virtual const char * c_str(void) const =0
MinMaxDriveCaller(const std::vector< DriveOwner > &drives)
virtual HighParser::ErrOut GetLineData(void) const
virtual bool bCompare(doublereal lhs, doublereal rhs) const =0
MinMaxDriveDCR(enum Type type)