0024023: Revamp the OCCT Handle -- ambiguity
authorabv <abv@opencascade.com>
Thu, 2 Jul 2015 14:06:37 +0000 (17:06 +0300)
committerabv <abv@opencascade.com>
Sat, 11 Jul 2015 09:08:07 +0000 (12:08 +0300)
commit543a99649677666ef0c890c27e98910265e24508
tree0ce9771208a31ebee623d9e3c6f24fffcb3773e0
parenta1eb3afd0da312821366950ba1d5b4e676dce0cc
0024023: Revamp the OCCT Handle -- ambiguity

Code corrected to avoid ambiguous situations due to changed implementation of Handle (overloaded methods accepting handles of different types).
In Adaptor3d_CurveOnSurface added method Load() with two parameters, allowing to avoid ambiguity of cast of handles when calling separate methods Load() for curve and surface, replacing by single call.
In DrawTrSurf and IGESData_IGESWriter, template variants of methods Set() and Send(), respectively, are added to avoid ambiguity when these methods are called with handles to derived types (using SFINAE).
In NCollection_DefineHSequence, method Append() accepting handle to another HSequence is made template, to be available only if argument has compatible type.
69 files changed:
src/AIS/AIS_IdenticRelation.cxx
src/AIS/AIS_InteractiveContext.cxx
src/AIS/AIS_LocalContext.cxx
src/AIS/AIS_LocalContext_1.cxx
src/AIS/AIS_MidPointRelation.cxx
src/AIS/AIS_PlaneTrihedron.cxx
src/AIS/AIS_Trihedron.cxx
src/Adaptor3d/Adaptor3d_CurveOnSurface.cdl
src/Adaptor3d/Adaptor3d_CurveOnSurface.cxx
src/BOPTest/BOPTest_BOPCommands.cxx
src/BOPTools/BOPTools_AlgoTools2D_1.cxx
src/BOPTools/BOPTools_AlgoTools_1.cxx
src/BRepAdaptor/BRepAdaptor_Curve.cxx
src/BRepCheck/BRepCheck_Edge.cxx
src/BRepFeat/BRepFeat_RibSlot.cxx
src/BRepFill/BRepFill_Filling.cxx
src/BRepFill/BRepFill_NSections.cxx
src/BRepFill/BRepFill_Sweep.cxx
src/BRepIntCurveSurface/BRepIntCurveSurface_Inter.cxx
src/BRepLib/BRepLib.cxx
src/BRepOffsetAPI/BRepOffsetAPI_ThruSections.cxx
src/BRepTest/BRepTest_BasicCommands.cxx
src/BRepTest/BRepTest_FilletCommands.cxx
src/BRepTest/BRepTest_FillingCommands.cxx
src/BRepTopAdaptor/BRepTopAdaptor_Tool.cxx
src/Bisector/Bisector_Bisec.cxx
src/ChFi3d/ChFi3d_Builder.cdl
src/ChFi3d/ChFi3d_Builder_0.cxx
src/ChFi3d/ChFi3d_Builder_0.hxx
src/ChFi3d/ChFi3d_Builder_2.cxx
src/ChFi3d/ChFi3d_FilBuilder.cxx
src/DrawTrSurf/DrawTrSurf.cdl
src/ExprIntrp/ExprIntrp_yaccintrf.cxx
src/Font/Font_BRepFont.cxx
src/Font/Font_BRepFont.hxx
src/GeomLib/GeomLib.cxx
src/GeomToIGES/GeomToIGES_GeomCurve.cxx
src/GeomToStep/GeomToStep_MakeCurve.cxx
src/GeometryTest/GeometryTest_API2dCommands.cxx
src/GeometryTest/GeometryTest_APICommands.cxx
src/GeometryTest/GeometryTest_ConstraintCommands.cxx
src/GeomliteTest/GeomliteTest_API2dCommands.cxx
src/HLRTopoBRep/HLRTopoBRep_FaceIsoLiner.cxx
src/IGESData/IGESData_BasicEditor.cxx
src/IGESData/IGESData_IGESWriter.cdl
src/IGESToBRep/IGESToBRep_Reader.cxx
src/IntTools/IntTools_Context.cxx
src/NCollection/NCollection_DefineHSequence.hxx
src/QABugs/QABugs_10.cxx
src/QABugs/QABugs_11.cxx
src/QABugs/QABugs_13.cxx
src/QABugs/QABugs_16.cxx
src/QABugs/QABugs_17.cxx
src/SWDRAW/SWDRAW_ShapeTool.cxx
src/ShapeAnalysis/ShapeAnalysis_Edge.cxx
src/ShapeBuild/ShapeBuild_Edge.cxx
src/ShapeConstruct/ShapeConstruct.cxx
src/ShapeCustom/ShapeCustom_BSplineRestriction.cxx
src/ShapeUpgrade/ShapeUpgrade_ConvertCurve2dToBezier.cxx
src/ShapeUpgrade/ShapeUpgrade_ConvertCurve3dToBezier.cxx
src/ShapeUpgrade/ShapeUpgrade_FixSmallBezierCurves.cxx
src/ShapeUpgrade/ShapeUpgrade_WireDivide.cxx
src/StepData/StepData_StepModel.cxx
src/StepData/StepData_StepReaderData.cxx
src/TDF/TDF_Data.cxx
src/TestTopOpe/TestTopOpe_CORCommands.cxx
src/TopOpeBRep/TopOpeBRep_FacesIntersector.cxx
src/TopOpeBRepBuild/TopOpeBRepBuild_Tools_1.cxx
src/XSControl/XSControl_Functions.cxx