Color, Vector3 and CanvasFragment are now PODs

This can speed up CanvasPortion initialization
This commit is contained in:
Michaël Lemaire 2015-09-10 22:06:50 +02:00
parent 8d33a11dc5
commit 3c351bbe5c
9 changed files with 5 additions and 18 deletions

View file

@ -9,7 +9,7 @@ namespace basics {
class BASICSSHARED_EXPORT Color
{
public:
Color();
Color() = default;
Color(const Color &col);
Color(double r, double g, double b, double a=1.0);

View file

@ -12,11 +12,6 @@
# define METHSPEC
#endif
METHSPEC Color::Color():
r(0.0), g(0.0), b(0.0), a(0.0)
{
}
METHSPEC Color::Color(double r, double g, double b, double a):
r(r), g(g), b(b), a(a)
{

View file

@ -43,7 +43,7 @@ typedef struct
class BASICSSHARED_EXPORT Vector3
{
public:
Vector3();
Vector3() = default;
Vector3(double x, double y, double z);
Vector3(const VectorSpherical &v);

View file

@ -14,10 +14,6 @@ METHSPEC Vector3::Vector3(double x, double y, double z):
{
}
METHSPEC Vector3::Vector3()
{
}
METHSPEC Vector3 Vector3::add(double x, double y, double z) const
{
return Vector3(this->x + x, this->y + y, this->z + z);

View file

@ -1,9 +1,5 @@
#include "CanvasFragment.h"
CanvasFragment::CanvasFragment()
{
}
CanvasFragment::CanvasFragment(double z, const Vector3 &location, int client, bool opaque):
opaque(opaque), z(z), location(location), client(client)
{

View file

@ -15,7 +15,7 @@ namespace software {
class SOFTWARESHARED_EXPORT CanvasFragment
{
public:
CanvasFragment();
CanvasFragment() = default;
CanvasFragment(double z, const Vector3 &location, int client=0, bool opaque=true);
void setColor(const Color &col);

View file

@ -23,6 +23,7 @@ const CanvasFragment *CanvasPixel::getFrontFragment() const
void CanvasPixel::reset()
{
count = 0;
composite = COLOR_BLACK;
}
void CanvasPixel::pushFragment(const CanvasFragment &fragment)

View file

@ -5,7 +5,7 @@
#include "CanvasFragment.h"
const int MAX_FRAGMENT_COUNT = 7;
const int MAX_FRAGMENT_COUNT = 2;
namespace paysages {
namespace software {

View file

@ -69,7 +69,6 @@ void CanvasPortion::preparePixels()
delete[] pixels;
}
pixels = new CanvasPixel[width * height];
clear();
}
void CanvasPortion::discardPixels(bool save)