Closes https://github.com/assimp/assimp/issues/940: use standard offsetof
authorKim Kulling <kim.kulling@googlemail.com>
Fri, 8 Jul 2016 16:30:26 +0000 (18:30 +0200)
committerKim Kulling <kim.kulling@googlemail.com>
Fri, 8 Jul 2016 16:30:26 +0000 (18:30 +0200)
instead of an own version.

code/BlenderTessellator.cpp
test/regression/db.zip
test/unit/utLimitBoneWeights.cpp
test/unit/utMaterialSystem.cpp
test/unit/utMatrix3x3.cpp

index 2db7a2d..e74b352 100644 (file)
@@ -50,6 +50,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include "BlenderBMesh.h"
 #include "BlenderTessellator.h"
 
+#include <stddef.h> 
+
 static const unsigned int BLEND_TESS_MAGIC = 0x83ed9ac3;
 
 #if ASSIMP_BLEND_WITH_GLU_TESSELLATE
@@ -373,13 +375,13 @@ void BlenderTessellatorP2T::ReferencePoints( std::vector< Blender::PointP2T >& p
 
 // ------------------------------------------------------------------------------------------------
 // Yes this is filthy... but we have no choice
-#define OffsetOf( Class, Member ) ( static_cast< unsigned int >( \
+/*#define OffsetOf( Class, Member ) ( static_cast< unsigned int >( \
     reinterpret_cast<uint8_t*>(&( reinterpret_cast< Class* >( NULL )->*( &Class::Member ) )) - \
     static_cast<uint8_t*>(NULL) ) )
-
+    */
 inline PointP2T& BlenderTessellatorP2T::GetActualPointStructure( p2t::Point& point ) const
 {
-    unsigned int pointOffset = OffsetOf( PointP2T, point2D );
+    unsigned int pointOffset = offsetof( PointP2T, point2D );
     PointP2T& pointStruct = *reinterpret_cast< PointP2T* >( reinterpret_cast< char* >( &point ) - pointOffset );
     if ( pointStruct.magic != static_cast<int>( BLEND_TESS_MAGIC ) )
     {
index d2687dd..03a23f4 100644 (file)
Binary files a/test/regression/db.zip and b/test/regression/db.zip differ
index 4cb3695..9b38a2f 100644 (file)
@@ -43,18 +43,15 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <assimp/scene.h>
 #include <LimitBoneWeightsProcess.h>
 
-
 using namespace std;
 using namespace Assimp;
 
 class LimitBoneWeightsTest : public ::testing::Test {
 public:
-
     virtual void SetUp();
     virtual void TearDown();
 
 protected:
-
     LimitBoneWeightsProcess* piProcess;
     aiMesh* pcMesh;
 };
index 7948229..af31d19 100644 (file)
@@ -43,19 +43,16 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <assimp/scene.h>
 #include <MaterialSystem.h>
 
-
-using namespace std;
-using namespace Assimp;
+using namespace ::std;
+using namespace ::Assimp;
 
 class MaterialSystemTest : public ::testing::Test
 {
 public:
-
     virtual void SetUp() { this->pcMat = new aiMaterial(); }
     virtual void TearDown() { delete this->pcMat; }
 
 protected:
-
     aiMaterial* pcMat;
 };
 
index e2496c4..d013980 100644 (file)
@@ -42,7 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include "UnitTestPCH.h"
 #include <iostream>
 
-using namespace Assimp;
+using namespace ::Assimp;
 
 class utMatrix3x3Test : public ::testing::Test {