Program Listing for File ClothSolvingView.cpp¶
↰ Return to documentation for file (Source\Physics\Src\PBD\Cloth\ClothSolvingView.cpp
)
#include "Physics/PBD/Cloth/ClothSolvingView.h"
namespace Azura {
namespace Physics {
namespace PBD {
ClothSolvingView::ClothSolvingView(Containers::Vector<Vector3f>& dataSet,
Containers::Vector<float>& invMassData,
U32 numDistanceConstraints,
U32 numLongRangeConstraints,
U32 numBendingConstraints,
Memory::Allocator& allocator)
: SolvingView(dataSet, invMassData),
m_distanceConstraints(numDistanceConstraints, allocator),
m_longRangeConstraints(numLongRangeConstraints, allocator),
m_bendingConstraints(numBendingConstraints, allocator) {
}
void ClothSolvingView::AddConstraint(const DistanceConstraint& constraint) {
m_distanceConstraints.PushBack(constraint);
}
void ClothSolvingView::AddConstraint(DistanceConstraint&& constraint) {
m_distanceConstraints.PushBack(std::move(constraint));
}
void ClothSolvingView::AddConstraint(const LongRangeConstraint& constraint) {
m_longRangeConstraints.PushBack(constraint);
}
void ClothSolvingView::AddConstraint(LongRangeConstraint&& constraint) {
m_longRangeConstraints.PushBack(std::move(constraint));
}
void ClothSolvingView::AddConstraint(const BendingConstraint& constraint) {
m_bendingConstraints.PushBack(constraint);
}
void ClothSolvingView::AddConstraint(BendingConstraint&& constraint) {
m_bendingConstraints.PushBack(std::move(constraint));
}
const Containers::Vector<DistanceConstraint>& ClothSolvingView::GetDistanceConstraints() const {
return m_distanceConstraints;
}
const Containers::Vector<LongRangeConstraint>& ClothSolvingView::GetLongRangeConstraints() const {
return m_longRangeConstraints;
}
const Containers::Vector<BendingConstraint>& ClothSolvingView::GetBendingConstraints() const {
return m_bendingConstraints;
}
void ClothSolvingView::Solve(Containers::Vector<Vector3f>& projectionPoints) {
UNUSED(projectionPoints);
}
} // namespace PBD
} // namespace Physics
} // namespace Azura