|
iMSTK
Interactive Medical Simulation Toolkit
|
Container for pbd constraints. More...
#include <imstkPbdConstraintContainer.h>

Public Types | |
| using | iterator = std::vector< std::shared_ptr< PbdConstraint > >::iterator |
| using | const_iterator = std::vector< std::shared_ptr< PbdConstraint > >::const_iterator |
Public Member Functions | |
| virtual void | addConstraint (std::shared_ptr< PbdConstraint > constraint) |
| Adds a constraint to the system, thread safe. | |
| virtual void | removeConstraint (std::shared_ptr< PbdConstraint > constraint) |
| Linear searches for and removes a constraint from the system, thread safe. | |
| virtual void | removeConstraints (std::shared_ptr< std::unordered_set< size_t >> vertices, const int bodyId) |
| Removes all constraints associated with vertex ids. | |
| virtual iterator | eraseConstraint (iterator iter) |
| Removes a constraint from the system by iterator, thread safe. | |
| virtual const_iterator | eraseConstraint (const_iterator iter) |
| virtual void | reserve (const size_t n) |
| Reserve an amount of constraints in the pool, if you know ahead of time the number of constraints, or even an estimate, it can be faster to first reserve them. | |
| const bool | empty () const |
| Returns if there are no constraints. | |
| const std::vector< std::shared_ptr< PbdConstraint > > & | getConstraints () const |
| Get the underlying container. | |
| std::vector< std::shared_ptr< PbdConstraint > > & | getConstraints () |
| const std::vector< std::vector< std::shared_ptr< PbdConstraint > > > | getPartitionedConstraints () const |
| Get the partitioned constraints. | |
| void | partitionConstraints (const int partitionThreshold) |
| Partitions pbd constraints into separate vectors via graph coloring. More... | |
| void | clearPartitions () |
| Clear the parition vectors. | |
Protected Attributes | |
| std::vector< std::shared_ptr< PbdConstraint > > | m_constraints |
| Not partitioned constraints. | |
| std::vector< std::vector< std::shared_ptr< PbdConstraint > > > | m_partitionedConstraints |
| Partitioned pbd constraints. | |
| ParallelUtils::SpinLock | m_constraintLock |
| Used to deal with concurrent addition/removal of constraints. | |
Container for pbd constraints.
Definition at line 20 of file imstkPbdConstraintContainer.h.
| void imstk::PbdConstraintContainer::partitionConstraints | ( | const int | partitionThreshold | ) |
Partitions pbd constraints into separate vectors via graph coloring.
| Minimum | number of constraints in groups, any under will be dumped back into m_constraints |
Definition at line 82 of file imstkPbdConstraintContainer.cpp.


1.8.13