le2d v0.4.8
2D game engine framework
 
Loading...
Searching...
No Matches
circle.hpp
Go to the documentation of this file.
1#pragma once
3
4namespace le::shape {
7 kvf::Color color{kvf::white_v};
8 std::int32_t resolution{128};
9};
10
12class Circle : public IGeometry {
13 public:
15
16 static constexpr auto default_diameter_v = default_length_v;
17
18 explicit(false) Circle(float const diameter = default_diameter_v, CircleParams const& params = {}) { create(diameter, params); }
19
20 [[nodiscard]] auto get_vertices() const -> std::span<Vertex const> final { return m_sector.get_vertices(); }
21 [[nodiscard]] auto get_indices() const -> std::span<std::uint32_t const> final { return m_sector.get_indices(); }
22 [[nodiscard]] auto get_topology() const -> vk::PrimitiveTopology final { return m_sector.get_topology(); }
23
24 void create(float diameter = default_diameter_v, Params const& params = {});
25
26 [[nodiscard]] auto get_diameter() const -> float { return m_sector.get_diameter(); }
27 [[nodiscard]] auto get_size() const -> glm::vec2 { return glm::vec2{get_diameter()}; }
28
29 [[nodiscard]] auto get_vertex_array() const -> VertexArray const& { return m_sector.get_vertex_array(); }
30
31 private:
32 Sector m_sector{};
33};
34} // namespace le::shape
Interface for drawable geometry.
Definition geometry.hpp:9
virtual auto get_vertices() const -> std::span< Vertex const >=0
static constexpr auto default_length_v
Definition geometry.hpp:11
virtual auto get_indices() const -> std::span< std::uint32_t const >=0
virtual auto get_topology() const -> vk::PrimitiveTopology=0
Circle Geometry.
Definition circle.hpp:12
auto get_vertex_array() const -> VertexArray const &
Definition circle.hpp:29
auto get_size() const -> glm::vec2
Definition circle.hpp:27
CircleParams Params
Definition circle.hpp:14
CircleParams const & params
Definition circle.hpp:18
auto get_diameter() const -> float
Definition circle.hpp:26
static constexpr auto default_diameter_v
Definition circle.hpp:16
Sector Geometry.
Definition sector.hpp:17
auto get_diameter() const -> float
Definition sector.hpp:31
auto get_vertex_array() const -> VertexArray const &
Definition sector.hpp:34
Definition circle.hpp:4
Drawable vertex array.
Definition vertex_array.hpp:9
Drawable vertex.
Definition vertex.hpp:7
Circle creation parameters.
Definition circle.hpp:6
std::int32_t resolution
Definition circle.hpp:8
kvf::Color color
Definition circle.hpp:7