LeviLamina
Loading...
Searching...
No Matches
BasePrimitive.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/editor/services/render_helper/PrimitiveType.h"
7
8// auto generated forward declare list
9// clang-format off
10class AABB;
11class Vec3;
12namespace Editor::RenderHelper { struct Vertex; }
13// clang-format on
14
15namespace Editor::RenderHelper {
16
18public:
19 // member variables
20 // NOLINTBEGIN
24 // NOLINTEND
25
26public:
27 // prevent constructor by default
28 BasePrimitive& operator=(BasePrimitive const&);
31
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 // vIndex: 0
36 virtual ::Editor::RenderHelper::PrimitiveType getType() const = 0;
37
38 // vIndex: 1
39 virtual ::Vec3 const& getPosition() const = 0;
40
41 // vIndex: 2
42 virtual void setPosition(::Vec3 const&);
43
44 // vIndex: 3
45 virtual void updateBoundingBox(::Vec3 const&, ::AABB&) const;
46
47 // vIndex: 4
48 virtual ~BasePrimitive() = default;
49
50 // vIndex: 5
51 virtual void _rebuild() = 0;
52
53 // vIndex: 6
54 virtual void _getVertices(::std::vector<::Editor::RenderHelper::Vertex>&) = 0;
55 // NOLINTEND
56
57public:
58 // destructor thunk
59 // NOLINTBEGIN
60
61 // NOLINTEND
62
63public:
64 // virtual function thunks
65 // NOLINTBEGIN
66
67 // NOLINTEND
68};
69
70} // namespace Editor::RenderHelper
Definition AABB.h:16
Definition BasePrimitive.h:17
Definition Vec3.h:10
Definition Alias.h:14