117 : m_status(NOT_READY)
240 if (idx < 1 || idx > 3)
throw;
250 if (ir < 1 || ir > 3 || ic < 1 || ic > 3)
throw;
260 if (idx < 1 || idx > 3)
throw;
270 if (idx < 1 || idx > 3)
throw;
279 if (idx < 1 || idx > 3)
throw;
289 if (idx < 1 || idx > 3)
throw;
299 if (idx < 1 || idx > 3)
throw;
310 if (idx < 1 || idx > 3)
throw;
360 if (idx < 1 || idx > 3)
throw;
369 if (idx < 1 || idx > 3)
throw;
379 if (idx < 1 || idx > 3)
throw;
389 if (idx < 1 || idx > 3)
throw;
407 memset(&
mbc, 0,
sizeof(
mbc));
413 if (
Initialize(refnode_rot, nodes, labels, rot, accels)) {
434 memset(&
mbc, 0,
sizeof(
mbc));
648 if (idx < 1 || idx > 3 || n < 1 || n >
GetNodes())
throw;
653 MBCNodal::R(uint32_t n, uint8_t ir, uint8_t ic)
const
657 if (ir < 1 || ir > 3 || ic < 1 || ic > 3 || n < 1 || n >
GetNodes())
throw;
658 return (
MBC_N_R(&
mbc))[9*(n - 1) + 3*(ic - 1) + ir - 1];
666 if (idx < 1 || idx > 3 || n < 1 || n >
GetNodes())
throw;
675 if (idx < 1 || idx > 3 || n < 1 || n >
GetNodes())
throw;
683 if (idx < 1 || idx > 3 || n < 1 || n >
GetNodes())
throw;
692 if (idx < 1 || idx > 3 || n < 1 || n >
GetNodes())
throw;
701 if (idx < 1 || idx > 3 || n < 1 || n >
GetNodes())
throw;
711 if (idx < 1 || idx > 3 || n < 1 || n >
GetNodes())
throw;
858 if (idx < 1 || idx > 3 || n < 1 || n >
GetNodes())
throw;
866 if (idx < 1 || idx > 3 || n < 1 || n >
GetNodes())
throw;
875 if (idx < 1 || idx > 3 || n < 1 || n >
GetNodes())
throw;
884 if (idx < 1 || idx > 3 || n < 1 || n >
GetNodes())
throw;
902 memset(&
mbc, 0,
sizeof(
mbc));
927 memset(&
mbc, 0,
sizeof(
mbc));
1082 if (m < 1 || m >
GetModes())
throw;
1090 if (m < 1 || m >
GetModes())
throw;
1105 if (m < 1 || m >
GetModes())
throw;
1113 if (m < 1 || m >
GetModes())
throw;
1117 #endif // USE_SOCKET
const double *const GetRefNodeOmegaP(void) const
virtual int GetMotion(void) const
void SetDataAndNext(bool bd)
#define MBC_F_LABELS(mbc)
virtual int PutForces(bool bConverged) const
const double & Theta(uint8_t idx) const
bool bAccelerations(void) const
const double & R(uint8_t ir, uint8_t ic) const
int mbc_nodal_get_motion(mbc_nodal_t *mbc)
Get nodal motion from peer.
virtual mbc_refnode_stub_t * GetRefNodePtr(void) const =0
const double & XPP(uint8_t idx) const
const double *const GetRefNodeXP(void) const
const double *const GetOmegaP(void) const
uint32_t KinematicsLabel(void) const
const double *const GetRefNodeEuler123(void) const
Status GetStatus(void) const
int mbc_modal_destroy(mbc_modal_t *mbc)
Destroy modal data.
const double & M(uint8_t idx) const
const double & OmegaP(uint8_t idx) const
int mbc_nodal_init(mbc_nodal_t *mbc, unsigned refnode, unsigned nodes, unsigned labels, unsigned rot, unsigned accels)
Initialize nodal data.
const double & X(uint8_t idx) const
bool bVerbose(void) const
#define MBC_N_D_LABELS(mbc)
uint32_t KinematicsLabel(void) const
const double *const GetRefNodeOmega(void) const
virtual mbc_refnode_stub_t * GetRefNodePtr(void) const
const double & Theta(uint8_t idx) const
const double & Omega(uint8_t idx) const
const uint32_t & DynamicsLabel(void) const
const double *const GetX(void) const
MBCBase::Type GetType(void) const
const double & X(uint8_t idx) const
const double *const GetXPP(void) const
#define MBC_F_ACCELS(mbc)
uint32_t GetRefNodeKinematicsLabel(void) const
const double & R(uint8_t ir, uint8_t ic) const
const double & QP(uint32_t m) const
const double & R(uint8_t ir, uint8_t ic) const
const double & Euler123(uint8_t idx) const
const double & XPP(uint8_t idx) const
const double *const GetEuler123(void) const
const double & XP(uint8_t idx) const
int Initialize(MBCBase::Rot refnode_rot, unsigned nodes, bool labels, MBCBase::Rot rot, bool accels)
const double * GetP(void) const
const double & OmegaP(uint8_t idx) const
virtual mbc_t * GetBasePtr(void) const
uint32_t * GetDynamicsLabel(void) const
const double & Q(uint32_t m) const
const double *const GetQP(void) const
#define MBC_N_OMEGAP(mbc)
uint32_t GetModes(void) const
const double *const GetRefNodeR(void) const
virtual mbc_t * GetBasePtr(void) const
#define MBC_R_D_LABEL(mbc)
virtual mbc_refnode_stub_t * GetRefNodePtr(void) const
int mbc_modal_negotiate_request(mbc_modal_t *mbc)
Negotiate modal data.
bool bRefNode(void) const
const double *const GetR(void) const
uint32_t GetNodes(void) const
const double & F(uint8_t idx) const
const double *const GetTheta(void) const
MBCBase::Rot GetRot(void) const
const uint32_t & DynamicsLabel(void) const
const double & F(uint8_t idx) const
const double & M(uint8_t idx) const
const double & XPP(uint8_t idx) const
const double & X(uint8_t idx) const
MBCBase::Rot GetRefNodeRot(void) const
int mbc_modal_init(mbc_modal_t *mbc, int refnode, unsigned modes)
Initialize modal data.
virtual mbc_t * GetBasePtr(void) const =0
uint32_t * GetKinematicsLabel(void) const
Connection data structure (partially opaque)
int Init(const char *const path)
const double *const GetOmega(void) const
const double & Omega(uint8_t idx) const
const double * GetF(void) const
#define MBC_R_OMEGAP(mbc)
const double *const GetQ(void) const
const double & Omega(uint8_t idx) const
virtual int Negotiate(void) const
int mbc_nodal_put_forces(mbc_nodal_t *mbc, int last)
Put forces to peer.
enum MBCBase::Status m_status
bool bDataAndNext(void) const
#define MBC_R_K_LABEL(mbc)
const double *const GetRefNodeX(void) const
const double *const GetRefNodeTheta(void) const
#define MBC_F_REF_NODE(mbc)
virtual int Negotiate(void) const
int mbc_unix_init(mbc_t *mbc, const char *path)
Initialize communication using "unix" socket.
const double *const GetXP(void) const
MBCBase::Type GetType(void) const
int mbc_nodal_negotiate_request(mbc_nodal_t *mbc)
Negotiate nodal data.
uint32_t GetRefNodeDynamicsLabel(void) const
const double * GetM(void) const
const uint32_t & DynamicsLabel(void) const
const double * GetRefNodeF(void) const
#define MBC_U_ROT_2_REF_NODE_ROT(u)
int mbc_inet_init(mbc_t *mbc, const char *host, short unsigned port)
Initialize communication using "inet" socket.
const double & Euler123(uint8_t idx) const
int mbc_modal_get_motion(mbc_modal_t *mbc)
Get modal motion from peer.
const double & M(uint8_t idx) const
const double & OmegaP(uint8_t idx) const
const double & P(uint32_t m) const
const double & F(uint8_t idx) const
const double * GetRefNodeM(void) const
const double *const GetRefNodeXPP(void) const
virtual int GetMotion(void) const
#define MBC_R_EULER_123(mbc)
#define MBC_F_ROT_REF_NODE(mbc)
virtual int PutForces(bool bConverged) const
const double & XP(uint8_t idx) const
#define MBC_N_K_LABELS(mbc)
int mbc_nodal_destroy(mbc_nodal_t *mbc)
Destroy nodal data.
uint32_t KinematicsLabel(void) const
#define MBC_N_EULER_123(mbc)
const double & Theta(uint8_t idx) const
const double & Euler123(uint8_t idx) const
int Initialize(MBCBase::Rot refnode_rot, unsigned modes)
int mbc_modal_put_forces(mbc_modal_t *mbc, int last)
Put forces to peer.
const double & XP(uint8_t idx) const