| Line |
Branch |
Decision |
Call |
Exec |
Source |
| 1 |
|
|
|
|
#include "instructions/UnfoldEdgeDartInstruction.h" |
| 2 |
|
|
|
|
|
| 3 |
|
|
|
|
using namespace Chrysalis; |
| 4 |
|
|
|
|
|
| 5 |
|
|
|
3 |
UnfoldEdgeDartInstruction::UnfoldEdgeDartInstruction(ProjectSpace* space, args::patterns* patterns, |
| 6 |
|
|
1/1
|
3 |
const args::segment* edge, const args::segment* leg, args::number&& intake) |
| 7 |
|
|
20/20
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
|
3 |
: BasePatternInstruction(space, patterns), edge_(edge), leg_(leg), intake_(std::move(intake)) {} |
| 8 |
|
|
|
|
|
| 9 |
|
|
4/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
|
18 |
UnfoldEdgeDartInstruction::~UnfoldEdgeDartInstruction() { |
| 10 |
1/2
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
|
|
11/11
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
|
6 |
delete edge_; |
| 11 |
1/2
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
|
|
11/11
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
|
6 |
delete leg_; |
| 12 |
|
|
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
|
12 |
} |
| 13 |
|
|
|
|
|
| 14 |
|
|
|
3 |
void UnfoldEdgeDartInstruction::execute() { |
| 15 |
2/4
✓ Branch 24 taken 3 times.
✗ Branch 25 not taken.
✓ Branch 33 taken 3 times.
✗ Branch 34 not taken.
|
|
31/31
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 29 invoked.
✓ Call 30 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
|
3 |
const auto leg1Point = leg_->origin()->get(); |
| 16 |
2/4
✓ Branch 9 taken 3 times.
✗ Branch 10 not taken.
✓ Branch 18 taken 3 times.
✗ Branch 19 not taken.
|
|
16/16
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
|
3 |
const auto apexPoint = leg_->destination()->get(); |
| 17 |
2/4
✓ Branch 24 taken 3 times.
✗ Branch 25 not taken.
✓ Branch 33 taken 3 times.
✗ Branch 34 not taken.
|
|
31/31
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 29 invoked.
✓ Call 30 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
|
3 |
const auto edgePointFrom = edge_->origin()->get(); |
| 18 |
2/4
✓ Branch 9 taken 3 times.
✗ Branch 10 not taken.
✓ Branch 18 taken 3 times.
✗ Branch 19 not taken.
|
|
16/16
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
|
3 |
const auto edgePointTo = edge_->destination()->get(); |
| 19 |
3/6
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 14 not taken.
|
|
9/9
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 12 invoked.
|
3 |
const auto legLength = CG::length(*leg1Point, *apexPoint); |
| 20 |
5/10
✓ Branch 10 taken 3 times.
✗ Branch 11 not taken.
✓ Branch 14 taken 3 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 3 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 3 times.
✗ Branch 23 not taken.
✓ Branch 26 taken 3 times.
✗ Branch 27 not taken.
|
|
22/27
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 21 invoked.
✓ Call 24 invoked.
✓ Call 25 invoked.
✓ Call 28 invoked.
✓ Call 29 invoked.
✓ Call 30 invoked.
✓ Call 31 invoked.
✗ Call 32 not invoked.
✗ Call 33 not invoked.
✗ Call 34 not invoked.
✗ Call 35 not invoked.
✗ Call 36 not invoked.
|
15 |
const auto leg2Point = space().addPoint(CG::circlesIntersection( |
| 21 |
|
|
1/1
|
3 |
*edgePointTo, |
| 22 |
|
|
|
|
*apexPoint, legLength, |
| 23 |
2/4
✓ Branch 9 taken 3 times.
✗ Branch 10 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 14 not taken.
|
|
14/16
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✗ Call 18 not invoked.
✗ Call 19 not invoked.
|
6 |
*leg1Point, intake_->get().value()) |
| 24 |
|
|
1/1
|
3 |
); |
| 25 |
3/6
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 3 times.
✗ Branch 14 not taken.
|
|
9/9
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 12 invoked.
|
3 |
const auto edgeAngle = CG::angle(*edgePointFrom, *edgePointTo); |
| 26 |
3/6
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
✓ Branch 15 taken 3 times.
✗ Branch 16 not taken.
✓ Branch 19 taken 3 times.
✗ Branch 20 not taken.
|
|
17/19
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✗ Call 23 not invoked.
✗ Call 24 not invoked.
|
3 |
const auto dartAngle = CG::angle(*apexPoint - *leg1Point, *apexPoint - *leg2Point); |
| 27 |
|
|
|
|
|
| 28 |
6/12
✓ Branch 10 taken 3 times.
✗ Branch 11 not taken.
✓ Branch 16 taken 3 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 3 times.
✗ Branch 20 not taken.
✓ Branch 25 taken 3 times.
✗ Branch 26 not taken.
✓ Branch 28 taken 3 times.
✗ Branch 29 not taken.
✓ Branch 31 taken 3 times.
✗ Branch 32 not taken.
|
|
21/21
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 18 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 24 invoked.
✓ Call 27 invoked.
✓ Call 30 invoked.
|
3 |
space().movePoint(edgePointTo, CG::relativePoint(*leg2Point, edgeAngle + dartAngle, CG::length(*leg1Point, *edgePointTo))); |
| 29 |
2/2
✓ Branch 22 taken 3 times.
✓ Branch 23 taken 3 times.
|
2/2
✓ Decision 'true' taken 3 times.
✓ Decision 'false' taken 3 times.
|
22/22
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
|
6 |
for (const auto& pattern: *patterns_) { |
| 30 |
1/2
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
|
|
6/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
|
3 |
pattern->trace::notify(&PatternTraceObserver::relativePointConnectionRemoved, edgePointFrom, edgePointTo); |
| 31 |
1/2
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
|
|
6/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
|
3 |
pattern->trace::notify(&PatternTraceObserver::relativePointConnectionAdded, edgePointFrom, leg1Point); |
| 32 |
1/2
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
|
|
6/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
|
3 |
pattern->trace::notify(&PatternTraceObserver::relativePointConnectionAdded, leg2Point, edgePointTo); |
| 33 |
1/2
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
|
|
6/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
|
3 |
pattern->trace::notify(&PatternTraceObserver::relativePointConnectionRemoved, edgePointFrom, leg1Point); |
| 34 |
1/2
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
|
|
6/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
|
3 |
pattern->trace::notify(&PatternTraceObserver::relativePointConnectionAdded, leg1Point, apexPoint); |
| 35 |
1/2
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
|
|
6/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
|
3 |
pattern->trace::notify(&PatternTraceObserver::relativePointConnectionAdded, apexPoint, leg2Point); |
| 36 |
6/12
✓ Branch 32 taken 3 times.
✗ Branch 33 not taken.
✓ Branch 41 taken 3 times.
✗ Branch 42 not taken.
✓ Branch 49 taken 3 times.
✗ Branch 50 not taken.
✓ Branch 53 taken 3 times.
✗ Branch 54 not taken.
✓ Branch 56 taken 3 times.
✗ Branch 57 not taken.
✓ Branch 60 taken 3 times.
✗ Branch 61 not taken.
|
|
54/58
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 24 invoked.
✓ Call 25 invoked.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 29 invoked.
✓ Call 30 invoked.
✓ Call 31 invoked.
✓ Call 34 invoked.
✓ Call 35 invoked.
✓ Call 36 invoked.
✓ Call 37 invoked.
✓ Call 38 invoked.
✓ Call 39 invoked.
✓ Call 40 invoked.
✓ Call 43 invoked.
✓ Call 44 invoked.
✓ Call 45 invoked.
✓ Call 46 invoked.
✓ Call 47 invoked.
✓ Call 48 invoked.
✓ Call 51 invoked.
✓ Call 52 invoked.
✓ Call 55 invoked.
✓ Call 58 invoked.
✓ Call 59 invoked.
✓ Call 62 invoked.
✓ Call 63 invoked.
✓ Call 64 invoked.
✓ Call 65 invoked.
✗ Call 66 not invoked.
✗ Call 67 not invoked.
✗ Call 68 not invoked.
✗ Call 69 not invoked.
|
3 |
pattern->addPoint(leg_->origin()->name()->get().value() + "_1", leg2Point); |
| 37 |
|
|
|
|
} |
| 38 |
|
|
|
3 |
} |
| 39 |
|
|
|
|
|