Fix build when ASSIMP_DOUBLE_PRECISION is on.
Tested: $ cmake -DASSIMP_DOUBLE_PRECISION=1 -DASSIMP_BUILD_MDL_IMPORTER=0 ..; make The MDL importer is disabled due to the fact that there is some float-only code in MDL. This also means bin/assimp and bin/unit would not link successfully with the above build flags.
This commit is contained in:
@@ -1079,7 +1079,7 @@ ASSIMP_API void aiMatrix4DecomposeIntoScalingAxisAnglePosition(
|
||||
const C_STRUCT aiMatrix4x4 *mat,
|
||||
C_STRUCT aiVector3D *scaling,
|
||||
C_STRUCT aiVector3D *axis,
|
||||
float *angle,
|
||||
ai_real *angle,
|
||||
C_STRUCT aiVector3D *position) {
|
||||
ai_assert(nullptr != mat);
|
||||
ai_assert(nullptr != scaling);
|
||||
|
||||
@@ -214,7 +214,7 @@ BinFloat ToBinary(const ai_real &pValue) {
|
||||
const bool OneComplement = ((-42 == ~42) && (binValue & 0x80000000));
|
||||
|
||||
if (DefaultValue)
|
||||
return BinFloat(1 << (CHAR_BIT * sizeof(BinFloat) - 1)) - binValue;
|
||||
return BinFloat(BinFloat(1) << (CHAR_BIT * sizeof(BinFloat) - 1)) - binValue;
|
||||
// One's complement?
|
||||
else if (OneComplement)
|
||||
return BinFloat(-0) - binValue;
|
||||
|
||||
@@ -222,7 +222,7 @@ template <>
|
||||
struct MinMaxChooser<aiVertexWeight> {
|
||||
void operator()(aiVertexWeight &min, aiVertexWeight &max) {
|
||||
MinMaxChooser<unsigned int>()(min.mVertexId, max.mVertexId);
|
||||
MinMaxChooser<float>()(min.mWeight, max.mWeight);
|
||||
MinMaxChooser<ai_real>()(min.mWeight, max.mWeight);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user