Skip to content
Snippets Groups Projects
Commit f03b8d25 authored by Alexis Girault's avatar Alexis Girault
Browse files

ENH: Expose collision algorithms in InteractionPair

Allow access to collision detection and collidion handling algorithms.
parent 6cf6e030
No related branches found
No related tags found
No related merge requests found
......@@ -132,4 +132,21 @@ InteractionPair::getObjectsPair() const
return m_objects;
}
std::shared_ptr<CollisionDetection>
InteractionPair::getCollisionDetection() const
{
return m_colDetect;
}
std::shared_ptr<CollisionHandling>
InteractionPair::getCollisionHandlingA() const
{
return m_colHandlingA;
}
std::shared_ptr<CollisionHandling>
InteractionPair::getCollisionHandlingB() const
{
return m_colHandlingB;
}
}
......@@ -80,6 +80,21 @@ public:
///
const ObjectsPair& getObjectsPair() const;
///
/// \brief Returns collision detection algorithm for A-B
///
std::shared_ptr<CollisionDetection> getCollisionDetection() const;
///
/// \brief Returns collision handling algorithm for object B
///
std::shared_ptr<CollisionHandling> getCollisionHandlingA() const;
///
/// \brief Returns collision handling algorithm for object A
///
std::shared_ptr<CollisionHandling> getCollisionHandlingB() const;
protected:
ObjectsPair m_objects; ///< Colliding objects
......
......@@ -62,6 +62,7 @@ CollisionGraph::addInteractionPair(CollidingObjectPtr A,
return intPair;
}
//TODO: Refactor -> PBD only
void CollisionGraph::addInteractionPair(std::shared_ptr<PbdInteractionPair> pair)
{
m_interactionPbdPairList.push_back(pair);
......
......@@ -66,6 +66,7 @@ public:
CollisionHandling::Type CHAType,
CollisionHandling::Type CHBType);
//TODO: Refactor -> PBD only
void addInteractionPair(std::shared_ptr<PbdInteractionPair> pair);
///
......@@ -92,7 +93,7 @@ public:
const std::unordered_map<CollidingObjectPtr, std::vector<InteractionPairPtr>>& getInteractionPairMap() const;
protected:
std::vector<std::shared_ptr<PbdInteractionPair>> m_interactionPbdPairList;
std::vector<std::shared_ptr<PbdInteractionPair>> m_interactionPbdPairList; //TODO: Refactor -> PBD only
std::vector<InteractionPairPtr> m_interactionPairList; //!< All interaction pairs in the collision graph
std::unordered_map<CollidingObjectPtr, std::vector<InteractionPairPtr>> m_interactionPairMap; //!< Map of interaction pairs per colliding object
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment