Browse Source

Primitives: adding one extra vertex in solid circle primitive.

pull/225/head
guillaume.giraud@gmail.com 9 years ago committed by Vladimír Vondruš
parent
commit
059f1396b0
  1. 5
      src/Magnum/Primitives/Circle.cpp
  2. 3
      src/Magnum/Primitives/Test/CircleTest.cpp

5
src/Magnum/Primitives/Circle.cpp

@ -42,9 +42,10 @@ Trade::MeshData2D Circle::solid(UnsignedInt segments) {
/* Central point */ /* Central point */
positions.emplace_back(); positions.emplace_back();
/* Points on circle */ /* Points on circle. The first/last point is here twice to close the circle
properly. */
const Rad angleIncrement(Constants::tau()/segments); const Rad angleIncrement(Constants::tau()/segments);
for(UnsignedInt i = 0; i != segments; ++i) { for(UnsignedInt i = 0; i != segments + 1; ++i) {
const Rad angle(Float(i)*angleIncrement); const Rad angle(Float(i)*angleIncrement);
positions.emplace_back(Math::cos(angle), Math::sin(angle)); positions.emplace_back(Math::cos(angle), Math::sin(angle));
} }

3
src/Magnum/Primitives/Test/CircleTest.cpp

@ -51,7 +51,8 @@ void CircleTest::solid() {
{ 1.0f, 0.0f}, { Constants::sqrt2()/2.0f, Constants::sqrt2()/2.0f}, { 1.0f, 0.0f}, { Constants::sqrt2()/2.0f, Constants::sqrt2()/2.0f},
{ 0.0f, 1.0f}, {-Constants::sqrt2()/2.0f, Constants::sqrt2()/2.0f}, { 0.0f, 1.0f}, {-Constants::sqrt2()/2.0f, Constants::sqrt2()/2.0f},
{-1.0f, 0.0f}, {-Constants::sqrt2()/2.0f, -Constants::sqrt2()/2.0f}, {-1.0f, 0.0f}, {-Constants::sqrt2()/2.0f, -Constants::sqrt2()/2.0f},
{ 0.0f, -1.0f}, { Constants::sqrt2()/2.0f, -Constants::sqrt2()/2.0f} { 0.0f, -1.0f}, { Constants::sqrt2()/2.0f, -Constants::sqrt2()/2.0f},
{ 1.0f, 0.0f}
})); }));
} }

Loading…
Cancel
Save