Marine systems simulation
|
Public Member Functions | |
SupergridCableCollisionManager (ConstraintSolver *solver, SupergridLineStructure *cable, double timeConstant) | |
virtual void | ComputeConstraints (const double T, const double *const X) |
Public Member Functions inherited from CoRiBoDynamics::CollisionManager | |
CollisionManager (ConstraintSolver *solver, double timeConstant) | |
int | AddCapsule (double radius, double height, double contactStiffness, double contactDamping, double frictionCoefficient, int index) |
int | AddSphere (double radius, double contactStiffness, double contactDamping, double frictionCoefficient, int index) |
int | AddTorus (double majorRadius, double minorRadius, double contactStiffness, double contactDamping, double frictionCoefficient, int index) |
int | AddChamfer (double majorRadius, double minorRadius, double contactStiffness, double contactDamping, double frictionCoefficient, int index) |
int | AddPlate (double lengthX, double lengthY, double thickness, double contactStiffness, double contactDamping, double frictionCoefficient, int index) |
int | addExternalSphere (double radius, const double *Position, const double *Velocity, const double *Orientation, const double *AngularVelocity, double contactStiffness, double contactDamping, double frictionCoefficient) |
int | addExternalCapsule (double length, double radius, const double *Position, const double *Velocity, const double *Orientation, const double *AngularVelocity, double contactStiffness, double contactDamping, double frictionCoefficient) |
int | addExternalToroid (double majorRadius, double minorRadius, const double *Position, const double *Velocity, const double *Orientation, const double *AngularVelocity, double contactStiffness, double contactDamping, double frictionCoefficient) |
int | addExternalChamfer (double majorRadius, double minorRadius, const double *Position, const double *Velocity, const double *Orientation, const double *AngularVelocity, double contactStiffness, double contactDamping, double frictionCoefficient) |
int | addExternalPlate (double lengthX, double lengthY, double thickness, const double *Position, const double *Velocity, const double *Orientation, const double *AngularVelocity, double contactStiffness, double contactDamping, double frictionCoefficient) |
void | updateExternalElement (int index, const double *Position, const double *Velocity, const double *Orientation, const double *AngularVelocity) |
vec6 | getExternalObjectReactionForce (int index) |
vec6 | getExternalObjectReactionForce (ExternalObject &external_object) |
vec6 | getInternalObjectReactionForce (InternalObject &internal_object) |
virtual void | ComputeConstraints (const double T, const double *const X) |
void | setSpacePartitionOrigo (double x, double y, double z) |
void | setSpacePartitionBlockSize (double length) |
Public Member Functions inherited from CoRiBoDynamics::ConstraintSet | |
ConstraintSet (ConstraintSolver *solver) | |
virtual void | ComputeConstraints (const double T, const double *const X)=0 |
Protected Attributes | |
SupergridLineStructure * | m_cable |
Protected Attributes inherited from CoRiBoDynamics::CollisionManager | |
std::vector< ExternalObject, Eigen::aligned_allocator< ExternalObject > > | m_ExternalObjects |
std::vector< InternalObject, Eigen::aligned_allocator< InternalObject > > | m_InternalObjects |
list of all external objects in this collision manager | |
DataStructures::SpacePartitioner | m_CollisionPartition |
ObjectFactoryStack< contact_matrix_index_pair > | m_external_contact |
double | m_timeConstant |
Additional Inherited Members | |
Public Types inherited from CoRiBoDynamics::CollisionManager | |
enum | ShapeType { SPHERE =0 , CAPSULE =1 , CHAMFER =2 , BOX =3 , TOROID =4 , PLATE =5 } |
Protected Member Functions inherited from CoRiBoDynamics::CollisionManager | |
void | CollisionTest (InternalObject *objectA, InternalObject *objectB, const double *const X) |
list of all internal objects in this collision manager | |
void | CollisionTest (ExternalObject *ExtObj, InternalObject *IntObj, const double *const X) |
double | ObjectDistance (GeometricObject *shapeA, GeometricObject *shapeB, GeometryTools::MinDistanceInfo &result) |
bool | BoundingSphereRejectionTest (GeometricObject *sphereA, GeometricObject *sphereB) |
bool | OBB_BoundingSphereRejectionTest (GeometricObject *box, GeometricObject *sphere) |
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) |
|
virtual |
Computes and returns the constraint system matrix for the current states (T and X). Adds constraint forces.
Reimplemented from CoRiBoDynamics::CollisionManager.
Reimplemented in CoRiBoDynamics::Structures::SupergridWinchCableCollisionManager.