| 573 | } |
| 574 | |
| 575 | void ODGeometry::getTangent(std::vector<std::pair<double, double>>& tangents) const { |
| 576 | if (length() < 1e-6) { |
| 577 | return; |
| 578 | } |
| 579 | std::vector<double> intervals; |
| 580 | getInterval(intervals); |
| 581 | tangents.resize(intervals.size()); |
| 582 | for (size_t i = 0; i < intervals.size(); i++) { |
| 583 | double h = getHeading(intervals[i] + offset()); |
| 584 | tangents[i] = std::make_pair(std::cos(h), std::sin(h)); |
| 585 | } |
| 586 | } |
| 587 | |
| 588 | void ODGeometry::getNormal(std::vector<std::pair<double, double>>& normals) const { |
| 589 | if (length() < 1e-6) { |
no test coverage detected