SUNENGINE 0.0.2
A simple and bright C++ game engine.
 
Loading...
Searching...
No Matches
VisualizerCommandPool.h
1#ifndef VisualizerCommandPool_H
2#define VisualizerCommandPool_H
3
4#include "AzulCore.h"
5#include <list>
6
15
24class VisualizerCommandPool
25{
26public:
27 VisualizerCommandPool() = default;
28 VisualizerCommandPool(const VisualizerCommandPool&) = delete;
29 VisualizerCommandPool& operator=(const VisualizerCommandPool&) = delete;
30 ~VisualizerCommandPool();
31
39 VisualizerBSphereCommand* GetBSphereCommand(const CollisionVolumeBSphere& sphere, const Vect& color, GraphicsObject_WireframeConstantColor* wf);
40
46
54 VisualizerAABBCommand* GetAABBCommand(const CollisionVolumeAABB& aabb, const Vect& color, GraphicsObject_WireframeConstantColor* wf);
55
61
69 VisualizerOBBCommand* GetOBBCommand(const CollisionVolumeOBB& obb, const Vect& color, GraphicsObject_WireframeConstantColor* wf);
70
76
85 VisualizerMinMaxCommand* GetMinMaxCommand(const Vect& minPoint, const Vect& maxPoint, const Vect& color, GraphicsObject_WireframeConstantColor* wf);
86
92
101 VisualizerLineCommand* GetLineCommand(const Vect& start, const Vect& end, const Vect& color, GraphicsObject_WireframeConstantColor* wf);
102
108
109private:
113 std::list<VisualizerBSphereCommand*> bspherePool;
114
118 std::list<VisualizerAABBCommand*> aabbPool;
119
123 std::list< VisualizerOBBCommand*> obbPool;
124
128 std::list<VisualizerMinMaxCommand*> minmaxPool;
129
133 std::list<VisualizerLineCommand*> linePool;
134};
135
136#endif
Represents an axis-aligned bounding box (AABB) collision volume.
Definition CollisionVolumeAABB.h:23
Represents a bounding sphere collision volume.
Definition CollisionVolumeBSphere.h:14
Represents an Oriented Bounding Box (OBB) collision volume.
Definition CollisionVolumeOBB.h:23
Command class for visualizing an Axis-Aligned Bounding Box (AABB).
Definition VisualizerAABBCommand.h:20
Command to visualize a collision volume bounding sphere.
Definition VisualizerBSphereCommand.h:19
std::list< VisualizerBSphereCommand * > bspherePool
List of VisualizerBSphereCommand pointers representing the command pool.
Definition VisualizerCommandPool.h:113
void ReturnBSphereCommand(VisualizerBSphereCommand *cmd)
Returns a VisualizerBSphereCommand to the pool.
Definition VisualizerCommandPool.cpp:57
void ReturnMinMaxCommand(VisualizerMinMaxCommand *cmd)
Returns a VisualizerMinMaxCommand to the pool.
Definition VisualizerCommandPool.cpp:120
VisualizerMinMaxCommand * GetMinMaxCommand(const Vect &minPoint, const Vect &maxPoint, const Vect &color, GraphicsObject_WireframeConstantColor *wf)
Gets a VisualizerMinMaxCommand from the pool or creates a new one if the pool is empty.
Definition VisualizerCommandPool.cpp:104
VisualizerBSphereCommand * GetBSphereCommand(const CollisionVolumeBSphere &sphere, const Vect &color, GraphicsObject_WireframeConstantColor *wf)
Gets a VisualizerBSphereCommand from the pool or creates a new one if the pool is empty.
Definition VisualizerCommandPool.cpp:41
std::list< VisualizerAABBCommand * > aabbPool
List of VisualizerAABBCommand pointers representing the command pool.
Definition VisualizerCommandPool.h:118
VisualizerLineCommand * GetLineCommand(const Vect &start, const Vect &end, const Vect &color, GraphicsObject_WireframeConstantColor *wf)
Gets a VisualizerLineCommand from the pool or creates a new one if the pool is empty.
Definition VisualizerCommandPool.cpp:125
std::list< VisualizerLineCommand * > linePool
List of VisualizerLineCommand pointers representing the command pool.
Definition VisualizerCommandPool.h:133
void ReturnOBBCommand(VisualizerOBBCommand *cmd)
Returns a VisualizerOBBCommand to the pool.
Definition VisualizerCommandPool.cpp:99
VisualizerOBBCommand * GetOBBCommand(const CollisionVolumeOBB &obb, const Vect &color, GraphicsObject_WireframeConstantColor *wf)
Gets a VisualizerOBBCommand from the pool or creates a new one if the pool is empty.
Definition VisualizerCommandPool.cpp:83
VisualizerAABBCommand * GetAABBCommand(const CollisionVolumeAABB &aabb, const Vect &color, GraphicsObject_WireframeConstantColor *wf)
Gets a VisualizerAABBCommand from the pool or creates a new one if the pool is empty.
Definition VisualizerCommandPool.cpp:62
std::list< VisualizerOBBCommand * > obbPool
List of VisualizerOBBCommand pointers representing the command pool.
Definition VisualizerCommandPool.h:123
std::list< VisualizerMinMaxCommand * > minmaxPool
List of VisualizerMinMaxCommand pointers representing the command pool.
Definition VisualizerCommandPool.h:128
void ReturnAABBCommand(VisualizerAABBCommand *cmd)
Returns a VisualizerAABBCommand to the pool.
Definition VisualizerCommandPool.cpp:78
void ReturnLineCommand(VisualizerLineCommand *cmd)
Returns a VisualizerLineCommand to the pool.
Definition VisualizerCommandPool.cpp:141
Command for visualizing a line in the collision visualizer.
Definition VisualizerLineCommand.h:28
Command for visualizing a box defined by min/max points in the collision visualizer.
Definition VisualizerMinMaxCommand.h:29
Command class for visualizing an OBB (Oriented Bounding Box) in the scene.
Definition VisualizerOBBCommand.h:27