step/stepcore
joint.cc
Go to the documentation of this file.
27 STEPCORE_META_OBJECT(Anchor, QT_TRANSLATE_NOOP("ObjectClass", "Anchor"), QT_TR_NOOP("Anchor: fixes position of the body"), 0,
29 STEPCORE_PROPERTY_RW(Object*, body, QT_TRANSLATE_NOOP("PropertyName", "body"), STEPCORE_UNITS_NULL, QT_TR_NOOP("Body"), body, setBody)
30 STEPCORE_PROPERTY_RW(StepCore::Vector2d, position, QT_TRANSLATE_NOOP("PropertyName", "position"), QT_TRANSLATE_NOOP("Units", "m"), QT_TR_NOOP("Position"), position, setPosition)
31 STEPCORE_PROPERTY_RW(double, angle, QT_TRANSLATE_NOOP("PropertyName", "angle"), QT_TRANSLATE_NOOP("Units", "rad"), QT_TR_NOOP("Angle"), angle, setAngle))
33 STEPCORE_META_OBJECT(Pin, QT_TRANSLATE_NOOP("ObjectClass", "Pin"), QT_TR_NOOP("Pin: fixes position of a given point on the body"), 0,
35 STEPCORE_PROPERTY_RW(Object*, body, QT_TRANSLATE_NOOP("PropertyName", "body"), STEPCORE_UNITS_NULL, QT_TR_NOOP("Body"), body, setBody)
36 STEPCORE_PROPERTY_RW(StepCore::Vector2d, localPosition, QT_TRANSLATE_NOOP("PropertyName", "localPosition"), QT_TRANSLATE_NOOP("Units", "m"), QT_TR_NOOP("Position on the body"), localPosition, setLocalPosition)
37 STEPCORE_PROPERTY_RW(StepCore::Vector2d, position, QT_TRANSLATE_NOOP("PropertyName", "position"), QT_TRANSLATE_NOOP("Units", "m"), QT_TR_NOOP("Position in the world"), position, setPosition))
39 STEPCORE_META_OBJECT(Stick, QT_TRANSLATE_NOOP("ObjectClass", "Stick"), QT_TR_NOOP("Massless stick which can be connected to bodies"), 0,
41 STEPCORE_PROPERTY_RW(double, restLength, QT_TRANSLATE_NOOP("PropertyName", "restLength"), QT_TRANSLATE_NOOP("Units", "m"), QT_TR_NOOP("Rest length of the stick"), restLength, setRestLength)
42 STEPCORE_PROPERTY_RW(Object*, body1, QT_TRANSLATE_NOOP("PropertyName", "body1"), STEPCORE_UNITS_NULL, QT_TR_NOOP("Body1"), body1, setBody1)
43 STEPCORE_PROPERTY_RW(Object*, body2, QT_TRANSLATE_NOOP("PropertyName", "body2"), STEPCORE_UNITS_NULL, QT_TR_NOOP("Body2"), body2, setBody2)
44 STEPCORE_PROPERTY_RW(StepCore::Vector2d, localPosition1, QT_TRANSLATE_NOOP("PropertyName", "localPosition1"), QT_TRANSLATE_NOOP("Units", "m"),
46 STEPCORE_PROPERTY_RW(StepCore::Vector2d, localPosition2, QT_TRANSLATE_NOOP("PropertyName", "localPosition2"), QT_TRANSLATE_NOOP("Units", "m"),
48 STEPCORE_PROPERTY_R_D(StepCore::Vector2d, position1, QT_TRANSLATE_NOOP("PropertyName", "position1"), QT_TRANSLATE_NOOP("Units", "m"), QT_TR_NOOP("Position1"), position1)
49 STEPCORE_PROPERTY_R_D(StepCore::Vector2d, position2, QT_TRANSLATE_NOOP("PropertyName", "position2"), QT_TRANSLATE_NOOP("Units", "m"), QT_TR_NOOP("Position2"), position2)
52 STEPCORE_META_OBJECT(Rope, QT_TRANSLATE_NOOP("ObjectClass", "Rope"), QT_TR_NOOP("Massless rope which can be connected to bodies"), 0,
191 info->jacobianDerivative.coeffRef(offset , _r->variablesOffset()+RigidBody::AngleOffset) = -av*r1[0];
194 info->jacobianDerivative.coeffRef(offset+1, _r->variablesOffset()+RigidBody::AngleOffset) = -av*r1[1];
302 info->jacobianDerivative.coeffRef(offset, _p1->variablesOffset() + Particle::PositionOffset) =( -v[0]);
303 info->jacobianDerivative.coeffRef(offset, _p1->variablesOffset() + Particle::PositionOffset+1) =( -v[1]);
309 info->jacobian.coeffRef(offset, _r1->variablesOffset() + RigidBody::PositionOffset+1) =( -p[1]);
310 info->jacobian.coeffRef(offset, _r1->variablesOffset() + RigidBody::AngleOffset) =( +p[0]*r1[1] - p[1]*r1[0]);
312 info->jacobianDerivative.coeffRef(offset, _r1->variablesOffset() + RigidBody::PositionOffset) =( -v[0]);
313 info->jacobianDerivative.coeffRef(offset, _r1->variablesOffset() + RigidBody::PositionOffset+1) =( -v[1]);
322 info->jacobianDerivative.coeffRef(offset, _p2->variablesOffset() + Particle::PositionOffset) =( v[0]);
323 info->jacobianDerivative.coeffRef(offset, _p2->variablesOffset() + Particle::PositionOffset+1) =( v[1]);
330 info->jacobian.coeffRef(offset, _r2->variablesOffset() + RigidBody::AngleOffset) =( -p[0]*r2[1] + p[1]*r2[0]);
332 info->jacobianDerivative.coeffRef(offset, _r2->variablesOffset() + RigidBody::PositionOffset) =( v[0]);
333 info->jacobianDerivative.coeffRef(offset, _r2->variablesOffset() + RigidBody::PositionOffset+1) =( v[1]);
358 info->jacobianDerivative.coeffRef(offset , _r1->variablesOffset()+RigidBody::AngleOffset) =( +av*r1[0]);
359 info->jacobianDerivative.coeffRef(offset+1, _r1->variablesOffset()+RigidBody::AngleOffset) =( +av*r1[1]);
375 info->jacobianDerivative.coeffRef(offset , _r2->variablesOffset()+RigidBody::AngleOffset) =( -av*r2[0]);
376 info->jacobianDerivative.coeffRef(offset+1, _r2->variablesOffset()+RigidBody::AngleOffset) =( -av*r2[1]);
DynSparseRowMatrix jacobianDerivative
Time-derivative of constraintsJacobian.
Definition: world.h:226
RigidBody class.
Vector2d velocityWorld(const Vector2d &worldPoint) const
Get velocity of given (world) point on the body.
Definition: rigidbody.cc:189
Offset of body angle in variables array.
Definition: rigidbody.h:151
Offset of body position in variables array.
Definition: rigidbody.h:150
void getConstraintsInfo(ConstraintsInfo *info, int offset)
Fill the part of constraints information structure starting at offset.
Definition: joint.cc:152
const Vector2d & position() const
Get position of the center of mass of the body.
Definition: rigidbody.h:160
void getConstraintsInfo(ConstraintsInfo *info, int offset)
Fill the part of constraints information structure starting at offset.
Definition: joint.cc:284
STEPCORE_SUPER_CLASS(CollisionSolver)
Vector2d vectorLocalToWorld(const Vector2d &v) const
Translate local vector on body to world vector.
Definition: rigidbody.cc:217
QT_TRANSLATE_NOOP("ObjectClass","GJKCollisionSolver")
Pin(Object *body=0, const Vector2d &localPosition=Vector2d::Zero(), const Vector2d &position=Vector2d::Zero())
Constructs Pin.
Definition: joint.cc:116
Stick(double restLength=1, Object *body1=0, Object *body2=0, const Vector2d &localPosition1=Vector2d::Zero(), const Vector2d &localPosition2=Vector2d::Zero())
Constructs Stick.
Definition: joint.cc:199
void getConstraintsInfo(ConstraintsInfo *info, int offset)
Fill the part of constraints information structure starting at offset.
Definition: joint.cc:381
Vector2d pointLocalToWorld(const Vector2d &p) const
Translate local coordinates on body to world coordinates.
Definition: rigidbody.cc:201
Joint classes.
Offset of particle position in variables array.
Definition: particle.h:109
void getConstraintsInfo(ConstraintsInfo *info, int offset)
Fill the part of constraints information structure starting at offset.
Definition: joint.cc:89
const Vector2d & velocity() const
Get velocity of the center of mass of the body.
Definition: rigidbody.h:170
Vector2d velocityLocal(const Vector2d &localPoint) const
Get velocity of given (local) point on the body.
Definition: rigidbody.cc:195
QT_TR_NOOP("Errors class for CoulombForce")
STEPCORE_PROPERTY_RW(double, depth, QT_TRANSLATE_NOOP("PropertyName","depth"), QT_TRANSLATE_NOOP("Units","J"), QT_TR_NOOP("Potential depth"), depth, setDepth) STEPCORE_PROPERTY_RW(double
setRmin setRminVariance STEPCORE_PROPERTY_R_D(double, rectPressureVariance, QT_TRANSLATE_NOOP("PropertyName","rectPressureVariance"), QT_TRANSLATE_NOOP("Units","Pa"), QT_TR_NOOP("Variance of pressure of particles in the measureRect"), rectPressureVariance) STEPCORE_PROPERTY_R_D(double
Massless rope: maximal distance between two points on particles or rigid bodies.
Definition: joint.h:198
Particle and ChargedParticle classes.
STEPCORE_META_OBJECT(CollisionSolver, QT_TRANSLATE_NOOP("ObjectClass","CollisionSolver"),"CollisionSolver", MetaObject::ABSTRACT, STEPCORE_SUPER_CLASS(Object), STEPCORE_PROPERTY_RW(double, toleranceAbs, QT_TRANSLATE_NOOP("PropertyName","toleranceAbs"), STEPCORE_UNITS_1, QT_TR_NOOP("Allowed absolute tolerance"), toleranceAbs, setToleranceAbs) STEPCORE_PROPERTY_R_D(double, localError, QT_TRANSLATE_NOOP("PropertyName","localError"), STEPCORE_UNITS_1, QT_TR_NOOP("Maximal local error during last step"), localError)) STEPCORE_META_OBJECT(GJKCollisionSolver
int variablesOffset() const
Offset of body's variables in global arrays (meaningless if the body is not a part of the world) ...
Definition: world.h:181
Constraints information structure XXX: Move it to constraintsolver.h.
Definition: world.h:216
Massless stick: fixed distance between two points on particles or rigid bodies.
Definition: joint.h:120
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:16:43 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:16:43 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.