Branch data Line data Source code
1 : : #include "meshkit/AF2RuleExistEdge.hpp"
2 : :
3 : 5892 : AF2RuleExistEdge::AF2RuleExistEdge(const AF2RuleExistVertex* firstVtx,
4 : : const AF2RuleExistVertex* secondVtx,
5 : : double coeffAlpha, double coeffBravo, double coeffCharlie)
6 : : {
7 : 5892 : firstVertexPtr = firstVtx;
8 : 5892 : secondVertexPtr = secondVtx;
9 : 5892 : vecDiffX = secondVtx->getX() - firstVtx->getX();
10 : 5892 : vecDiffY = secondVtx->getY() - firstVtx->getY();
11 : 5892 : a = coeffAlpha;
12 : 5892 : b = coeffBravo;
13 : 5892 : c = coeffCharlie;
14 : 5892 : }
15 : :
16 : 31604210 : const AF2RuleExistVertex* AF2RuleExistEdge::getStart() const
17 : : {
18 : 31604210 : return firstVertexPtr;
19 : : }
20 : :
21 : 6141657 : const AF2RuleExistVertex* AF2RuleExistEdge::getEnd() const
22 : : {
23 : 6141657 : return secondVertexPtr;
24 : : }
25 : :
26 : 1196357 : bool AF2RuleExistEdge::isMatching(AF2Point2D const & startPnt,
27 : : AF2Point2D const & endPnt, double maxDeviation) const
28 : : {
29 : 1196357 : double matchDiffX = endPnt.getX() - startPnt.getX();
30 : 1196357 : double matchDiffY = endPnt.getY() - startPnt.getY();
31 : 1196357 : double dx = matchDiffX - vecDiffX;
32 : 1196357 : double dy = matchDiffY - vecDiffY;
33 : 1196357 : double deviation = a*dx*dx + b*dx*dy + c*dy*dy;
34 : 1196357 : return (deviation < maxDeviation);
35 : : }
|