Merge branch 'master' of https://github.com/assimp/assimp
commit
4d92c01933
|
@ -477,6 +477,8 @@ struct aiAnimation {
|
||||||
for( unsigned int a = 0; a < mNumMorphMeshChannels; a++) {
|
for( unsigned int a = 0; a < mNumMorphMeshChannels; a++) {
|
||||||
delete mMorphMeshChannels[a];
|
delete mMorphMeshChannels[a];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delete [] mMorphMeshChannels;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif // __cplusplus
|
#endif // __cplusplus
|
||||||
|
|
|
@ -51,7 +51,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
# include <math.h>
|
# include <math.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "./Compiler/pushpack1.h"
|
|
||||||
#include "defs.h"
|
#include "defs.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -126,7 +125,7 @@ public:
|
||||||
const aiVector3t SymMul(const aiVector3t& o);
|
const aiVector3t SymMul(const aiVector3t& o);
|
||||||
|
|
||||||
TReal x, y, z;
|
TReal x, y, z;
|
||||||
} PACK_STRUCT;
|
};
|
||||||
|
|
||||||
|
|
||||||
typedef aiVector3t<ai_real> aiVector3D;
|
typedef aiVector3t<ai_real> aiVector3D;
|
||||||
|
@ -135,16 +134,12 @@ typedef aiVector3t<ai_real> aiVector3D;
|
||||||
|
|
||||||
struct aiVector3D {
|
struct aiVector3D {
|
||||||
ai_real x, y, z;
|
ai_real x, y, z;
|
||||||
} PACK_STRUCT;
|
};
|
||||||
|
|
||||||
#endif // __cplusplus
|
#endif // __cplusplus
|
||||||
|
|
||||||
#include "./Compiler/poppack1.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __cplusplus
|
#endif // __cplusplus
|
||||||
|
|
||||||
#endif // AI_VECTOR3D_H_INC
|
#endif // AI_VECTOR3D_H_INC
|
||||||
|
|
|
@ -141,12 +141,34 @@ AI_FORCE_INLINE aiVector3t<TReal>& aiVector3t<TReal>::operator *= (const aiMatri
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
template <typename TReal>
|
template <typename TReal>
|
||||||
AI_FORCE_INLINE TReal aiVector3t<TReal>::operator[](unsigned int i) const {
|
AI_FORCE_INLINE TReal aiVector3t<TReal>::operator[](unsigned int i) const {
|
||||||
return *(&x + i);
|
// return *(&x + i);
|
||||||
|
switch (i) {
|
||||||
|
case 0:
|
||||||
|
return x;
|
||||||
|
case 1:
|
||||||
|
return y;
|
||||||
|
case 2:
|
||||||
|
return z;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return x;
|
||||||
}
|
}
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
template <typename TReal>
|
template <typename TReal>
|
||||||
AI_FORCE_INLINE TReal& aiVector3t<TReal>::operator[](unsigned int i) {
|
AI_FORCE_INLINE TReal& aiVector3t<TReal>::operator[](unsigned int i) {
|
||||||
return *(&x + i);
|
// return *(&x + i);
|
||||||
|
switch (i) {
|
||||||
|
case 0:
|
||||||
|
return x;
|
||||||
|
case 1:
|
||||||
|
return y;
|
||||||
|
case 2:
|
||||||
|
return z;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return x;
|
||||||
}
|
}
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
template <typename TReal>
|
template <typename TReal>
|
||||||
|
|
|
@ -120,6 +120,7 @@ SET( TEST_SRCS
|
||||||
unit/utTypes.cpp
|
unit/utTypes.cpp
|
||||||
unit/utVertexTriangleAdjacency.cpp
|
unit/utVertexTriangleAdjacency.cpp
|
||||||
unit/utVersion.cpp
|
unit/utVersion.cpp
|
||||||
|
unit/utVector3.cpp
|
||||||
unit/utXImporterExporter.cpp
|
unit/utXImporterExporter.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
using namespace ::Assimp;
|
using namespace ::Assimp;
|
||||||
|
|
||||||
class utMatrix3x3Test : public ::testing::Test {
|
class utMatrix3x3Test : public ::testing::Test {
|
||||||
|
// empty
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_F( utMatrix3x3Test, FromToMatrixTest ) {
|
TEST_F( utMatrix3x3Test, FromToMatrixTest ) {
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
/*-------------------------------------------------------------------------
|
||||||
|
Open Asset Import Library (assimp)
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Copyright (c) 2006-2017, assimp team
|
||||||
|
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use of this software in source and binary forms,
|
||||||
|
with or without modification, are permitted provided that the following
|
||||||
|
conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above
|
||||||
|
copyright notice, this list of conditions and the
|
||||||
|
following disclaimer.
|
||||||
|
|
||||||
|
* Redistributions in binary form must reproduce the above
|
||||||
|
copyright notice, this list of conditions and the
|
||||||
|
following disclaimer in the documentation and/or other
|
||||||
|
materials provided with the distribution.
|
||||||
|
|
||||||
|
* Neither the name of the assimp team, nor the names of its
|
||||||
|
contributors may be used to endorse or promote products
|
||||||
|
derived from this software without specific prior
|
||||||
|
written permission of the assimp team.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
-------------------------------------------------------------------------*/
|
||||||
|
#include "UnitTestPCH.h"
|
||||||
|
#include <assimp/vector3.h>
|
||||||
|
|
||||||
|
using namespace ::Assimp;
|
||||||
|
|
||||||
|
class utVector3 : public ::testing::Test {
|
||||||
|
// empty
|
||||||
|
};
|
||||||
|
|
||||||
|
TEST_F(utVector3, CreationTest) {
|
||||||
|
aiVector3D v0;
|
||||||
|
aiVector3D v1( 1.0f, 2.0f, 3.0f );
|
||||||
|
EXPECT_FLOAT_EQ (1.0f, v1[ 0 ] );
|
||||||
|
EXPECT_FLOAT_EQ( 2.0f, v1[ 1 ] );
|
||||||
|
EXPECT_FLOAT_EQ( 3.0f, v1[ 2 ] );
|
||||||
|
aiVector3D v2( 1 );
|
||||||
|
EXPECT_FLOAT_EQ( 1.0f, v2[ 0 ] );
|
||||||
|
EXPECT_FLOAT_EQ( 1.0f, v2[ 1 ] );
|
||||||
|
EXPECT_FLOAT_EQ( 1.0f, v2[ 2 ] );
|
||||||
|
aiVector3D v3( v1 );
|
||||||
|
EXPECT_FLOAT_EQ( v1[ 0 ], v3[ 0 ] );
|
||||||
|
EXPECT_FLOAT_EQ( v1[ 1 ], v3[ 1 ] );
|
||||||
|
EXPECT_FLOAT_EQ( v1[ 2 ], v3[ 2 ] );
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F( utVector3, BracketOpTest ) {
|
||||||
|
aiVector3D v(1.0f, 2.0f, 3.0f);
|
||||||
|
EXPECT_FLOAT_EQ( 1.0f, v[ 0 ] );
|
||||||
|
EXPECT_FLOAT_EQ( 2.0f, v[ 1 ] );
|
||||||
|
EXPECT_FLOAT_EQ( 3.0f, v[ 2 ] );
|
||||||
|
}
|
Loading…
Reference in New Issue