forked from Mirrorlandia_minetest/irrlicht
Remove trivial copy constructors and assignment operators
Thanks @sfan5 for patch for Mintest: 4931b34625
Forum: https://irrlicht.sourceforge.io/forum/viewtopic.php?f=2&t=52819
Note - patch is not applied exaclty yet. SMaterial and matrix4 still missing (might be applied later).
Also patch was based on older Irrlicht and we removed a few already earlier this year (around r6280).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6355 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
parent
df17e52a05
commit
5163d74e3f
10
changes.txt
10
changes.txt
@ -1,14 +1,18 @@
|
|||||||
--------------------------
|
--------------------------
|
||||||
Changes in 1.9 (not yet released)
|
Changes in 1.9 (not yet released)
|
||||||
|
|
||||||
|
- Fix OSX nor resizing properly. Thanks @torleif, Jordach and sfan5 for patch and report: https://irrlicht.sourceforge.io/forum/viewtopic.php?f=2&t=52819
|
||||||
|
- X meshloader fixes bug with uninitialized normals. Thanks @sfan5 for patch: https://irrlicht.sourceforge.io/forum/viewtopic.php?f=2&t=52819
|
||||||
- stl meshloader now faster, especially with text format
|
- stl meshloader now faster, especially with text format
|
||||||
- CMemoryReadFile::seek no longer allowed to go _before_ start.
|
- CMemoryReadFile::seek CMemoryWriteFile::seek and no longer allowed to go _before_ start.
|
||||||
|
Thanks @sfan5 for patch: https://irrlicht.sourceforge.io/forum/viewtopic.php?f=2&t=52819
|
||||||
- stl meshloader can now load 32 bit buffers.
|
- stl meshloader can now load 32 bit buffers.
|
||||||
Thanks @Foaly for the patch (https://irrlicht.sourceforge.io/forum/viewtopic.php?f=9&t=51441)
|
Thanks @Foaly for the patch: https://irrlicht.sourceforge.io/forum/viewtopic.php?f=9&t=51441
|
||||||
- Add IMeshBufffer::clone function to create buffer copies. CMeshManipulator::createMeshCopy uses that now and works now with all types of meshbuffers.
|
- Add IMeshBufffer::clone function to create buffer copies. CMeshManipulator::createMeshCopy uses that now and works now with all types of meshbuffers.
|
||||||
- obj writer can now write 32 bit buffers
|
- obj writer can now write 32 bit buffers
|
||||||
- obj meshloader can now load 32 bit buffers when setIndexTypeHint is set correspondingly
|
- obj meshloader can now load 32 bit buffers when setIndexTypeHint is set correspondingly
|
||||||
It's 16 bit meshes use now also an IDynamicMeshbuffer instead of an SMeshBuffer.
|
It's 16 bit meshes use now also an IDynamicMeshbuffer instead of an SMeshBuffer.
|
||||||
Thanks @Wol101 for original patch proposal (https://irrlicht.sourceforge.io/forum/viewtopic.php?f=9&t=51441)
|
Thanks @Wol101 for original patch proposal: https://irrlicht.sourceforge.io/forum/viewtopic.php?f=9&t=51441
|
||||||
- Add IMeshLoader::setIndexTypeHint and getIndexTypeHint to allow setting hints for the loaders if users prefer 16 or 32 bit meshbuffers.
|
- Add IMeshLoader::setIndexTypeHint and getIndexTypeHint to allow setting hints for the loaders if users prefer 16 or 32 bit meshbuffers.
|
||||||
Default is now to use optimal meshbuffer depending on number of vertices (if the loader supports it).
|
Default is now to use optimal meshbuffer depending on number of vertices (if the loader supports it).
|
||||||
- Add IMeshBuffer::getType to allow finding out which class type a meshbuffer has (similar to ISceneNode::getType).
|
- Add IMeshBuffer::getType to allow finding out which class type a meshbuffer has (similar to ISceneNode::getType).
|
||||||
|
@ -153,13 +153,7 @@ namespace scene
|
|||||||
{
|
{
|
||||||
virtual ~SMD3QuaternionTag()
|
virtual ~SMD3QuaternionTag()
|
||||||
{
|
{
|
||||||
position.X = 0.f;
|
position.X = 0.f; // anyone got an idea why?
|
||||||
}
|
|
||||||
|
|
||||||
// construct copy constructor
|
|
||||||
SMD3QuaternionTag( const SMD3QuaternionTag & copyMe )
|
|
||||||
{
|
|
||||||
*this = copyMe;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// construct for searching
|
// construct for searching
|
||||||
@ -181,14 +175,6 @@ namespace scene
|
|||||||
return Name == other.Name;
|
return Name == other.Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
SMD3QuaternionTag & operator=( const SMD3QuaternionTag & copyMe )
|
|
||||||
{
|
|
||||||
Name = copyMe.Name;
|
|
||||||
position = copyMe.position;
|
|
||||||
rotation = copyMe.rotation;
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
core::stringc Name;
|
core::stringc Name;
|
||||||
core::vector3df position;
|
core::vector3df position;
|
||||||
core::quaternion rotation;
|
core::quaternion rotation;
|
||||||
@ -202,12 +188,6 @@ namespace scene
|
|||||||
Container.setAllocStrategy(core::ALLOC_STRATEGY_SAFE);
|
Container.setAllocStrategy(core::ALLOC_STRATEGY_SAFE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// construct copy constructor
|
|
||||||
SMD3QuaternionTagList(const SMD3QuaternionTagList& copyMe)
|
|
||||||
{
|
|
||||||
*this = copyMe;
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual ~SMD3QuaternionTagList() {}
|
virtual ~SMD3QuaternionTagList() {}
|
||||||
|
|
||||||
SMD3QuaternionTag* get(const core::stringc& name)
|
SMD3QuaternionTag* get(const core::stringc& name)
|
||||||
@ -250,12 +230,6 @@ namespace scene
|
|||||||
Container.push_back(other);
|
Container.push_back(other);
|
||||||
}
|
}
|
||||||
|
|
||||||
SMD3QuaternionTagList& operator = (const SMD3QuaternionTagList & copyMe)
|
|
||||||
{
|
|
||||||
Container = copyMe.Container;
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
core::array < SMD3QuaternionTag > Container;
|
core::array < SMD3QuaternionTag > Container;
|
||||||
};
|
};
|
||||||
|
@ -140,9 +140,6 @@ class map
|
|||||||
reset();
|
reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy constructor
|
|
||||||
Iterator(const Iterator& src) : Root(src.Root), Cur(src.Cur) {}
|
|
||||||
|
|
||||||
void reset(bool atLowest=true)
|
void reset(bool atLowest=true)
|
||||||
{
|
{
|
||||||
if (atLowest)
|
if (atLowest)
|
||||||
@ -161,13 +158,6 @@ class map
|
|||||||
return Cur;
|
return Cur;
|
||||||
}
|
}
|
||||||
|
|
||||||
Iterator& operator=(const Iterator& src)
|
|
||||||
{
|
|
||||||
Root = src.Root;
|
|
||||||
Cur = src.Cur;
|
|
||||||
return (*this);
|
|
||||||
}
|
|
||||||
|
|
||||||
void operator++(int)
|
void operator++(int)
|
||||||
{
|
{
|
||||||
inc();
|
inc();
|
||||||
@ -287,8 +277,7 @@ class map
|
|||||||
reset();
|
reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy constructor
|
// Constructor(Iterator)
|
||||||
ConstIterator(const ConstIterator& src) : Root(src.Root), Cur(src.Cur) {}
|
|
||||||
ConstIterator(const Iterator& src) : Root(src.Root), Cur(src.Cur) {}
|
ConstIterator(const Iterator& src) : Root(src.Root), Cur(src.Cur) {}
|
||||||
|
|
||||||
void reset(bool atLowest=true)
|
void reset(bool atLowest=true)
|
||||||
@ -309,13 +298,6 @@ class map
|
|||||||
return Cur;
|
return Cur;
|
||||||
}
|
}
|
||||||
|
|
||||||
ConstIterator& operator=(const ConstIterator& src)
|
|
||||||
{
|
|
||||||
Root = src.Root;
|
|
||||||
Cur = src.Cur;
|
|
||||||
return (*this);
|
|
||||||
}
|
|
||||||
|
|
||||||
void operator++(int)
|
void operator++(int)
|
||||||
{
|
{
|
||||||
inc();
|
inc();
|
||||||
|
@ -27,8 +27,6 @@ public:
|
|||||||
vector2d(T nx, T ny) : X(nx), Y(ny) {}
|
vector2d(T nx, T ny) : X(nx), Y(ny) {}
|
||||||
//! Constructor with the same value for both members
|
//! Constructor with the same value for both members
|
||||||
explicit vector2d(T n) : X(n), Y(n) {}
|
explicit vector2d(T n) : X(n), Y(n) {}
|
||||||
//! Copy constructor
|
|
||||||
vector2d(const vector2d<T>& other) : X(other.X), Y(other.Y) {}
|
|
||||||
|
|
||||||
vector2d(const dimension2d<T>& other) : X(other.Width), Y(other.Height) {}
|
vector2d(const dimension2d<T>& other) : X(other.Width), Y(other.Height) {}
|
||||||
|
|
||||||
@ -36,8 +34,6 @@ public:
|
|||||||
|
|
||||||
vector2d<T> operator-() const { return vector2d<T>(-X, -Y); }
|
vector2d<T> operator-() const { return vector2d<T>(-X, -Y); }
|
||||||
|
|
||||||
vector2d<T>& operator=(const vector2d<T>& other) { X = other.X; Y = other.Y; return *this; }
|
|
||||||
|
|
||||||
vector2d<T>& operator=(const dimension2d<T>& other) { X = other.Width; Y = other.Height; return *this; }
|
vector2d<T>& operator=(const dimension2d<T>& other) { X = other.Width; Y = other.Height; return *this; }
|
||||||
|
|
||||||
vector2d<T> operator+(const vector2d<T>& other) const { return vector2d<T>(X + other.X, Y + other.Y); }
|
vector2d<T> operator+(const vector2d<T>& other) const { return vector2d<T>(X + other.X, Y + other.Y); }
|
||||||
|
@ -28,15 +28,11 @@ namespace core
|
|||||||
vector3d(T nx, T ny, T nz) : X(nx), Y(ny), Z(nz) {}
|
vector3d(T nx, T ny, T nz) : X(nx), Y(ny), Z(nz) {}
|
||||||
//! Constructor with the same value for all elements
|
//! Constructor with the same value for all elements
|
||||||
explicit vector3d(T n) : X(n), Y(n), Z(n) {}
|
explicit vector3d(T n) : X(n), Y(n), Z(n) {}
|
||||||
//! Copy constructor
|
|
||||||
vector3d(const vector3d<T>& other) : X(other.X), Y(other.Y), Z(other.Z) {}
|
|
||||||
|
|
||||||
// operators
|
// operators
|
||||||
|
|
||||||
vector3d<T> operator-() const { return vector3d<T>(-X, -Y, -Z); }
|
vector3d<T> operator-() const { return vector3d<T>(-X, -Y, -Z); }
|
||||||
|
|
||||||
vector3d<T>& operator=(const vector3d<T>& other) { X = other.X; Y = other.Y; Z = other.Z; return *this; }
|
|
||||||
|
|
||||||
vector3d<T> operator+(const vector3d<T>& other) const { return vector3d<T>(X + other.X, Y + other.Y, Z + other.Z); }
|
vector3d<T> operator+(const vector3d<T>& other) const { return vector3d<T>(X + other.X, Y + other.Y, Z + other.Z); }
|
||||||
vector3d<T>& operator+=(const vector3d<T>& other) { X+=other.X; Y+=other.Y; Z+=other.Z; return *this; }
|
vector3d<T>& operator+=(const vector3d<T>& other) { X+=other.X; Y+=other.Y; Z+=other.Z; return *this; }
|
||||||
vector3d<T> operator+(const T val) const { return vector3d<T>(X + val, Y + val, Z + val); }
|
vector3d<T> operator+(const T val) const { return vector3d<T>(X + val, Y + val, Z + val); }
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Tests finished. 72 tests of 72 passed.
|
Tests finished. 72 tests of 72 passed.
|
||||||
Compiled as DEBUG
|
Compiled as DEBUG
|
||||||
Test suite pass at GMT Thu Apr 14 16:41:11 2022
|
Test suite pass at GMT Thu Apr 21 21:46:37 2022
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user