1#ifndef TRAWLCABLE_CONSTRAINT_SETS_H
2#define TRAWLCABLE_CONSTRAINT_SETS_H
3#include "EnvironmentProvider.h"
4#include "CollisionManager.h"
5#include "JointConstraint.h"
21 std::vector<int> elements;
29 vec3 GetBallJointCouplingForce(
int i);
36 m_CouplingData = data;
37 m_elements = elements;
40 void SetStates(
double T,
const double* X){
46 for(
int i = 0; i < m_elements.size()-1; ++i){
47 m_CouplingData.elementA = m_elements[i];
48 m_CouplingData.elementB = m_elements[i+1];
49 m_master->ComputeRigidCoupling(m_CouplingData);
53 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
58 std::vector<int> m_elements;
62 std::vector<CableSegmentTask*> m_CableSegmentTask;
65 int m_ThreadManagerGroupID;
67 std::vector<vec3> m_BallJointForces;
76 double elementContactStiffness;
77 double frictionCoefficient;
78 double contactDamping;
79 std::vector<int> elements;
86 double getFrequencyCoefficient() {
87 return m_timeConstant;
90 void setStartTimeCollision(
double time) {
91 m_startTimeCollision = time;
102 std::vector<ElementContact>* GetContactPoints();
105 double m_startTimeCollision;
107 struct CableSegment {
int start;
int end;
double elementLength;
int firstElementInSegment;
int lastElementInSegment;};
108 std::vector<CableSegment> m_CableSegments;
110 std::vector<ElementContact> m_ContactPoints;
120 std::vector<int> elements;
122 double elementLength;
124 double elementDisplacementVolume;
131 double displacementVolume;
149 void setEnvironmentPointer(environment::EnvironmentProvider* environment);
151 std::vector<CableSegment> m_Cables;
152 std::vector<TrawlDoor> m_TrawlDoors;
153 std::vector<ClumpWeight> m_ClumpWeights;
155 double m_timeConstant;
156 environment::EnvironmentProvider* m_environment;
Definition CollisionManager.h:122
Definition CollisionManager.h:37
Definition ConstraintSet.h:24
Definition ConstraintSolver.h:31
Definition AsynchronousTask.h:15
Definition TrawlCableConstraintSets.h:117
void ComputeConstraints(const double T, const double *const X)
Definition JointConstraint.h:17
Definition TrawlCableConstraintSets.h:71
void ComputeConstraints(const double T, const double *const X)
Definition TrawlCableConstraintSets.h:32
Definition TrawlCableConstraintSets.h:11
virtual void ComputeConstraints(const double T, const double *const X)
Definition CollisionManager.h:6
Definition TrawlCableConstraintSets.h:119
Definition TrawlCableConstraintSets.h:137
Definition TrawlCableConstraintSets.h:126
Definition JointConstraint.h:125
Definition TrawlCableConstraintSets.h:73
Definition TrawlCableConstraintSets.h:107
Definition TrawlCableConstraintSets.h:94
double MainSegmentPosition
contact point on element B
Definition TrawlCableConstraintSets.h:99
double la
index of element B
Definition TrawlCableConstraintSets.h:97
int ib
index of element A
Definition TrawlCableConstraintSets.h:96
double lb
contact point on element A
Definition TrawlCableConstraintSets.h:98
Definition TrawlCableConstraintSets.h:13