src/geo2d/make_c/rcc_ex/lib.hpp
| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #pragma once | ||
| 2 | |||
| 3 | #include "../../ins/cc/lib.hpp" | ||
| 4 | #include "../../rel/cc/lib.hpp" | ||
| 5 | |||
| 6 | namespace tifa_libs { | ||
| 7 | |||
| 8 | // make circle by radius and 2 external tagante circle | ||
| 9 | // maybe duplicate | ||
| 10 | template <class FP> | ||
| 11 | 102 | CEXP auto make_C_rCC_ex(FP r, circle<FP> CR c1, circle<FP> CR c2) NE { | |
| 12 | 102 | std::optional<ptt<circle<FP>>> ret; | |
| 13 |
2/2✓ Branch 1 taken 12 times.
✓ Branch 2 taken 90 times.
|
102 | if (relation_CC(c1, c2) == RELCC::lyingin) return ret; |
| 14 | 90 | auto CR ps = ins_CC<FP>({c1.o, c1.r + r}, {c2.o, c2.r + r}); | |
| 15 |
2/2✓ Branch 1 taken 12 times.
✓ Branch 2 taken 78 times.
|
90 | if (!ps) return ret; |
| 16 | 78 | ret.emplace(circle{ps->first, r}, circle{ps->second, r}); | |
| 17 | 78 | return ret; | |
| 18 | } | ||
| 19 | |||
| 20 | } // namespace tifa_libs | ||
| 21 |