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

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 2535 of file drive_.cc.

Member Function Documentation

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

Implements DriveCallerRead.

Definition at line 2541 of file drive_.cc.

References MBDynParser::GetDriveCaller(), WithLabel::GetLabel(), IncludeParser::GetLineData(), Node::GetNodeType(), MBDYN_EXCEPT_ARGS, DriveCallerRead::NeedDM(), DataManager::pGetDrvHdl(), ScalarDof::pNode, psNodeNames, ReadScalarDof(), and SAFENEWWITHCONSTRUCTOR.

2542 {
2543  NeedDM(pDM, HP, bDeferred, "dof");
2544 
2545  const DriveHandler* pDrvHdl = 0;
2546  if (pDM != 0) {
2547  pDrvHdl = pDM->pGetDrvHdl();
2548  }
2549 
2550  DriveCaller *pDC = 0;
2551 
2552  /* driver legato ad un grado di liberta' nodale */
2553  if (pDM == 0) {
2554  silent_cerr("sorry, since the driver is not owned by a DataManager" << std::endl
2555  << "no DOF dependent drivers are allowed;" << std::endl
2556  << "aborting..." << std::endl);
2558  }
2559 
2560  ScalarDof SD = ReadScalarDof(pDM, HP, true, true);
2561 
2562 #ifdef USE_MPI
2563  if (MPI::Is_initialized() && MBDynComm.Get_size() > 1) {
2564  silent_cerr("warning: add explicit connection entry for "
2565  << psNodeNames[SD.pNode->GetNodeType()]
2566  << "(" << SD.pNode->GetLabel() << ") dof drive"
2567  " at line " << HP.GetLineData() << std::endl);
2568  }
2569 #endif /* USE_MPI */
2570 
2571  /* Chiamata ricorsiva a leggere il drive supplementare */
2572  DriveCaller* pTmp = 0;
2573  pTmp = HP.GetDriveCaller();
2574 
2575  /* allocazione e creazione */
2578  DofDriveCaller(pDrvHdl, pTmp, SD));
2579 
2580  return pDC;
2581 }
ScalarNode * pNode
Definition: node.h:708
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
const DriveHandler * pGetDrvHdl(void) const
Definition: dataman.h:340
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
Definition: mynewmem.h:698
const char * psNodeNames[]
Definition: enums.cc:372
virtual Node::Type GetNodeType(void) const =0
DriveCaller * GetDriveCaller(bool bDeferred=false)
Definition: mbpar.cc:2033
void NeedDM(const DataManager *pDM, MBDynParser &HP, bool bDeferred, const char *const name)
Definition: drive_.cc:1354
virtual HighParser::ErrOut GetLineData(void) const
Definition: parsinc.cc:697
unsigned int GetLabel(void) const
Definition: withlab.cc:62
ScalarDof ReadScalarDof(const DataManager *pDM, MBDynParser &HP, bool bDof, bool bOrder)
Definition: dataman3.cc:2423

Here is the call graph for this function:


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