本文整理汇总了C++中FEM_ObjectBroker::getNewBeamIntegration方法的典型用法代码示例。如果您正苦于以下问题:C++ FEM_ObjectBroker::getNewBeamIntegration方法的具体用法?C++ FEM_ObjectBroker::getNewBeamIntegration怎么用?C++ FEM_ObjectBroker::getNewBeamIntegration使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FEM_ObjectBroker
的用法示例。
在下文中一共展示了FEM_ObjectBroker::getNewBeamIntegration方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: data
int
DispBeamColumn2d::recvSelf(int commitTag, Channel &theChannel,
FEM_ObjectBroker &theBroker)
{
//
// receive the integer data containing tag, numSections and coord transformation info
//
int dbTag = this->getDbTag();
int i;
static Vector data(14);
if (theChannel.recvVector(dbTag, commitTag, data) < 0) {
opserr << "DispBeamColumn2d::recvSelf() - failed to recv data Vector\n";
return -1;
}
this->setTag((int)data(0));
connectedExternalNodes(0) = (int)data(1);
connectedExternalNodes(1) = (int)data(2);
int nSect = (int)data(3);
int crdTransfClassTag = (int)data(4);
int crdTransfDbTag = (int)data(5);
int beamIntClassTag = (int)data(6);
int beamIntDbTag = (int)data(7);
rho = data(8);
cMass = (int)data(9);
alphaM = data(10);
betaK = data(11);
betaK0 = data(12);
betaKc = data(13);
// create a new crdTransf object if one needed
if (crdTransf == 0 || crdTransf->getClassTag() != crdTransfClassTag) {
if (crdTransf != 0)
delete crdTransf;
crdTransf = theBroker.getNewCrdTransf(crdTransfClassTag);
if (crdTransf == 0) {
opserr << "DispBeamColumn2d::recvSelf() - failed to obtain a CrdTrans object with classTag " <<
crdTransfClassTag << endln;
return -2;
}
}
crdTransf->setDbTag(crdTransfDbTag);
// invoke recvSelf on the crdTransf object
if (crdTransf->recvSelf(commitTag, theChannel, theBroker) < 0) {
opserr << "DispBeamColumn2d::sendSelf() - failed to recv crdTranf\n";
return -3;
}
// create a new beamInt object if one needed
if (beamInt == 0 || beamInt->getClassTag() != beamIntClassTag) {
if (beamInt != 0)
delete beamInt;
beamInt = theBroker.getNewBeamIntegration(beamIntClassTag);
if (beamInt == 0) {
opserr << "DispBeamColumn2d::recvSelf() - failed to obtain the beam integration object with classTag" <<
beamIntClassTag << endln;
exit(-1);
}
}
beamInt->setDbTag(beamIntDbTag);
// invoke recvSelf on the beamInt object
if (beamInt->recvSelf(commitTag, theChannel, theBroker) < 0)
{
opserr << "DispBeamColumn2d::sendSelf() - failed to recv beam integration\n";
return -3;
}
//
// recv an ID for the sections containing each sections dbTag and classTag
//
ID idSections(2*nSect);
int loc = 0;
if (theChannel.recvID(dbTag, commitTag, idSections) < 0) {
opserr << "DispBeamColumn2d::recvSelf() - failed to recv ID data\n";
return -1;
}
//
// now receive the sections
//
if (numSections != nSect) {
//
// we do not have correct number of sections, must delete the old and create
//.........这里部分代码省略.........