106 bool bPos[3],
bool bVel[3],
108 bool bRot[3],
bool bAgv[3],
120 virtual std::ostream&
Restart(std::ostream& out)
const;
133 virtual std::ostream&
135 const char *prefix =
"",
136 bool bInitial =
false)
const;
140 bool bInitial =
false,
143 virtual std::ostream&
145 const char *prefix =
"",
146 bool bInitial =
false)
const;
150 bool bInitial =
false,
248 connectedNodes.resize(2);
249 connectedNodes[0] =
pNode1;
250 connectedNodes[1] =
pNode2;
320 bool bPos[3],
bool bVel[3],
322 bool bRot[3],
bool bAgv[3],
333 virtual std::ostream&
Restart(std::ostream& out)
const;
346 virtual std::ostream&
348 const char *prefix =
"",
349 bool bInitial =
false)
const;
353 bool bInitial =
false,
356 virtual std::ostream&
358 const char *prefix =
"",
359 bool bInitial =
false)
const;
363 bool bInitial =
false,
462 connectedNodes.resize(1);
463 connectedNodes[0] =
pNode;
519 virtual std::ostream&
Restart(std::ostream& out)
const;
unsigned int iVelEqIndex[3]
unsigned int iVelEqIndex[3]
DofOrder::Order GetEqType(unsigned int i) const
virtual std::ostream & Restart(std::ostream &out) const
virtual unsigned int iGetInitialNumDof(void) const
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
virtual std::ostream & Restart(std::ostream &out) const
unsigned int iAgvIncid[3]
virtual void Output(OutputHandler &OH) const
virtual unsigned int iGetNumDof(void) const
TplDriveOwner< Vec3 > XPDrv
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual std::ostream & DescribeDof(std::ostream &out, const char *prefix="", bool bInitial=false) const
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual doublereal dGetPrivData(unsigned int i) const
unsigned int nRotConstraints
unsigned int nAgvConstraints
virtual Hint * ParseHint(DataManager *pDM, const char *s) const
TplDriveOwner< Vec3 > OmegaPDrv
unsigned int nPosConstraints
virtual bool bInverseDynamics(void) const
unsigned int nVelConstraints
TplDriveOwner< Vec3 > ThetaDrv
TotalForce(unsigned int uL, TplDriveCaller< Vec3 > *const pDCForce, TplDriveCaller< Vec3 > *const pDCCouple, const StructNode *pN1, const Vec3 &f1Tmp, const Mat3x3 &R1hTmp, const Mat3x3 &R1hrTmp, const StructNode *pN2, const Vec3 &f2Tmp, const Mat3x3 &R2hTmp, const Mat3x3 &R2hrTmp, flag fOut)
unsigned int iPosIncid[3]
unsigned int nVelConstraints
virtual Joint::Type GetJointType(void) const
virtual std::ostream & DescribeDof(std::ostream &out, const char *prefix="", bool bInitial=false) const
const StructNode * pNode2
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
std::vector< Hint * > Hints
void OutputPrepare(OutputHandler &OH)
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
TplDriveOwner< Vec3 > XPPDrv
unsigned int iRotEqIndex[3]
TplDriveOwner< Vec3 > MDrv
unsigned int iPosIncid[3]
virtual std::ostream & Restart(std::ostream &out) const
unsigned int iVelIncid[3]
unsigned int iAgvIncid[3]
void OutputPrepare(OutputHandler &OH)
void Update(const VectorHandler &XCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS)
unsigned int iPosEqIndex[3]
TplDriveOwner< Vec3 > OmegaPDrv
virtual Hint * ParseHint(DataManager *pDM, const char *s) const
TplDriveOwner< Vec3 > OmegaDrv
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
TotalPinJoint(unsigned int uL, const DofOwner *pDO, bool bPos[3], bool bVel[3], TplDriveCaller< Vec3 > *const pDCPos[3], bool bRot[3], bool bAgv[3], TplDriveCaller< Vec3 > *const pDCRot[3], const Vec3 &XcTmp, const Mat3x3 &RchTmp, const Mat3x3 &RchrTmp, const StructNode *pN, const Vec3 &fnTmp, const Mat3x3 &RnhTmp, const Mat3x3 &RnhrTmp, flag fOut)
void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
unsigned int iAgvEqIndex[3]
unsigned int nAgvConstraints
const StructNode * pNode2
virtual void Update(const VectorHandler &XCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS)
VariableSubMatrixHandler & InitialAssJac(VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
TplDriveOwner< Vec3 > XPDrv
virtual Force::Type GetForceType(void) const
TplDriveOwner< Vec3 > XPPDrv
unsigned int iAgvEqIndex[3]
DofOrder::Order GetEqType(unsigned int i) const
const StructNode * pNode1
void Output(OutputHandler &OH) const
virtual bool bInverseDynamics(void) const
unsigned int iRotEqIndex[3]
virtual Joint::Type GetJointType(void) const
virtual void AfterConvergence(const VectorHandler &X, const VectorHandler &XP)
#define ASSERT(expression)
virtual unsigned int iGetInitialNumDof(void) const
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
TplDriveOwner< Vec3 > OmegaDrv
virtual bool bInverseDynamics(void) const
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
unsigned int nRotConstraints
virtual unsigned int iGetNumDof(void) const
void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
TplDriveOwner< Vec3 > XDrv
virtual std::ostream & DescribeEq(std::ostream &out, const char *prefix="", bool bInitial=false) const
virtual unsigned int iGetPrivDataIdx(const char *s) const
unsigned int nPosConstraints
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
virtual unsigned int iGetNumPrivData(void) const
TotalJoint(unsigned int uL, const DofOwner *pDO, bool bPos[3], bool bVel[3], TplDriveCaller< Vec3 > *const pDCPos[3], bool bRot[3], bool bAgv[3], TplDriveCaller< Vec3 > *const pDCRot[3], const StructNode *pN1, const Vec3 &f1Tmp, const Mat3x3 &R1hTmp, const Mat3x3 &R1hrTmp, const StructNode *pN2, const Vec3 &f2Tmp, const Mat3x3 &R2hTmp, const Mat3x3 &R2hrTmp, flag fOut)
VariableSubMatrixHandler & InitialAssJac(VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
virtual doublereal dGetPrivData(unsigned int i) const
void Output(OutputHandler &OH) const
unsigned int iVelIncid[3]
virtual SubVectorHandler & InitialAssRes(SubVectorHandler &WorkVec, const VectorHandler &XCurr)
unsigned int iRotIncid[3]
void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
unsigned int nConstraints
virtual unsigned int iGetPrivDataIdx(const char *s) const
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
unsigned int nConstraints
TplDriveOwner< Vec3 > ThetaDrv
unsigned int iRotIncid[3]
SubVectorHandler & InitialAssRes(SubVectorHandler &WorkVec, const VectorHandler &XCurr)
TplDriveOwner< Vec3 > XDrv
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
const StructNode * pNode1
TplDriveOwner< Vec3 > FDrv
unsigned int iPosEqIndex[3]
DofOrder::Order GetDofType(unsigned int i) const
SubVectorHandler & InitialAssRes(SubVectorHandler &WorkVec, const VectorHandler &XCurr)
virtual void AfterConvergence(const VectorHandler &X, const VectorHandler &XP)
virtual unsigned int iGetNumPrivData(void) const
DofOrder::Order GetDofType(unsigned int i) const
virtual VariableSubMatrixHandler & InitialAssJac(VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
virtual std::ostream & DescribeEq(std::ostream &out, const char *prefix="", bool bInitial=false) const