From 04056cdd3254f6aa3ee567eeaf72e32f4691ffa7 Mon Sep 17 00:00:00 2001 From: eap Date: Wed, 25 Jan 2017 14:30:21 +0300 Subject: [PATCH] Fix some compilation warnings --- src/ARCHIMEDE/Archimede_VolumeSection.cxx | 4 +- src/GEOMClient/GEOM_Client.cxx | 4 +- src/GEOMUtils/GEOMUtils.cxx | 8 +-- src/GEOMUtils/GEOMUtils_ShapeStatistics.cxx | 50 ++++++------- src/GEOMUtils/GEOMUtils_XmlHandler.cxx | 2 + src/GEOM_SWIG/geomBuilder.py | 8 +-- src/OBJECT/GEOM_AISShape.cxx | 10 ++- src/SKETCHER/Sketcher_Profile.cxx | 2 +- src/ShHealOper/ShHealOper_FillHoles.cxx | 80 ++++++++++----------- src/XAO/XAO_Field.cxx | 17 +++-- src/XAO/XAO_Group.cxx | 2 +- 11 files changed, 96 insertions(+), 91 deletions(-) diff --git a/src/ARCHIMEDE/Archimede_VolumeSection.cxx b/src/ARCHIMEDE/Archimede_VolumeSection.cxx index 729a836b8..3364ac322 100644 --- a/src/ARCHIMEDE/Archimede_VolumeSection.cxx +++ b/src/ARCHIMEDE/Archimede_VolumeSection.cxx @@ -124,7 +124,7 @@ void VolumeSection::CenterOfGravity() Standard_Real VolumeSection::CalculateVolume(Standard_Real Elevation) { Standard_Integer i,noeud[3],flag[3]; - Standard_Integer nbNodes; + //Standard_Integer nbNodes; TopExp_Explorer ex; TopLoc_Location L; Standard_Real z[3]; @@ -144,7 +144,7 @@ Standard_Real VolumeSection::CalculateVolume(Standard_Real Elevation) MESSAGE("Error, null layer" ) const Poly_Array1OfTriangle& triangles = Tr->Triangles(); Standard_Integer nbTriangles = Tr->NbTriangles(); - nbNodes = Tr->NbNodes(); + //nbNodes = Tr->NbNodes(); const TColgp_Array1OfPnt& Nodes = Tr->Nodes(); // Calcul des volumes de chaque triangle, de chaque face diff --git a/src/GEOMClient/GEOM_Client.cxx b/src/GEOMClient/GEOM_Client.cxx index ba8711e41..bfe844b14 100644 --- a/src/GEOMClient/GEOM_Client.cxx +++ b/src/GEOMClient/GEOM_Client.cxx @@ -258,8 +258,8 @@ TopoDS_Shape GEOM_Client::GetShape( GEOM::GEOM_Gen_ptr geom, GEOM::GEOM_Object_p BRep_Builder B; TopoDS_Compound aCompound; B.MakeCompound(aCompound); - for (int i = 0; i < list->length(); i++) { - if (0 < list[i] && list[i] <= _mySubShapes[mainIOR].size()) { + for (size_t i = 0; i < list->length(); i++) { + if (0 < list[i] && list[i] <= (CORBA::Long)_mySubShapes[mainIOR].size()) { TopoDS_Shape aSubShape = _mySubShapes[mainIOR][list[i]-1]; B.Add(aCompound, aSubShape); } diff --git a/src/GEOMUtils/GEOMUtils.cxx b/src/GEOMUtils/GEOMUtils.cxx index ab91abb4c..3c4fc7f62 100644 --- a/src/GEOMUtils/GEOMUtils.cxx +++ b/src/GEOMUtils/GEOMUtils.cxx @@ -262,7 +262,7 @@ namespace levelsListStr.push_back( substr ); } GEOMUtils::LevelsList levelsListData; - for( int level = 0; level < levelsListStr.size(); level++ ) { + for( size_t level = 0; level < levelsListStr.size(); level++ ) { std::vector namesListStr; std::stringstream ss1( levelsListStr[level] ); while ( std::getline( ss1, substr, ',' ) ) { @@ -270,7 +270,7 @@ namespace namesListStr.push_back( substr ); } GEOMUtils::LevelInfo levelInfoData; - for( int node = 0; node < namesListStr.size(); node++ ) { + for( size_t node = 0; node < namesListStr.size(); node++ ) { std::vector linksListStr; std::stringstream ss2( namesListStr[node] ); while ( std::getline( ss2, substr, '_' ) ) { @@ -280,7 +280,7 @@ namespace std::string nodeItem = linksListStr[0]; if( !nodeItem.empty() ) { GEOMUtils::NodeLinks linksListData; - for( int link = 1; link < linksListStr.size(); link++ ) { + for( size_t link = 1; link < linksListStr.size(); link++ ) { std::string linkItem = linksListStr[link]; linksListData.push_back( linkItem ); }// Links @@ -1083,7 +1083,7 @@ void GEOMUtils::ConvertStringToTree( const std::string& dependencyStr, cursor = objectIndex; std::size_t upwardIndexBegin = dependencyStr.find("{",cursor) + 1; - std::size_t upwardIndexFinish = dependencyStr.find("}",upwardIndexBegin); + //std::size_t upwardIndexFinish = dependencyStr.find("}",upwardIndexBegin); LevelsList upwardList = parseWard( dependencyStr, cursor ); LevelsList downwardList = parseWard( dependencyStr, cursor ); diff --git a/src/GEOMUtils/GEOMUtils_ShapeStatistics.cxx b/src/GEOMUtils/GEOMUtils_ShapeStatistics.cxx index 7d9f430e7..797d9da76 100644 --- a/src/GEOMUtils/GEOMUtils_ShapeStatistics.cxx +++ b/src/GEOMUtils/GEOMUtils_ShapeStatistics.cxx @@ -35,8 +35,8 @@ namespace GEOMUtils // purpose : gets measures of the given type for list of shapes in the range //================================================================================= std::map ComputeMeasures( std::list shapes, - TopAbs_ShapeEnum entity, - Range &range) + TopAbs_ShapeEnum entity, + Range &range) { bool hasRange = (range.min != -1.0); // -1.0 means that range must not be used if ( !hasRange ) @@ -60,23 +60,23 @@ namespace GEOMUtils //Get the measure: length, area or volume GProp_GProps LProps, SProps, VProps; if ( entity == TopAbs_EDGE ) { - BRepGProp::LinearProperties( aSubShape, LProps ); - aMeasure = LProps.Mass(); + BRepGProp::LinearProperties( aSubShape, LProps ); + aMeasure = LProps.Mass(); } else if ( entity == TopAbs_FACE ) { - BRepGProp::SurfaceProperties( aSubShape, SProps ); - aMeasure = SProps.Mass(); + BRepGProp::SurfaceProperties( aSubShape, SProps ); + aMeasure = SProps.Mass(); } else if ( entity == TopAbs_SOLID ) { - BRepGProp::VolumeProperties( aSubShape, VProps ); - aMeasure = VProps.Mass(); + BRepGProp::VolumeProperties( aSubShape, VProps ); + aMeasure = VProps.Mass(); } // Don't pass sub-shapes with out of range measure, if range is used if ( hasRange ) { - if ( aMeasure < range.min || aMeasure > range.max ) - continue; + if ( aMeasure < range.min || aMeasure > range.max ) + continue; } else { - // get range min and max - if ( aMeasure < range.min ) range.min = aMeasure; - if ( aMeasure > range.max ) range.max = aMeasure; + // get range min and max + if ( aMeasure < range.min ) range.min = aMeasure; + if ( aMeasure > range.max ) range.max = aMeasure; } // get global index of sub-shape index = aSubShapesMap.FindIndex( aSubShape ); @@ -93,9 +93,9 @@ namespace GEOMUtils // purpose : gets distribution data for single shape //================================================================================= Distribution ComputeDistribution( TopoDS_Shape shape, - TopAbs_ShapeEnum entity, - int intervals, - Range range) + TopAbs_ShapeEnum entity, + int intervals, + Range range) { std::list aShapes; aShapes.push_back( shape ); @@ -107,9 +107,9 @@ Distribution ComputeDistribution( TopoDS_Shape shape, // purpose : gets distribution data for list of shapes //================================================================================= Distribution ComputeDistribution( std::list shapes, - TopAbs_ShapeEnum entity, - int nbIntervals, - Range range) + TopAbs_ShapeEnum entity, + int nbIntervals, + Range range) { // get list of measures and compute range (if it was not specified) std::map measures = ComputeMeasures( shapes, entity, range ); @@ -129,15 +129,15 @@ Distribution ComputeDistribution( std::list shapes, std::vector indicesToErase; for ( dit = measures.begin(); dit != measures.end(); dit++ ) { if ( ( dit->second >= localRange.min && dit->second < localRange.max ) || - ( i == nbIntervals-1 && dit->second == localRange.max ) ) { - localRange.count++; - localRange.indices.push_back( dit->first ); - // measure is in interval, so remove it from map of search - indicesToErase.push_back( dit->first ); + ( i == nbIntervals-1 && dit->second == localRange.max ) ) { + localRange.count++; + localRange.indices.push_back( dit->first ); + // measure is in interval, so remove it from map of search + indicesToErase.push_back( dit->first ); } } aDistr.push_back( localRange ); - for( int j=0; j < indicesToErase.size(); j++ ) + for( size_t j=0; j < indicesToErase.size(); j++ ) measures.erase( indicesToErase[j] ); } diff --git a/src/GEOMUtils/GEOMUtils_XmlHandler.cxx b/src/GEOMUtils/GEOMUtils_XmlHandler.cxx index 5671eed63..dee3492cb 100644 --- a/src/GEOMUtils/GEOMUtils_XmlHandler.cxx +++ b/src/GEOMUtils/GEOMUtils_XmlHandler.cxx @@ -137,6 +137,7 @@ namespace return xmlPaths; } +#ifdef MYDEBUG void dumpinfo(const GEOMUtils::PluginInfo& info) { printf("DUMPING PLUGIN INFO\n"); @@ -160,6 +161,7 @@ namespace printf("-----\n"); } } +#endif } namespace GEOMUtils diff --git a/src/GEOM_SWIG/geomBuilder.py b/src/GEOM_SWIG/geomBuilder.py index 197429e4e..5de7403b3 100644 --- a/src/GEOM_SWIG/geomBuilder.py +++ b/src/GEOM_SWIG/geomBuilder.py @@ -3919,8 +3919,8 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # publication is switched on, default value is used for result name. # # @return New GEOM.GEOM_Object, containing the created pipe if - # \a IsGenerateGroups is not set. Otherwise it returns new - # GEOM.ListOfGO. Its first element is the created pipe, the + # \a IsGenerateGroups is not set. Otherwise it returns a + # list of GEOM.GEOM_Object. Its first element is the created pipe, the # remaining ones are created groups. # # @ref tui_creation_pipe "Example" @@ -3959,8 +3959,8 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): Returns: New GEOM.GEOM_Object, containing the created pipe if - IsGenerateGroups is not set. Otherwise it returns new - GEOM.ListOfGO. Its first element is the created pipe, the + IsGenerateGroups is not set. Otherwise it returns a + list of GEOM.GEOM_Object. Its first element is the created pipe, the remaining ones are created groups. """ # Example: see GEOM_TestAll.py diff --git a/src/OBJECT/GEOM_AISShape.cxx b/src/OBJECT/GEOM_AISShape.cxx index df0464e44..71212889b 100644 --- a/src/OBJECT/GEOM_AISShape.cxx +++ b/src/OBJECT/GEOM_AISShape.cxx @@ -707,10 +707,14 @@ Standard_Boolean GEOM_AISShape::computeMassCenter( const TopoDS_Shape& theShape, C += ( uv1.XY() + uv2.XY() + uv3.XY() ) / 3. * a; A += a; } - C /= A; - theCenter = surface.Value( C.X(), C.Y() ); + if ( A > std::numeric_limits::min() ) + { + C /= A; + theCenter = surface.Value( C.X(), C.Y() ); + aNbPoints = 1; + } } - else + if ( aNbPoints == 0 ) { theCenter = surface.Value( 0.5 * ( surface.FirstUParameter() + surface.LastUParameter() ), 0.5 * ( surface.FirstVParameter() + surface.LastVParameter() )); diff --git a/src/SKETCHER/Sketcher_Profile.cxx b/src/SKETCHER/Sketcher_Profile.cxx index 516f34abe..fdb7d5bb8 100644 --- a/src/SKETCHER/Sketcher_Profile.cxx +++ b/src/SKETCHER/Sketcher_Profile.cxx @@ -369,7 +369,7 @@ private: \brief Constructor \internal */ -Sketcher_Profile::Functor::Functor() : myError( 0 ), myNumberOfCommand( 0 ), myOk( true ) +Sketcher_Profile::Functor::Functor() : myNumberOfCommand( 0 ), myError( 0 ), myOk( true ) { } diff --git a/src/ShHealOper/ShHealOper_FillHoles.cxx b/src/ShHealOper/ShHealOper_FillHoles.cxx index d9adfbfab..799aa8f6e 100644 --- a/src/ShHealOper/ShHealOper_FillHoles.cxx +++ b/src/ShHealOper/ShHealOper_FillHoles.cxx @@ -279,47 +279,47 @@ Handle(Geom_Surface) ShHealOper_FillHoles::buildSurface(const TopoDS_Wire& theWi { Handle(Geom_BSplineSurface) aSurf; try { - GeomPlate_BuildPlateSurface aBuilder(myDegree, myNbPtsOnCur, myNbIter, - myTol2d, myTol3d, myTolAng, myTolCrv); - TopoDS_Iterator aIter; - for(aIter.Initialize (theWire); aIter.More(); aIter.Next()) { - - TopoDS_Edge ae = TopoDS::Edge(aIter.Value()); - BRepAdaptor_Curve adC(ae); - Handle(BRepAdaptor_HCurve) aHAD= new BRepAdaptor_HCurve(adC); - Handle(BRepFill_CurveConstraint) aConst = - new BRepFill_CurveConstraint (Handle(Adaptor3d_HCurve)::DownCast(aHAD), (Standard_Integer) GeomAbs_C0, myNbPtsOnCur, myTol3d); - //Handle(GeomPlate_CurveConstraint) aConst = - // new GeomPlate_CurveConstraint(aHAD, (Standard_Integer) GeomAbs_C0, myNbPtsOnCur, myTol3d); - aBuilder.Add (Handle(GeomPlate_CurveConstraint)::DownCast(aConst)); - } - aBuilder.Perform(); - if(!aBuilder.IsDone()) - return aSurf; - Handle(GeomPlate_Surface) aPlSurf = aBuilder.Surface(); - - //for filling holes without initial specified surface - //the initial surface should be build by GeomPlate itself - //following code was taken from BRepFill_Filling::Build - - Standard_Real aDist = aBuilder.G0Error(); - TColgp_SequenceOfXY S2d; - TColgp_SequenceOfXYZ S3d; - S2d.Clear(); - S3d.Clear(); - aBuilder.Disc2dContour(4,S2d); - aBuilder.Disc3dContour(4,0,S3d); - Standard_Real amaxTol = Max( myTol3d, 10* aDist); - GeomPlate_PlateG0Criterion Criterion( S2d, S3d, amaxTol ); - GeomPlate_MakeApprox Approx( aPlSurf, Criterion, myTol3d, myMaxSeg, myMaxDeg ); - aSurf = Approx.Surface(); - if(aSurf.IsNull()) - return aSurf; - - theCurves2d = aBuilder.Curves2d(); - theOrders = aBuilder.Order(); - theSenses = aBuilder.Sense(); + GeomPlate_BuildPlateSurface aBuilder(myDegree, myNbPtsOnCur, myNbIter, + myTol2d, myTol3d, myTolAng, myTolCrv); + TopoDS_Iterator aIter; + for(aIter.Initialize (theWire); aIter.More(); aIter.Next()) { + + TopoDS_Edge ae = TopoDS::Edge(aIter.Value()); + BRepAdaptor_Curve adC(ae); + Handle(BRepAdaptor_HCurve) aHAD= new BRepAdaptor_HCurve(adC); + // Handle(BRepFill_CurveConstraint) aConst = + // new BRepFill_CurveConstraint (Handle(Adaptor3d_HCurve)::DownCast(aHAD), (Standard_Integer) GeomAbs_C0, myNbPtsOnCur, myTol3d); + Handle(GeomPlate_CurveConstraint) aConst = + new GeomPlate_CurveConstraint(aHAD, (Standard_Integer) GeomAbs_C0, myNbPtsOnCur, myTol3d); + aBuilder.Add (aConst); } + aBuilder.Perform(); + if(!aBuilder.IsDone()) + return aSurf; + Handle(GeomPlate_Surface) aPlSurf = aBuilder.Surface(); + + //for filling holes without initial specified surface + //the initial surface should be build by GeomPlate itself + //following code was taken from BRepFill_Filling::Build + + Standard_Real aDist = aBuilder.G0Error(); + TColgp_SequenceOfXY S2d; + TColgp_SequenceOfXYZ S3d; + S2d.Clear(); + S3d.Clear(); + aBuilder.Disc2dContour(4,S2d); + aBuilder.Disc3dContour(4,0,S3d); + Standard_Real amaxTol = Max( myTol3d, 10* aDist); + GeomPlate_PlateG0Criterion Criterion( S2d, S3d, amaxTol ); + GeomPlate_MakeApprox Approx( aPlSurf, Criterion, myTol3d, myMaxSeg, myMaxDeg ); + aSurf = Approx.Surface(); + if(aSurf.IsNull()) + return aSurf; + + theCurves2d = aBuilder.Curves2d(); + theOrders = aBuilder.Order(); + theSenses = aBuilder.Sense(); + } catch (Standard_Failure) { aSurf.Nullify(); diff --git a/src/XAO/XAO_Field.cxx b/src/XAO/XAO_Field.cxx index 3fa7c8c19..0ef35b169 100644 --- a/src/XAO/XAO_Field.cxx +++ b/src/XAO/XAO_Field.cxx @@ -34,18 +34,17 @@ using namespace XAO; // ------------------------------------------------------- Field::Field(const XAO::Dimension& dimension, - const int& nbElements, const int& nbComponents, const std::string& name) - : m_name(name), m_dimension(dimension), m_nbElements(nbElements), m_nbComponents(nbComponents) + const int& nbElements, const int& nbComponents, const std::string& name) + : m_name(name), m_dimension(dimension), + m_nbComponents(nbComponents), m_components(nbComponents, ""), + m_nbElements(nbElements) { - m_components.reserve(nbComponents); - for (int i = 0; i < nbComponents; ++i) - m_components.push_back(""); } Field::~Field() { - for (unsigned int i = 0; i < m_steps.size(); ++i) - delete m_steps[i]; + for (unsigned int i = 0; i < m_steps.size(); ++i) + delete m_steps[i]; } Field* Field::createField(const XAO::Type& type, const XAO::Dimension& dimension, @@ -83,7 +82,7 @@ throw (XAO_Exception) { for (unsigned int i = 0; i < names.size(); ++i) { - if (i < m_nbComponents) + if ((int)i < m_nbComponents) m_components[i] = names[i]; } } @@ -130,7 +129,7 @@ throw (XAO_Exception) void Field::checkStepIndex(const int& step) throw (XAO_Exception) { - if (step < m_steps.size() && step >= 0) + if (step < (int)m_steps.size() && step >= 0) return; throw XAO_Exception(MsgBuilder() << "Step index is out of range [0, " diff --git a/src/XAO/XAO_Group.cxx b/src/XAO/XAO_Group.cxx index c2799c559..3ca39684c 100644 --- a/src/XAO/XAO_Group.cxx +++ b/src/XAO/XAO_Group.cxx @@ -43,7 +43,7 @@ Group::~Group() void Group::checkIndex(const int& element) throw (XAO_Exception) { - if (element < m_elements.size() && element >= 0) + if (element < (int)m_elements.size() && element >= 0) return; throw XAO_Exception(MsgBuilder() << "Index of element is out of range [0, " -- 2.39.2