-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathNeedleOperations.h
More file actions
34 lines (28 loc) · 1.18 KB
/
NeedleOperations.h
File metadata and controls
34 lines (28 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#pragma once
#include <sofa/collisionAlgorithm/BaseOperation.h>
#include <sofa/collisionAlgorithm/BaseProximity.h>
#include <sofa/collisionAlgorithm/elements/EdgeElement.h>
namespace sofa::collisionAlgorithm::Operations::Needle
{
class PrunePointsAheadOfTip
: public GenericOperation<PrunePointsAheadOfTip, // Type of the operation
bool, // Default return type
std::vector<BaseProximity::SPtr>&,
const BaseElement::SPtr& // Parameters
>
{
public:
bool defaultFunc(std::vector<BaseProximity::SPtr>&, const BaseElement::SPtr&) const override
{
return false;
}
void notFound(const std::type_info& id) const override
{
msg_error("Needle::PrunePointsAheadOfTip")
<< "The operation PrunePointsAheadOfTipOperation is not registered with for type = "
<< sofa::helper::NameDecoder::decodeFullName(id);
}
};
bool prunePointsUsingEdges(std::vector<BaseProximity::SPtr>& couplingPts,
const EdgeElement::SPtr& edgeProx);
} // namespace sofa::collisionAlgorithm::Operations::Needle