Fix compile error: When enable macro ASSIMP_DOUBLE_PRECISION
@@ -1476,7 +1476,7 @@ std::vector<IfcVector2> GetContourInPlane2D(std::shared_ptr<TempMesh> mesh,IfcMa
return contour;
}
-const float close{ ai_epsilon };
+const ai_real close{ ai_epsilon };
static bool isClose(IfcVector2 first,IfcVector2 second) {
auto diff = (second - first);
@@ -55,7 +55,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Assimp {
-constexpr char ObjFileParser::DEFAULT_MATERIAL[];
+constexpr const char ObjFileParser::DEFAULT_MATERIAL[];
ObjFileParser::ObjFileParser() :
m_DataIt(),
@@ -141,7 +141,7 @@ private:
// because the class contains pointer to allocated memory
/// Default material name
- static constexpr char DEFAULT_MATERIAL[] = AI_DEFAULT_MATERIAL_NAME;
+ static constexpr const char DEFAULT_MATERIAL[] = AI_DEFAULT_MATERIAL_NAME;
//! Iterator to current position in buffer
DataArrayIt m_DataIt;
//! Iterator to end position of buffer
@@ -53,9 +53,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#endif
using namespace Assimp;
-using namespace glTFCommon;
namespace glTF {
+using namespace glTFCommon;
#if _MSC_VER
#pragma warning(push)
@@ -82,9 +82,21 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// clang-format on
namespace glTF2 {
+using glTFCommon::FindStringInContext;
+using glTFCommon::FindNumberInContext;
+using glTFCommon::FindUIntInContext;
+using glTFCommon::FindArrayInContext;
+using glTFCommon::FindObjectInContext;
+using glTFCommon::FindExtensionInContext;
+using glTFCommon::MemberOrDefault;
+using glTFCommon::ReadMember;
+using glTFCommon::FindMember;
+using glTFCommon::FindObject;
+using glTFCommon::FindUInt;
+using glTFCommon::FindArray;
namespace {
@@ -78,11 +78,11 @@ protected:
// We define the struct size because sizeof(Header) might return a wrong result because of structure padding.
static constexpr std::size_t header_size =
- sizeof(type) +
- sizeof(size) +
- sizeof(reserved1) +
- sizeof(reserved2) +
- sizeof(offset);
+ sizeof(uint16_t) +
+ sizeof(uint32_t) +
+ sizeof(uint32_t);
};
struct DIB {
@@ -100,17 +100,17 @@ protected:
// We define the struct size because sizeof(DIB) might return a wrong result because of structure padding.
static constexpr std::size_t dib_size =
- sizeof(width) +
- sizeof(height) +
- sizeof(planes) +
- sizeof(bits_per_pixel) +
- sizeof(compression) +
- sizeof(image_size) +
- sizeof(x_resolution) +
- sizeof(y_resolution) +
- sizeof(nb_colors) +
- sizeof(nb_important_colors);
+ sizeof(int32_t) +
static constexpr std::size_t mBytesPerPixel = 4;
@@ -157,7 +157,7 @@ AI_FORCE_INLINE
case aiPTI_Float:
case aiPTI_Double: {
// Read as float and cast to bool
- float value = 0.0f;
+ ai_real value = 0.0f;
if (AI_SUCCESS == ::aiGetMaterialFloat(this, pKey, type, idx, &value)) {
pOut = static_cast<bool>(value);
return AI_SUCCESS;