Marine systems simulation
|
Public Member Functions | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | FrameCable (CoRiBoDynamics::ConstraintSolver *solver, ISimObjectCreator *creator, double beta, string name, int num_plates) |
void | ComputeConstraints (const double T, const double *const X) |
void | InitialConditionSetup (double *const states, std::vector< CoRiBoDynamics::RigidElement * > &plates, const Eigen::Quaterniond &plate_null_angle) |
void | SetAnchorAPos (const Eigen::Vector3d &P) |
void | SetAnchorBPos (const Eigen::Vector3d &P) |
std::vector< CoRiBoDynamics::RigidElement * > | GetPlateConnections () |
void | setEnvironment (CEnvironment *e) |
void | SetPlateRadius (double R) |
virtual CollisionCheckInterface::GeometryVector | CheckForContact (CoRiBoDynamics::CollisionManager::ExternalObject &object) |
Public Member Functions inherited from CoRiBoDynamics::JointConstraint | |
JointConstraint (ConstraintSolver *solver) | |
virtual void | ComputeConstraints (const double T, const double *const X) |
void | addBallJointCoupling (int elementA, int elementB, vec3 vectorA, vec3 vectorB, double Beta, double Alpha, double Gamma) |
void | addHingeCoupling (int elementA, int elementB, vec3 vectorA, vec3 vectorB, vec3 axisA, vec3 axisB, double Beta, double Alpha, double Gamma, double AlphaFriction, double GammaFriction) |
void | addRigidCoupling (int elementA, int elementB, vec3 vectorA, vec3 vectorB, double BetaN, double AlphaN, double GammaN, const Quat &nullAngle, const Quat &BetaM, const Quat &AlphaM, const Quat &GammaM) |
int | addExternalBallJointCoupling (int element, vec3 vector, double Beta, double Alpha, double Gamma, const double *Position, const double *Velocity) |
void | updateExternalBallJointCoupling (int ballJointCoupling, const double *Position, const double *Velocity) |
vec3 | getExternalBallJointCouplingForce (int ballJointCoupling) |
int | addExternalRigidCoupling (int element, vec3 vectorExternalObject, vec3 vectorInternalObject, double BetaN, double AlphaN, double GammaN, const Quat &nullAngle, const Quat &BetaM, const Quat &AlphaM, const Quat &GammaM, const double *Position, const double *Velocity, const double *Orientation, const double *AngularVelocity) |
void | updateExternalRigidCoupling (int rigidCoupling, const double *Position, const double *Velocity, const double *Orientation, const double *AngularVelocity) |
vec6 | getExternalRigidCouplingForce (int rigidCoupling) |
vec3 | getExternalBallJointCouplingForce (ExternalBallJointCoupling &Constraint) |
vec6 | getExternalRigidCouplingForce (ExternalRigidCoupling &Constraint) |
Public Member Functions inherited from CoRiBoDynamics::ConstraintSet | |
ConstraintSet (ConstraintSolver *solver) | |
virtual void | ComputeConstraints (const double T, const double *const X)=0 |
virtual GeometryVector | CheckForContact (CoRiBoDynamics::CollisionManager::ExternalObject &object)=0 |
Protected Attributes | |
std::vector< CoRiBoDynamics::RigidElement * > | m_elements |
CEnvironment * | m_environment |
int | m_num_frame_elements |
double | m_frameLineLength |
int | m_num_anchor_elements |
double | m_anchorLineLength |
double | m_frameDiameter |
double | m_anchorDiameter |
double | m_anchorDensity |
double | m_frameDensity |
int | m_num_plate_elements |
double | m_plate_radius |
CoRiBoDynamics::JointConstraint::RigidCoupling | m_anchor_coupling |
CoRiBoDynamics::JointConstraint::RigidCoupling | m_frame_coupling |
Eigen::Vector3d | m_anchorA_P |
Eigen::Vector3d | m_anchorB_P |
double | m_Cd_n |
double | m_Cd_t |
Normal drag coefficient. | |
Eigen::Vector3d | m_Ca |
Tangential drag coefficient. | |
Protected Attributes inherited from CoRiBoDynamics::JointConstraint | |
std::vector< HingeCoupling,Eigen::aligned_allocator< HingeCoupling > > | m_HingeCoupling |
std::vector< BallJointCoupling,Eigen::aligned_allocator< BallJointCoupling > > | m_BallJointCoupling |
BallJoint Coupling. | |
std::vector< RigidCoupling,Eigen::aligned_allocator< RigidCoupling > > | m_RigidCoupling |
BallJoint Coupling. | |
std::vector< ExternalBallJointCoupling, Eigen::aligned_allocator< ExternalBallJointCoupling > > | m_ExternalBallJointCoupling |
Rigid Coupling. | |
std::vector< ExternalRigidCoupling, Eigen::aligned_allocator< ExternalRigidCoupling > > | m_ExternalRigidCoupling |
External Ball Joint Coupling. | |
Additional Inherited Members | |
Public Types inherited from CollisionCheckInterface | |
typedef std::vector< CoRiBoDynamics::CollisionManager::InternalObject, Eigen::aligned_allocator< CoRiBoDynamics::CollisionManager::InternalObject > > | GeometryVector |
Protected Member Functions inherited from CoRiBoDynamics::JointConstraint | |
void | ComputeHingeCoupling (HingeCoupling &Constraint) |
void | ComputeBallJointCoupling (BallJointCoupling &Constraint) |
void | ComputeRigidCoupling (RigidCoupling &Constraint) |
void | ComputeExternalBallJointCoupling (ExternalBallJointCoupling &Constraint) |
void | ComputeExternalVaryingBallJointCoupling (ExternalBallJointCoupling &Constraint, double vector_length_changerate) |
void | ComputeExternalRigidCoupling (ExternalRigidCoupling &Constraint) |
Protected Member Functions inherited from CoRiBoDynamics::ConstraintSet | |
const std::vector< RigidElement * > & | ElementVector () |
void | addConstraintResultantForce (int element, const vec6 &Force) |
const vec3 | Acceleration (int element) |
const vec3 | AngularAcceleration (int element) |
const vec6 | SecondDerivatives (int element) |
void | addMatrix (int i, int j, const mat6 &M) |
Static Protected Member Functions inherited from CoRiBoDynamics::JointConstraint | |
static mat4 | QuaternionConstraint_Jacobian (const Quat &q) |
static mat43 | Quaternion_Kinematics (const Quat &q) |
|
virtual |
Implements CollisionCheckInterface.
|
virtual |
Computes and returns the constraint system matrix for the current states (T and X). Adds constraint forces.
Reimplemented from CoRiBoDynamics::JointConstraint.