| Line |
Branch |
Decision |
Call |
Exec |
Source |
| 1 |
|
|
|
|
#include "instructions/RelativePointInstruction.h" |
| 2 |
|
|
|
|
|
| 3 |
|
|
|
|
using namespace Chrysalis; |
| 4 |
|
|
|
|
|
| 5 |
|
|
|
✗ |
RelativePointInstruction::RelativePointInstruction(ProjectSpace* space, args::patterns* selectedPatterns, |
| 6 |
|
|
0/1
✗ Call 0 not invoked.
|
✗ |
args::name&& name, const args::vector* vector) |
| 7 |
|
|
0/8
✗ Call 0 not invoked.
✗ Call 1 not invoked.
✗ Call 2 not invoked.
✗ Call 3 not invoked.
✗ Call 4 not invoked.
✗ Call 5 not invoked.
✗ Call 6 not invoked.
✗ Call 11 not invoked.
|
✗ |
: RelativePointInstruction(space, selectedPatterns, std::move(name), vector, new args::optional<args::line>()) {} |
| 8 |
|
|
|
|
|
| 9 |
|
|
|
141 |
RelativePointInstruction::RelativePointInstruction(ProjectSpace* space, args::patterns* selectedPatterns, |
| 10 |
|
|
|
|
args::name&& name, const args::vector* vector, |
| 11 |
|
|
1/1
|
141 |
const args::optional<args::line>* line) |
| 12 |
|
|
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.
|
141 |
: BasePatternInstruction(space, selectedPatterns), name_(std::move(name)), vector_(vector), line_(line) {} |
| 13 |
|
|
|
|
|
| 14 |
|
|
4/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
|
846 |
RelativePointInstruction::~RelativePointInstruction() { |
| 15 |
1/2
✓ Branch 4 taken 141 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.
|
282 |
delete vector_; |
| 16 |
1/2
✓ Branch 4 taken 141 times.
✗ Branch 5 not taken.
|
|
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
|
282 |
delete line_; |
| 17 |
|
|
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
|
564 |
} |
| 18 |
|
|
|
|
|
| 19 |
|
|
|
138 |
void RelativePointInstruction::execute() { |
| 20 |
|
|
1/1
|
138 |
Point* point; |
| 21 |
8/14
✓ Branch 24 taken 138 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 138 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 102 times.
✓ Branch 29 taken 36 times.
✓ Branch 53 taken 102 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 102 times.
✗ Branch 56 not taken.
✓ Branch 64 taken 102 times.
✗ Branch 65 not taken.
✓ Branch 75 taken 36 times.
✗ Branch 76 not taken.
|
|
63/63
✓ 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 30 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
✓ Call 33 invoked.
✓ Call 34 invoked.
✓ Call 35 invoked.
✓ Call 36 invoked.
✓ Call 37 invoked.
✓ Call 38 invoked.
✓ Call 39 invoked.
✓ Call 40 invoked.
✓ Call 41 invoked.
✓ Call 42 invoked.
✓ Call 43 invoked.
✓ Call 44 invoked.
✓ Call 45 invoked.
✓ Call 46 invoked.
✓ Call 47 invoked.
✓ Call 48 invoked.
✓ Call 49 invoked.
✓ Call 50 invoked.
✓ Call 51 invoked.
✓ Call 52 invoked.
✓ Call 57 invoked.
✓ Call 58 invoked.
✓ Call 59 invoked.
✓ Call 60 invoked.
✓ Call 61 invoked.
✓ Call 62 invoked.
✓ Call 63 invoked.
✓ Call 66 invoked.
✓ Call 67 invoked.
✓ Call 68 invoked.
✓ Call 69 invoked.
✓ Call 70 invoked.
✓ Call 71 invoked.
✓ Call 72 invoked.
✓ Call 73 invoked.
✓ Call 74 invoked.
|
138 |
const Point* pointFrom = dynamic_cast<const PatternPointArgument*>(vector_->origin()) ? dynamic_cast<const PatternPointArgument*>(vector_->origin())->get() : patterns_->onAny(&PatternSpace::getLastPoint); |
| 22 |
2/2
✓ Branch 6 taken 3 times.
✓ Branch 7 taken 135 times.
|
2/2
✓ Decision 'true' taken 3 times.
✓ Decision 'false' taken 135 times.
|
6/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
|
138 |
if (line_->hasArgument()) { |
| 23 |
3/6
✓ Branch 12 taken 3 times.
✗ Branch 13 not taken.
✓ Branch 19 taken 3 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 3 times.
✗ Branch 23 not taken.
|
|
19/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 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 21 invoked.
✓ Call 24 invoked.
✗ Call 25 not invoked.
|
3 |
const auto projection = CG::projection(*pointFrom, static_cast<CG::Line>(*line_->argument())); |
| 24 |
5/10
✓ Branch 9 taken 3 times.
✗ Branch 10 not taken.
✓ Branch 17 taken 3 times.
✗ Branch 18 not taken.
✓ Branch 21 taken 3 times.
✗ Branch 22 not taken.
✓ Branch 29 taken 3 times.
✗ Branch 30 not taken.
✓ Branch 33 taken 3 times.
✗ Branch 34 not taken.
|
|
27/29
✓ 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 19 invoked.
✓ Call 20 invoked.
✓ Call 23 invoked.
✓ Call 24 invoked.
✓ Call 25 invoked.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
✓ Call 35 invoked.
✓ Call 36 invoked.
✗ Call 37 not invoked.
✗ Call 38 not invoked.
|
3 |
const double distance = sqrt(pow(vector_->length()->get().value(), 2) + CGAL::squared_distance<CG::LinearKernel>(*pointFrom, projection)); |
| 25 |
5/10
✓ Branch 18 taken 3 times.
✗ Branch 19 not taken.
✓ Branch 26 taken 3 times.
✗ Branch 27 not taken.
✓ Branch 30 taken 3 times.
✗ Branch 31 not taken.
✓ Branch 34 taken 3 times.
✗ Branch 35 not taken.
✓ Branch 38 taken 3 times.
✗ Branch 39 not taken.
|
|
33/36
✓ 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 20 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 24 invoked.
✓ Call 25 invoked.
✓ Call 28 invoked.
✓ Call 29 invoked.
✓ Call 32 invoked.
✓ Call 33 invoked.
✓ Call 36 invoked.
✓ Call 37 invoked.
✓ Call 40 invoked.
✓ Call 41 invoked.
✓ Call 42 invoked.
✗ Call 43 not invoked.
✗ Call 44 not invoked.
✗ Call 45 not invoked.
|
3 |
point = space().addPoint(CG::relativePoint(projection, line_->argument()->angle()->get().value(), distance)); |
| 26 |
|
|
|
|
} else { |
| 27 |
9/18
✓ Branch 16 taken 135 times.
✗ Branch 17 not taken.
✓ Branch 24 taken 135 times.
✗ Branch 25 not taken.
✓ Branch 28 taken 135 times.
✗ Branch 29 not taken.
✓ Branch 55 taken 135 times.
✗ Branch 56 not taken.
✓ Branch 63 taken 135 times.
✗ Branch 64 not taken.
✓ Branch 67 taken 135 times.
✗ Branch 68 not taken.
✓ Branch 74 taken 135 times.
✗ Branch 75 not taken.
✓ Branch 77 taken 135 times.
✗ Branch 78 not taken.
✓ Branch 81 taken 135 times.
✗ Branch 82 not taken.
|
|
70/75
✓ 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 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 30 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
✓ Call 33 invoked.
✓ Call 34 invoked.
✓ Call 35 invoked.
✓ Call 36 invoked.
✓ Call 37 invoked.
✓ Call 38 invoked.
✓ Call 39 invoked.
✓ Call 40 invoked.
✓ Call 41 invoked.
✓ Call 42 invoked.
✓ Call 43 invoked.
✓ Call 44 invoked.
✓ Call 45 invoked.
✓ Call 46 invoked.
✓ Call 47 invoked.
✓ Call 48 invoked.
✓ Call 49 invoked.
✓ Call 50 invoked.
✓ Call 51 invoked.
✓ Call 52 invoked.
✓ Call 53 invoked.
✓ Call 54 invoked.
✓ Call 57 invoked.
✓ Call 58 invoked.
✓ Call 59 invoked.
✓ Call 60 invoked.
✓ Call 61 invoked.
✓ Call 62 invoked.
✓ Call 65 invoked.
✓ Call 66 invoked.
✓ Call 69 invoked.
✓ Call 70 invoked.
✓ Call 71 invoked.
✓ Call 72 invoked.
✓ Call 73 invoked.
✓ Call 76 invoked.
✓ Call 79 invoked.
✓ Call 80 invoked.
✓ Call 83 invoked.
✓ Call 84 invoked.
✓ Call 85 invoked.
✓ Call 86 invoked.
✓ Call 87 invoked.
✗ Call 88 not invoked.
✗ Call 89 not invoked.
✗ Call 90 not invoked.
✗ Call 91 not invoked.
✗ Call 92 not invoked.
|
135 |
point = space().addPoint(CG::relativePoint(*pointFrom, vector_->angle()->get().value(), vector_->length()->get().value())); |
| 28 |
|
|
|
|
} |
| 29 |
2/2
✓ Branch 22 taken 153 times.
✓ Branch 23 taken 138 times.
|
2/2
✓ Decision 'true' taken 153 times.
✓ Decision 'false' taken 138 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.
|
291 |
for (const auto& patternSpace: *patterns_) { |
| 30 |
3/6
✓ Branch 16 taken 153 times.
✗ Branch 17 not taken.
✓ Branch 20 taken 153 times.
✗ Branch 21 not taken.
✓ Branch 24 taken 153 times.
✗ Branch 25 not taken.
|
|
22/24
✓ 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 18 invoked.
✓ Call 19 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 26 invoked.
✓ Call 27 invoked.
✗ Call 28 not invoked.
✗ Call 29 not invoked.
|
153 |
patternSpace->addPoint(name_->get().value(), point); |
| 31 |
1/2
✓ Branch 6 taken 153 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.
|
153 |
patternSpace->trace::notify(&PatternTraceObserver::relativePointConnectionAdded, pointFrom, point); |
| 32 |
|
|
|
|
} |
| 33 |
|
|
|
138 |
} |
| 34 |
|
|
|
|
|