cmdfx 0.3.2
Lightweight game engine for your terminal
Loading...
Searching...
No Matches
mass.hpp
Go to the documentation of this file.
1
11#pragma once
12
13extern "C" {
14#include "cmdfx/physics/mass.h"
15}
16
18
19namespace CmdFX
20{
21
30class SpriteMass final {
31 private:
32 std::unique_ptr<Sprite> sprite;
33
34 public:
35 SpriteMass(std::unique_ptr<Sprite> sprite) : sprite(std::move(sprite)) {
36 }
37 SpriteMass(CmdFX_Sprite* sprite)
38 : sprite(std::make_unique<Sprite>(sprite)) {
39 }
40 ~SpriteMass() {
41 if (sprite) {
42 Sprite_resetMass(sprite->getSprite());
43 }
44 }
45
46 double getDefaultMass(Sprite& sprite) {
47 return Sprite_getDefaultMass(sprite.getSprite());
48 }
49
50 double getMass(Sprite& sprite) {
51 return Sprite_getMass(sprite.getSprite());
52 }
53
54 int setMass(Sprite& sprite, double mass) {
55 return Sprite_setMass(sprite.getSprite(), mass);
56 }
57
58 int resetMass(Sprite& sprite) {
59 return Sprite_resetMass(sprite.getSprite());
60 }
61};
62} // namespace CmdFX
A C++ wrapper around a CmdFX_Sprite struct.
Definition sprites.hpp:33
Mass-related physics declarations.
double Sprite_getDefaultMass(CmdFX_Sprite *sprite)
Gets the default mass of a sprite.
int Sprite_resetMass(CmdFX_Sprite *sprite)
Resets the mass of a sprite.
double Sprite_getMass(CmdFX_Sprite *sprite)
Gets the mass of a sprite.
int Sprite_setMass(CmdFX_Sprite *sprite, double mass)
Sets the mass of a sprite.
Primary namespace for CmdFX.
Definition cmdfx.hpp:26
C++ Extensions for the CmdFX Sprites API.
Represents a sprite that can be drawn to the terminal.
Definition sprites.h:31