Use std::ranges for cg::area
This commit is contained in:
parent
340a04d17c
commit
1584301a21
1 changed files with 4 additions and 2 deletions
|
|
@ -3,6 +3,8 @@
|
||||||
#include <psemek/geom/point.hpp>
|
#include <psemek/geom/point.hpp>
|
||||||
#include <psemek/geom/vector.hpp>
|
#include <psemek/geom/vector.hpp>
|
||||||
|
|
||||||
|
#include <iterator>
|
||||||
|
|
||||||
namespace psemek::cg
|
namespace psemek::cg
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -15,7 +17,7 @@ namespace psemek::cg
|
||||||
using point_type = std::remove_cvref_t<decltype(*begin)>;
|
using point_type = std::remove_cvref_t<decltype(*begin)>;
|
||||||
auto origin = point_type::zero();
|
auto origin = point_type::zero();
|
||||||
|
|
||||||
for (auto it = begin, prev = std::prev(end); it != end; prev = it++)
|
for (auto it = begin, prev = std::ranges::prev(end); it != end; prev = it++)
|
||||||
{
|
{
|
||||||
result += geom::volume(origin, *prev, *it);
|
result += geom::volume(origin, *prev, *it);
|
||||||
}
|
}
|
||||||
|
|
@ -29,7 +31,7 @@ namespace psemek::cg
|
||||||
using scalar_type = std::remove_cvref_t<decltype((*begin)[0])>;
|
using scalar_type = std::remove_cvref_t<decltype((*begin)[0])>;
|
||||||
scalar_type result{};
|
scalar_type result{};
|
||||||
|
|
||||||
for (auto it = begin, prev = std::prev(end); it != end; prev = it++)
|
for (auto it = begin, prev = std::ranges::prev(end); it != end; prev = it++)
|
||||||
{
|
{
|
||||||
auto const v0 = *prev - origin;
|
auto const v0 = *prev - origin;
|
||||||
auto const v1 = *it - origin;
|
auto const v1 = *it - origin;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue