Loading...
Searching...
No Matches
CircleShape.hpp
Go to the documentation of this file.
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2024 Laurent Gomila (laurent@sfml-dev.org)
5//
6// This software is provided 'as-is', without any express or implied warranty.
7// In no event will the authors be held liable for any damages arising from the use of this software.
8//
9// Permission is granted to anyone to use this software for any purpose,
10// including commercial applications, and to alter it and redistribute it freely,
11// subject to the following restrictions:
12//
13// 1. The origin of this software must not be misrepresented;
14// you must not claim that you wrote the original software.
15// If you use this software in a product, an acknowledgment
16// in the product documentation would be appreciated but is not required.
17//
18// 2. Altered source versions must be plainly marked as such,
19// and must not be misrepresented as being the original software.
20//
21// 3. This notice may not be removed or altered from any source distribution.
22//
24
25#pragma once
26
28// Headers
31
33
35
36#include <cstddef>
37
38
39namespace sf
40{
46{
47public:
55 explicit CircleShape(float radius = 0, std::size_t pointCount = 30);
56
65 void setRadius(float radius);
66
75 [[nodiscard]] float getRadius() const;
76
85 void setPointCount(std::size_t count);
86
95 [[nodiscard]] std::size_t getPointCount() const override;
96
110 [[nodiscard]] Vector2f getPoint(std::size_t index) const override;
111
122 [[nodiscard]] Vector2f getGeometricCenter() const override;
123
124private:
126 // Member data
128 float m_radius;
129 std::size_t m_pointCount;
130};
131
132} // namespace sf
133
134
#define SFML_GRAPHICS_API
Specialized shape representing a circle.
void setPointCount(std::size_t count)
Set the number of points of the circle.
void setRadius(float radius)
Set the radius of the circle.
Vector2f getGeometricCenter() const override
Get the geometric center of the circle.
float getRadius() const
Get the radius of the circle.
CircleShape(float radius=0, std::size_t pointCount=30)
Default constructor.
Vector2f getPoint(std::size_t index) const override
Get a point of the circle.
std::size_t getPointCount() const override
Get the number of points of the circle.
Base class for textured shapes with outline.
Definition Shape.hpp:55