Fixed build warnings on MSVC14 x64 in the X3D format sources.

pull/1083/head
Jared Mulconry 2016-11-27 15:54:22 +11:00
parent dc3f265803
commit cbfbf2a256
4 changed files with 43 additions and 37 deletions

View File

@ -934,7 +934,7 @@ void X3DImporter::GeometryHelper_CoordIdxStr2FacesArr(const std::list<int32_t>&
default: prim_type |= aiPrimitiveType_POLYGON; break; default: prim_type |= aiPrimitiveType_POLYGON; break;
} }
tface.mNumIndices = ts; tface.mNumIndices = static_cast<unsigned int>(ts);
tface.mIndices = new unsigned int[ts]; tface.mIndices = new unsigned int[ts];
memcpy(tface.mIndices, inds.data(), ts * sizeof(unsigned int)); memcpy(tface.mIndices, inds.data(), ts * sizeof(unsigned int));
pFaces.push_back(tface); pFaces.push_back(tface);
@ -1329,7 +1329,7 @@ aiMesh* X3DImporter::GeometryHelper_MakeMesh(const std::list<int32_t>& pCoordIdx
size_t ts = faces.size(); size_t ts = faces.size();
// faces // faces
tmesh->mFaces = new aiFace[ts]; tmesh->mFaces = new aiFace[ts];
tmesh->mNumFaces = ts; tmesh->mNumFaces = static_cast<unsigned int>(ts);
for(size_t i = 0; i < ts; i++) tmesh->mFaces[i] = faces.at(i); for(size_t i = 0; i < ts; i++) tmesh->mFaces[i] = faces.at(i);
// vertices // vertices
@ -1337,7 +1337,7 @@ aiMesh* X3DImporter::GeometryHelper_MakeMesh(const std::list<int32_t>& pCoordIdx
ts = pVertices.size(); ts = pVertices.size();
tmesh->mVertices = new aiVector3D[ts]; tmesh->mVertices = new aiVector3D[ts];
tmesh->mNumVertices = ts; tmesh->mNumVertices = static_cast<unsigned int>(ts);
for ( size_t i = 0; i < ts; i++ ) for ( size_t i = 0; i < ts; i++ )
{ {
tmesh->mVertices[ i ] = *vit++; tmesh->mVertices[ i ] = *vit++;
@ -1701,7 +1701,7 @@ void X3DImporter::InternReadFile(const std::string& pFile, aiScene* pScene, IOSy
{ {
std::list<aiMesh*>::const_iterator it = mesh_list.begin(); std::list<aiMesh*>::const_iterator it = mesh_list.begin();
pScene->mNumMeshes = mesh_list.size(); pScene->mNumMeshes = static_cast<unsigned int>(mesh_list.size());
pScene->mMeshes = new aiMesh*[pScene->mNumMeshes]; pScene->mMeshes = new aiMesh*[pScene->mNumMeshes];
for(size_t i = 0; i < pScene->mNumMeshes; i++) pScene->mMeshes[i] = *it++; for(size_t i = 0; i < pScene->mNumMeshes; i++) pScene->mMeshes[i] = *it++;
} }
@ -1710,7 +1710,7 @@ void X3DImporter::InternReadFile(const std::string& pFile, aiScene* pScene, IOSy
{ {
std::list<aiMaterial*>::const_iterator it = mat_list.begin(); std::list<aiMaterial*>::const_iterator it = mat_list.begin();
pScene->mNumMaterials = mat_list.size(); pScene->mNumMaterials = static_cast<unsigned int>(mat_list.size());
pScene->mMaterials = new aiMaterial*[pScene->mNumMaterials]; pScene->mMaterials = new aiMaterial*[pScene->mNumMaterials];
for(size_t i = 0; i < pScene->mNumMaterials; i++) pScene->mMaterials[i] = *it++; for(size_t i = 0; i < pScene->mNumMaterials; i++) pScene->mMaterials[i] = *it++;
} }
@ -1719,7 +1719,7 @@ void X3DImporter::InternReadFile(const std::string& pFile, aiScene* pScene, IOSy
{ {
std::list<aiLight*>::const_iterator it = light_list.begin(); std::list<aiLight*>::const_iterator it = light_list.begin();
pScene->mNumLights = light_list.size(); pScene->mNumLights = static_cast<unsigned int>(light_list.size());
pScene->mLights = new aiLight*[pScene->mNumLights]; pScene->mLights = new aiLight*[pScene->mNumLights];
for(size_t i = 0; i < pScene->mNumLights; i++) pScene->mLights[i] = *it++; for(size_t i = 0; i < pScene->mNumLights; i++) pScene->mLights[i] = *it++;
} }

View File

@ -347,8 +347,8 @@ void X3DImporter::ParseNode_Geometry3D_ElevationGrid()
((CX3DImporter_NodeElement_ElevationGrid*)ne)->NumIndices = 2;// will be holded as line set. ((CX3DImporter_NodeElement_ElevationGrid*)ne)->NumIndices = 2;// will be holded as line set.
for(size_t i = 0, i_e = (grid_alias.Vertices.size() - 1); i < i_e; i++) for(size_t i = 0, i_e = (grid_alias.Vertices.size() - 1); i < i_e; i++)
{ {
grid_alias.CoordIdx.push_back(i); grid_alias.CoordIdx.push_back(static_cast<int32_t>(i));
grid_alias.CoordIdx.push_back(i + 1); grid_alias.CoordIdx.push_back(static_cast<int32_t>(i + 1));
grid_alias.CoordIdx.push_back(-1); grid_alias.CoordIdx.push_back(-1);
} }
} }
@ -758,7 +758,7 @@ void X3DImporter::ParseNode_Geometry3D_Extrusion()
if(beginCap) if(beginCap)
{ {
// add cap as polygon. vertices of cap are places at begin, so just add numbers from zero. // add cap as polygon. vertices of cap are places at begin, so just add numbers from zero.
for(size_t i = 0, i_e = crossSection.size(); i < i_e; i++) ext_alias.CoordIndex.push_back(i); for(size_t i = 0, i_e = crossSection.size(); i < i_e; i++) ext_alias.CoordIndex.push_back(static_cast<int32_t>(i));
// add delimiter // add delimiter
ext_alias.CoordIndex.push_back(-1); ext_alias.CoordIndex.push_back(-1);
@ -769,7 +769,7 @@ void X3DImporter::ParseNode_Geometry3D_Extrusion()
// add cap as polygon. vertices of cap are places at end, as for beginCap use just sequence of numbers but with offset. // add cap as polygon. vertices of cap are places at end, as for beginCap use just sequence of numbers but with offset.
size_t beg = (pointset_arr.size() - 1) * crossSection.size(); size_t beg = (pointset_arr.size() - 1) * crossSection.size();
for(size_t i = beg, i_e = (beg + crossSection.size()); i < i_e; i++) ext_alias.CoordIndex.push_back(i); for(size_t i = beg, i_e = (beg + crossSection.size()); i < i_e; i++) ext_alias.CoordIndex.push_back(static_cast<int32_t>(i));
// add delimiter // add delimiter
ext_alias.CoordIndex.push_back(-1); ext_alias.CoordIndex.push_back(-1);
@ -795,14 +795,20 @@ void X3DImporter::ParseNode_Geometry3D_Extrusion()
if(cri != cr_last) if(cri != cr_last)
{ {
MACRO_FACE_ADD_QUAD(ccw, ext_alias.CoordIndex, MACRO_FACE_ADD_QUAD(ccw, ext_alias.CoordIndex,
spi * cr_sz + cri, right_col * cr_sz + cri, right_col * cr_sz + cri + 1, spi * cr_sz + cri + 1); static_cast<int32_t>(spi * cr_sz + cri),
static_cast<int32_t>(right_col * cr_sz + cri),
static_cast<int32_t>(right_col * cr_sz + cri + 1),
static_cast<int32_t>(spi * cr_sz + cri + 1));
// add delimiter // add delimiter
ext_alias.CoordIndex.push_back(-1); ext_alias.CoordIndex.push_back(-1);
} }
else if(cross_closed)// if cross curve is closed then one more quad is needed: between first and last points of curve. else if(cross_closed)// if cross curve is closed then one more quad is needed: between first and last points of curve.
{ {
MACRO_FACE_ADD_QUAD(ccw, ext_alias.CoordIndex, MACRO_FACE_ADD_QUAD(ccw, ext_alias.CoordIndex,
spi * cr_sz + cri, right_col * cr_sz + cri, right_col * cr_sz + 0, spi * cr_sz + 0); static_cast<int32_t>(spi * cr_sz + cri),
static_cast<int32_t>(right_col * cr_sz + cri),
static_cast<int32_t>(right_col * cr_sz + 0),
static_cast<int32_t>(spi * cr_sz + 0));
// add delimiter // add delimiter
ext_alias.CoordIndex.push_back(-1); ext_alias.CoordIndex.push_back(-1);
} }

View File

@ -253,7 +253,7 @@ void X3DImporter::Postprocess_BuildMesh(const CX3DImporter_NodeElement& pNodeEle
tarr.reserve(tnemesh.Vertices.size()); tarr.reserve(tnemesh.Vertices.size());
for(std::list<aiVector3D>::iterator it = tnemesh.Vertices.begin(); it != tnemesh.Vertices.end(); it++) tarr.push_back(*it); for(std::list<aiVector3D>::iterator it = tnemesh.Vertices.begin(); it != tnemesh.Vertices.end(); it++) tarr.push_back(*it);
*pMesh = StandardShapes::MakeMesh(tarr, tnemesh.NumIndices);// create mesh from vertices using Assimp help. *pMesh = StandardShapes::MakeMesh(tarr, static_cast<unsigned int>(tnemesh.NumIndices));// create mesh from vertices using Assimp help.
return;// mesh is build, nothing to do anymore. return;// mesh is build, nothing to do anymore.
} }
@ -272,7 +272,7 @@ void X3DImporter::Postprocess_BuildMesh(const CX3DImporter_NodeElement& pNodeEle
tarr.reserve(tnemesh.Vertices.size()); tarr.reserve(tnemesh.Vertices.size());
for(std::list<aiVector3D>::iterator it = tnemesh.Vertices.begin(); it != tnemesh.Vertices.end(); it++) tarr.push_back(*it); for(std::list<aiVector3D>::iterator it = tnemesh.Vertices.begin(); it != tnemesh.Vertices.end(); it++) tarr.push_back(*it);
*pMesh = StandardShapes::MakeMesh(tarr, tnemesh.NumIndices);// create mesh from vertices using Assimp help. *pMesh = StandardShapes::MakeMesh(tarr, static_cast<unsigned int>(tnemesh.NumIndices));// create mesh from vertices using Assimp help.
return;// mesh is build, nothing to do anymore. return;// mesh is build, nothing to do anymore.
} }
@ -669,7 +669,7 @@ void X3DImporter::Postprocess_BuildNode(const CX3DImporter_NodeElement& pNodeEle
{ {
std::list<aiNode*>::const_iterator it = SceneNode_Child.begin(); std::list<aiNode*>::const_iterator it = SceneNode_Child.begin();
pSceneNode.mNumChildren = SceneNode_Child.size(); pSceneNode.mNumChildren = static_cast<unsigned int>(SceneNode_Child.size());
pSceneNode.mChildren = new aiNode*[pSceneNode.mNumChildren]; pSceneNode.mChildren = new aiNode*[pSceneNode.mNumChildren];
for(size_t i = 0; i < pSceneNode.mNumChildren; i++) pSceneNode.mChildren[i] = *it++; for(size_t i = 0; i < pSceneNode.mNumChildren; i++) pSceneNode.mChildren[i] = *it++;
} }
@ -678,7 +678,7 @@ void X3DImporter::Postprocess_BuildNode(const CX3DImporter_NodeElement& pNodeEle
{ {
std::list<unsigned int>::const_iterator it = SceneNode_Mesh.begin(); std::list<unsigned int>::const_iterator it = SceneNode_Mesh.begin();
pSceneNode.mNumMeshes = SceneNode_Mesh.size(); pSceneNode.mNumMeshes = static_cast<unsigned int>(SceneNode_Mesh.size());
pSceneNode.mMeshes = new unsigned int[pSceneNode.mNumMeshes]; pSceneNode.mMeshes = new unsigned int[pSceneNode.mNumMeshes];
for(size_t i = 0; i < pSceneNode.mNumMeshes; i++) pSceneNode.mMeshes[i] = *it++; for(size_t i = 0; i < pSceneNode.mNumMeshes; i++) pSceneNode.mMeshes[i] = *it++;
} }
@ -702,7 +702,7 @@ void X3DImporter::Postprocess_BuildShape(const CX3DImporter_NodeElement_Shape& p
if(tmesh != nullptr) if(tmesh != nullptr)
{ {
// if mesh successfully built then add data about it to arrays // if mesh successfully built then add data about it to arrays
pNodeMeshInd.push_back(pSceneMeshList.size()); pNodeMeshInd.push_back(static_cast<unsigned int>(pSceneMeshList.size()));
pSceneMeshList.push_back(tmesh); pSceneMeshList.push_back(tmesh);
// keep mesh type. Need above for texture coordinate generation. // keep mesh type. Need above for texture coordinate generation.
mesh_type = (*it)->Type; mesh_type = (*it)->Type;
@ -714,7 +714,7 @@ void X3DImporter::Postprocess_BuildShape(const CX3DImporter_NodeElement_Shape& p
if(tmat != nullptr) if(tmat != nullptr)
{ {
// if material successfully built then add data about it to array // if material successfully built then add data about it to array
mat_ind = pSceneMaterialList.size(); mat_ind = static_cast<unsigned int>(pSceneMaterialList.size());
pSceneMaterialList.push_back(tmat); pSceneMaterialList.push_back(tmat);
} }
} }
@ -765,7 +765,7 @@ void X3DImporter::Postprocess_CollectMetadata(const CX3DImporter_NodeElement& pN
} }
// copy collected metadata to output node. // copy collected metadata to output node.
pSceneNode.mMetaData = aiMetadata::Alloc( meta_list.size() ); pSceneNode.mMetaData = aiMetadata::Alloc( static_cast<unsigned int>(meta_list.size()) );
meta_idx = 0; meta_idx = 0;
for(std::list<CX3DImporter_NodeElement*>::const_iterator it = meta_list.begin(); it != meta_list.end(); it++, meta_idx++) for(std::list<CX3DImporter_NodeElement*>::const_iterator it = meta_list.begin(); it != meta_list.end(); it++, meta_idx++)
{ {
@ -776,22 +776,22 @@ void X3DImporter::Postprocess_CollectMetadata(const CX3DImporter_NodeElement& pN
if((*it)->Type == CX3DImporter_NodeElement::ENET_MetaBoolean) if((*it)->Type == CX3DImporter_NodeElement::ENET_MetaBoolean)
{ {
if(((CX3DImporter_NodeElement_MetaBoolean*)cur_meta)->Value.size() > 0) if(((CX3DImporter_NodeElement_MetaBoolean*)cur_meta)->Value.size() > 0)
pSceneNode.mMetaData->Set(meta_idx, cur_meta->Name, *(((CX3DImporter_NodeElement_MetaBoolean*)cur_meta)->Value.begin())); pSceneNode.mMetaData->Set(static_cast<unsigned int>(meta_idx), cur_meta->Name, *(((CX3DImporter_NodeElement_MetaBoolean*)cur_meta)->Value.begin()));
} }
else if((*it)->Type == CX3DImporter_NodeElement::ENET_MetaDouble) else if((*it)->Type == CX3DImporter_NodeElement::ENET_MetaDouble)
{ {
if(((CX3DImporter_NodeElement_MetaDouble*)cur_meta)->Value.size() > 0) if(((CX3DImporter_NodeElement_MetaDouble*)cur_meta)->Value.size() > 0)
pSceneNode.mMetaData->Set(meta_idx, cur_meta->Name, (float)*(((CX3DImporter_NodeElement_MetaDouble*)cur_meta)->Value.begin())); pSceneNode.mMetaData->Set(static_cast<unsigned int>(meta_idx), cur_meta->Name, (float)*(((CX3DImporter_NodeElement_MetaDouble*)cur_meta)->Value.begin()));
} }
else if((*it)->Type == CX3DImporter_NodeElement::ENET_MetaFloat) else if((*it)->Type == CX3DImporter_NodeElement::ENET_MetaFloat)
{ {
if(((CX3DImporter_NodeElement_MetaFloat*)cur_meta)->Value.size() > 0) if(((CX3DImporter_NodeElement_MetaFloat*)cur_meta)->Value.size() > 0)
pSceneNode.mMetaData->Set(meta_idx, cur_meta->Name, *(((CX3DImporter_NodeElement_MetaFloat*)cur_meta)->Value.begin())); pSceneNode.mMetaData->Set(static_cast<unsigned int>(meta_idx), cur_meta->Name, *(((CX3DImporter_NodeElement_MetaFloat*)cur_meta)->Value.begin()));
} }
else if((*it)->Type == CX3DImporter_NodeElement::ENET_MetaInteger) else if((*it)->Type == CX3DImporter_NodeElement::ENET_MetaInteger)
{ {
if(((CX3DImporter_NodeElement_MetaInteger*)cur_meta)->Value.size() > 0) if(((CX3DImporter_NodeElement_MetaInteger*)cur_meta)->Value.size() > 0)
pSceneNode.mMetaData->Set(meta_idx, cur_meta->Name, *(((CX3DImporter_NodeElement_MetaInteger*)cur_meta)->Value.begin())); pSceneNode.mMetaData->Set(static_cast<unsigned int>(meta_idx), cur_meta->Name, *(((CX3DImporter_NodeElement_MetaInteger*)cur_meta)->Value.begin()));
} }
else if((*it)->Type == CX3DImporter_NodeElement::ENET_MetaString) else if((*it)->Type == CX3DImporter_NodeElement::ENET_MetaString)
{ {
@ -799,7 +799,7 @@ void X3DImporter::Postprocess_CollectMetadata(const CX3DImporter_NodeElement& pN
{ {
aiString tstr(((CX3DImporter_NodeElement_MetaString*)cur_meta)->Value.begin()->data()); aiString tstr(((CX3DImporter_NodeElement_MetaString*)cur_meta)->Value.begin()->data());
pSceneNode.mMetaData->Set(meta_idx, cur_meta->Name, tstr); pSceneNode.mMetaData->Set(static_cast<unsigned int>(meta_idx), cur_meta->Name, tstr);
} }
} }
else else

View File

@ -524,7 +524,7 @@ void X3DImporter::ParseNode_Rendering_LineSet()
{ {
if(*vc_it < 2) throw DeadlyImportError("LineSet. vertexCount shall be greater than or equal to two."); if(*vc_it < 2) throw DeadlyImportError("LineSet. vertexCount shall be greater than or equal to two.");
for(int32_t i = 0; i < *vc_it; i++) ne_alias.CoordIndex.push_back(coord_num++);// add vertices indices for(int32_t i = 0; i < *vc_it; i++) ne_alias.CoordIndex.push_back(static_cast<int32_t>(coord_num++));// add vertices indices
ne_alias.CoordIndex.push_back(-1);// add face delimiter. ne_alias.CoordIndex.push_back(-1);// add face delimiter.
} }
@ -678,17 +678,17 @@ void X3DImporter::ParseNode_Rendering_TriangleFanSet()
{ {
// 2 1 // 2 1
// 0 // 0
ne_alias.CoordIndex.push_back(coord_num_first);// first vertex is a center and always is [0]. ne_alias.CoordIndex.push_back(static_cast<int32_t>(coord_num_first));// first vertex is a center and always is [0].
ne_alias.CoordIndex.push_back(coord_num_prev++); ne_alias.CoordIndex.push_back(static_cast<int32_t>(coord_num_prev++));
ne_alias.CoordIndex.push_back(coord_num_prev); ne_alias.CoordIndex.push_back(static_cast<int32_t>(coord_num_prev));
} }
else else
{ {
// 1 2 // 1 2
// 0 // 0
ne_alias.CoordIndex.push_back(coord_num_first);// first vertex is a center and always is [0]. ne_alias.CoordIndex.push_back(static_cast<int32_t>(coord_num_first));// first vertex is a center and always is [0].
ne_alias.CoordIndex.push_back(coord_num_prev + 1); ne_alias.CoordIndex.push_back(static_cast<int32_t>(coord_num_prev + 1));
ne_alias.CoordIndex.push_back(coord_num_prev++); ne_alias.CoordIndex.push_back(static_cast<int32_t>(coord_num_prev++));
}// if(ccw) else }// if(ccw) else
ne_alias.CoordIndex.push_back(-1);// add face delimiter. ne_alias.CoordIndex.push_back(-1);// add face delimiter.
@ -875,17 +875,17 @@ void X3DImporter::ParseNode_Rendering_TriangleStripSet()
{ {
// 0 2 // 0 2
// 1 // 1
ne_alias.CoordIndex.push_back(coord_num0); ne_alias.CoordIndex.push_back(static_cast<int32_t>(coord_num0));
ne_alias.CoordIndex.push_back(coord_num1); ne_alias.CoordIndex.push_back(static_cast<int32_t>(coord_num1));
ne_alias.CoordIndex.push_back(coord_num2); ne_alias.CoordIndex.push_back(static_cast<int32_t>(coord_num2));
} }
else else
{ {
// 0 1 // 0 1
// 2 // 2
ne_alias.CoordIndex.push_back(coord_num0); ne_alias.CoordIndex.push_back(static_cast<int32_t>(coord_num0));
ne_alias.CoordIndex.push_back(coord_num2); ne_alias.CoordIndex.push_back(static_cast<int32_t>(coord_num2));
ne_alias.CoordIndex.push_back(coord_num1); ne_alias.CoordIndex.push_back(static_cast<int32_t>(coord_num1));
}// if(ccw) else }// if(ccw) else
ne_alias.CoordIndex.push_back(-1);// add face delimiter. ne_alias.CoordIndex.push_back(-1);// add face delimiter.