Class DirectPositionBasedSolverForStiffRodsConstraint
Defined in File Constraints.h
Nested Relationships
Inheritance Relationships
Base Type
public PBD::Constraint
(Class Constraint)
Class Documentation
-
class DirectPositionBasedSolverForStiffRodsConstraint : public PBD::Constraint
Public Functions
-
inline DirectPositionBasedSolverForStiffRodsConstraint()
-
~DirectPositionBasedSolverForStiffRodsConstraint()
-
inline virtual int &getTypeId() const
-
bool initConstraint(SimulationModel &model, const std::vector<std::pair<unsigned int, unsigned int>> &constraintSegmentIndices, const std::vector<Vector3r> &constraintPositions, const std::vector<Real> &averageRadii, const std::vector<Real> &averageSegmentLengths, const std::vector<Real> &youngsModuli, const std::vector<Real> &torsionModuli)
-
virtual bool initConstraintBeforeProjection(SimulationModel &model)
-
virtual bool updateConstraint(SimulationModel &model)
-
virtual bool solvePositionConstraint(SimulationModel &model, const unsigned int iter)
Protected Functions
-
void deleteNodes()
Protected Attributes
-
int numberOfIntervals
number of intervals
-
std::list<Node*> *forward
list to process nodes with increasing row index in the system matrix H (from the leaves to the root)
-
std::list<Node*> *backward
list to process nodes starting with the highest row index to row index zero in the matrix H (from the root to the leaves)
-
std::vector<RodConstraintImpl> m_Constraints
-
std::vector<RodConstraint*> m_rodConstraints
-
std::vector<RodSegmentImpl> m_Segments
-
std::vector<RodSegment*> m_rodSegments
-
std::vector<std::vector<Matrix3r>> m_bendingAndTorsionJacobians
-
std::vector<Vector3r> m_corr_x
-
std::vector<Quaternionr> m_corr_q
-
inline DirectPositionBasedSolverForStiffRodsConstraint()