CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CappedCylinderMesh.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
10#include "CylinderMesh.hpp"
11#include "DiskMesh.hpp"
12#include "FlipMesh.hpp"
13#include "LatheMesh.hpp"
14#include "LineShape.hpp"
15#include "MergeMesh.hpp"
16#include "RotateMesh.hpp"
17#include "TranslateMesh.hpp"
18#include "UvFlipMesh.hpp"
19
21
22 namespace detail {
23
24 class Cap {
25 private:
28
29 public:
30 Cap(double radius, double distance, int slices, int rings, double start, double sweep);
31
32 using Triangles = typename Impl::Triangles;
33
35
36 using Vertices = typename Impl::Vertices;
37
39 };
40
41 } // namespace detail
42
46 private:
49
50 public:
58 CappedCylinderMesh(double radius = 1.0, double size = 1.0, int slices = 32, int segments = 8, int rings = 4, double start = 0.0,
59 double sweep = radians(360.0));
60
61 using Triangles = typename Impl::Triangles;
62 [[nodiscard]] Triangles triangles() const noexcept { return mMergeMesh.triangles(); }
63
64 using Vertices = typename Impl::Vertices;
65 [[nodiscard]] Vertices vertices() const noexcept { return mMergeMesh.vertices(); }
66 };
67
68} // namespace CeresEngine::MeshGenerator
Like CylinderMesh but with end caps.
Definition CappedCylinderMesh.hpp:45
Impl mMergeMesh
Definition CappedCylinderMesh.hpp:48
typename Impl::Vertices Vertices
Definition CappedCylinderMesh.hpp:64
Triangles triangles() const noexcept
Definition CappedCylinderMesh.hpp:62
CappedCylinderMesh(double radius=1.0, double size=1.0, int slices=32, int segments=8, int rings=4, double start=0.0, double sweep=radians(360.0))
Vertices vertices() const noexcept
Definition CappedCylinderMesh.hpp:65
typename Impl::Triangles Triangles
Definition CappedCylinderMesh.hpp:61
Triangles triangles() const noexcept
Definition TranslateMesh.hpp:30
Vertices vertices() const noexcept
Definition TranslateMesh.hpp:34
typename Impl::Vertices Vertices
Definition TranslateMesh.hpp:32
typename Impl::Triangles Triangles
Definition TranslateMesh.hpp:28
Definition CappedCylinderMesh.hpp:24
Impl mTranslateMesh
Definition CappedCylinderMesh.hpp:27
typename Impl::Vertices Vertices
Definition CappedCylinderMesh.hpp:36
typename Impl::Triangles Triangles
Definition CappedCylinderMesh.hpp:32
Vertices vertices() const noexcept
Definition CappedCylinderMesh.hpp:38
Cap(double radius, double distance, int slices, int rings, double start, double sweep)
Triangles triangles() const noexcept
Definition CappedCylinderMesh.hpp:34
Definition AnyGenerator.hpp:12
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25