From d87efd0ed031a9e79db285e68d0b41d0e8775180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 31 Mar 2013 20:31:35 +0200 Subject: [PATCH] Primitives: don't compute the same value twice. --- src/Primitives/Circle.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Primitives/Circle.cpp b/src/Primitives/Circle.cpp index 170fcef89..3ad904ca4 100644 --- a/src/Primitives/Circle.cpp +++ b/src/Primitives/Circle.cpp @@ -42,8 +42,10 @@ Trade::MeshData2D Circle::solid(UnsignedInt segments) { /* Points on circle */ const Rad angleIncrement(2*Constants::pi()/segments); - for(UnsignedInt i = 0; i != segments; ++i) - positions->emplace_back(Math::cos(i*angleIncrement), Math::sin(i*angleIncrement)); + for(UnsignedInt i = 0; i != segments; ++i) { + const Rad angle(i*angleIncrement); + positions->emplace_back(Math::cos(angle), Math::sin(angle)); + } return Trade::MeshData2D(Mesh::Primitive::TriangleFan, nullptr, {positions}, {}); } @@ -57,8 +59,10 @@ Trade::MeshData2D Circle::wireframe(UnsignedInt segments) { /* Points on circle */ const Rad angleIncrement(2*Constants::pi()/segments); - for(UnsignedInt i = 0; i != segments; ++i) - positions->emplace_back(Math::cos(i*angleIncrement), Math::sin(i*angleIncrement)); + for(UnsignedInt i = 0; i != segments; ++i) { + const Rad angle(i*angleIncrement); + positions->emplace_back(Math::cos(angle), Math::sin(angle)); + } return Trade::MeshData2D(Mesh::Primitive::LineLoop, nullptr, {positions}, {}); }