Merge pull request #472 from assimp/fix471

Update IfcLoader to use numeric_limits<uint32_t> instead of UINT32_MAX, ...
pull/476/head
Alexander Gessler 2015-02-28 14:27:59 +01:00
commit 579382ad91
2 changed files with 5 additions and 3 deletions

View File

@ -46,6 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef ASSIMP_BUILD_NO_IFC_IMPORTER #ifndef ASSIMP_BUILD_NO_IFC_IMPORTER
#include <iterator> #include <iterator>
#include <limits>
#include <boost/tuple/tuple.hpp> #include <boost/tuple/tuple.hpp>
#ifndef ASSIMP_BUILD_NO_COMPRESSED_IFC #ifndef ASSIMP_BUILD_NO_COMPRESSED_IFC
@ -560,7 +561,7 @@ void ProcessProductRepresentation(const IfcProduct& el, aiNode* nd, std::vector<
} }
// extract Color from metadata, if present // extract Color from metadata, if present
unsigned int matid = ProcessMaterials( el.GetID(), UINT32_MAX, conv, false); unsigned int matid = ProcessMaterials( el.GetID(), std::numeric_limits<uint32_t>::max(), conv, false);
std::vector<unsigned int> meshes; std::vector<unsigned int> meshes;
// we want only one representation type, so bring them in a suitable order (i.e try those // we want only one representation type, so bring them in a suitable order (i.e try those

View File

@ -46,6 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef ASSIMP_BUILD_NO_IFC_IMPORTER #ifndef ASSIMP_BUILD_NO_IFC_IMPORTER
#include "IFCUtil.h" #include "IFCUtil.h"
#include <limits>
namespace Assimp { namespace Assimp {
namespace IFC { namespace IFC {
@ -167,12 +168,12 @@ unsigned int ProcessMaterials(uint64_t id, unsigned int prevMatId, ConversionDat
} }
// no local material defined. If there's global one, use that instead // no local material defined. If there's global one, use that instead
if( prevMatId != UINT32_MAX ) if( prevMatId != std::numeric_limits<uint32_t>::max() )
return prevMatId; return prevMatId;
// we're still here - create an default material if required, or simply fail otherwise // we're still here - create an default material if required, or simply fail otherwise
if( !forceDefaultMat ) if( !forceDefaultMat )
return UINT32_MAX; return std::numeric_limits<uint32_t>::max();
aiString name; aiString name;
name.Set("<IFCDefault>"); name.Set("<IFCDefault>");