0028579: Get rid of the obsolete QANewModTopOpe_* and QANewBRepNaming_* algorithms
authoremv <emv@opencascade.com>
Fri, 31 Mar 2017 12:38:08 +0000 (15:38 +0300)
committerbugmaster <bugmaster@opencascade.com>
Wed, 12 Apr 2017 14:52:33 +0000 (17:52 +0300)
1. The packages *QANewModTopOpe*, *QANewBRepNaming* and *QANewDBRepNaming* have been removed as containing obsolete features.
   The corresponding QA commands (such as OCC252, OCC307 and OCC294) and test cases have also been removed.

2. The QA command buc60609 has been removed. The corresponding test case bugs/moddata_1/buc60609 has been rewritten using b2dclassify command.

94 files changed:
dox/dev_guides/upgrade/upgrade.md
src/QABugs/QABugs_11.cxx
src/QABugs/QABugs_16.cxx
src/QABugs/QABugs_3.cxx
src/QADraw/QADraw_Additional.cxx
src/QANewBRepNaming/FILES [deleted file]
src/QANewBRepNaming/QANewBRepNaming.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_BooleanOperation.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_BooleanOperation.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Box.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Box.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Chamfer.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Chamfer.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Common.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Common.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Cut.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Cut.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Cylinder.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Cylinder.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Fillet.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Fillet.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Fuse.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Fuse.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Gluing.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Gluing.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_ImportShape.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_ImportShape.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Intersection.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Intersection.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Limitation.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Limitation.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Loader.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Loader.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_LoaderParent.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_LoaderParent.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Prism.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Prism.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Revol.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Revol.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Sphere.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_Sphere.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_TopNaming.cxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_TopNaming.hxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_TopNaming.lxx [deleted file]
src/QANewBRepNaming/QANewBRepNaming_TypeOfPrimitive3D.hxx [deleted file]
src/QANewDBRepNaming/FILES [deleted file]
src/QANewDBRepNaming/QANewDBRepNaming.cxx [deleted file]
src/QANewDBRepNaming/QANewDBRepNaming.hxx [deleted file]
src/QANewDBRepNaming/QANewDBRepNaming_FeatureCommands.cxx [deleted file]
src/QANewDBRepNaming/QANewDBRepNaming_PrimitiveCommands.cxx [deleted file]
src/QANewModTopOpe/FILES [deleted file]
src/QANewModTopOpe/QANewModTopOpe.cxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe.hxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_CommonPtr.hxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_CutPtr.hxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_Glue.cxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_Glue.hxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_Glue_SDFaces.cxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_Glue_shell.cxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_Glue_util.cxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_Glue_vertex.cxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_Glue_wire.cxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_Intersection.cxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_Intersection.hxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_Limitation.cxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_Limitation.hxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_ModeOfLimitation.hxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_ReShaper.cxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_ReShaper.hxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_Tools.cxx [deleted file]
src/QANewModTopOpe/QANewModTopOpe_Tools.hxx [deleted file]
src/TKQADraw/PACKAGES
tests/bugs/caf/bug282 [deleted file]
tests/bugs/caf/bug350 [deleted file]
tests/bugs/caf/bug351 [deleted file]
tests/bugs/caf/bug352 [deleted file]
tests/bugs/caf/bug355 [deleted file]
tests/bugs/modalg_2/bug307_1 [deleted file]
tests/bugs/modalg_2/bug307_2 [deleted file]
tests/bugs/modalg_4/bug6272_1 [deleted file]
tests/bugs/modalg_4/bug6272_2 [deleted file]
tests/bugs/modalg_4/bug6272_3 [deleted file]
tests/bugs/modalg_4/bug6272_4 [deleted file]
tests/bugs/moddata_1/buc60609
tests/bugs/moddata_2/bug252_1 [deleted file]
tests/bugs/moddata_2/bug252_2 [deleted file]
tests/bugs/moddata_2/bug252_3 [deleted file]
tests/bugs/step/buc60906 [deleted file]
tests/bugs/vis/bug294 [deleted file]
tests/caf/nam/A6 [deleted file]
tests/caf/nam/A7 [deleted file]
tests/caf/nam/A8 [deleted file]
tests/caf/nam/A9 [deleted file]

index 4603e32..4df263c 100644 (file)
@@ -1125,10 +1125,10 @@ The following obsolete features have been removed:
 * *AIS_InteractiveObject::SelectionPriority()*.
   These property was not implemented.
 * The class *LocOpe_HBuilder* has been removed as obsolete.
-* The class *QANewBRepNaming_BooleanOperationFeat* has been removed. The class *QANewBRepNaming_BooleanOperation* should be used instead.
 * The package *TestTopOpe* has been removed;
 * The package *TestTopOpeDraw* has been removed;
 * The package *TestTopOpeTools* has been removed.
+* The packages *QANewModTopOpe*, *QANewBRepNaming* and *QANewDBRepNaming* have been removed as containing obsolete features.
 
 @subsection upgrade_occt720_correction_of_Offset_API Corrections in BRepOffset API
 
index 0b3be5e..4cbb084 100644 (file)
@@ -2030,9 +2030,6 @@ TopoDS_Shape OCC1077_boolbl(BRepAlgoAPI_BooleanOperation& aBoolenaOperation,cons
 
   TopoDS_Shape ShapeCut = aBoolenaOperation.Shape();
 
-//#ifdef OCC40 
-//  Handle(TopOpeBRepBuild_HBuilder) build = aBoolenaOperation.Builder();
-//#endif 
   TopTools_ListIteratorOfListOfShape its;
 
   TopoDS_Compound result;
@@ -2047,11 +2044,7 @@ TopoDS_Shape OCC1077_boolbl(BRepAlgoAPI_BooleanOperation& aBoolenaOperation,cons
       BRepFilletAPI_MakeFillet fill(cutsol);
       fill.SetParams(ta, t3d, t2d, t3d, t2d, fl);
       fill.SetContinuity(blend_cont, tapp_angle);
-//#ifdef OCC40
-//      its = build->Section();
-//#else //OCC40DEV
       its = aBoolenaOperation.SectionEdges();
-//#endif
       while (its.More())
        {
          TopoDS_Edge E = TopoDS::Edge(its.Value());
index 569f295..c96f711 100644 (file)
 #include <OSD_Path.hxx>
 #include <Standard_ProgramError.hxx>
 
-//#include <QAModTopOpe_Limitation.hxx>
-#include <QANewModTopOpe_Limitation.hxx>
-
-//#include <QAModTopOpe_Glue.hxx>
-#include <QANewModTopOpe_Glue.hxx>
-
 #include <ShapeFix_Wireframe.hxx>
 #include <ShapeBuild_ReShape.hxx>
 
 #include <BRepBuilderAPI_MakeEdge.hxx>
 
-//#include <QAModTopOpe_ReShaper.hxx>
-#include <QANewModTopOpe_ReShaper.hxx>
-
 #include <ViewerTest_EventManager.hxx>
 
 #include <TColgp_Array1OfPnt2d.hxx>
@@ -512,76 +503,6 @@ static Standard_Integer OCC405 (Draw_Interpretor& di, Standard_Integer argc, con
   else return 1;
 }
 
-static Standard_Integer OCC252 (Draw_Interpretor& di, Standard_Integer argc, const char ** argv)
-{
-  if(!(argc == 4 || argc == 5)) {
-    di << "Usage : " << argv[0] << " result part tool [ModeOfLimitation=0/1/2]\n";
-    return 1;
-  }
-  
-  TopoDS_Shape s1 = DBRep::Get(argv[2]);
-  TopoDS_Shape s2 = DBRep::Get(argv[3]);
-  if (s1.IsNull() || s2.IsNull()) return 1;
-
-  //QAModTopOpe_ModeOfLimitation ModeOfLimitation = QAModTopOpe_Forward;
-  QANewModTopOpe_ModeOfLimitation ModeOfLimitation = QANewModTopOpe_Forward;
-  if(argc==5) {
-    Standard_Integer ModeOfLimitationInteger = Draw::Atoi(argv[4]);
-    if(!(ModeOfLimitationInteger == 0 || ModeOfLimitationInteger == 1 || ModeOfLimitationInteger == 2)) {
-      di << "Usage : " << argv[0] << " result part tool [ModeOfLimitation=0/1/2]\n";
-      return 1;
-    }
-    //if (ModeOfLimitationInteger == 1) ModeOfLimitation = QAModTopOpe_Reversed;
-    //if (ModeOfLimitationInteger == 2) ModeOfLimitation = QAModTopOpe_BothParts;
-    if (ModeOfLimitationInteger == 1) ModeOfLimitation = QANewModTopOpe_Reversed;
-    if (ModeOfLimitationInteger == 2) ModeOfLimitation = QANewModTopOpe_BothParts;
-  }
-
-  //TopoDS_Shape res = QAModTopOpe_Limitation(s1,s2,ModeOfLimitation);
-  TopoDS_Shape res = QANewModTopOpe_Limitation(s1,s2,ModeOfLimitation);
-  if (res.IsNull()) {
-    di << "Error : result is null\n";
-    return 1;
-  }
-
-  DBRep::Set(argv[1],res);
-
-  return 0;
-}
-
-static Standard_Integer OCC307 (Draw_Interpretor& di, Standard_Integer argc, const char ** argv)
-{
-  if(!(argc == 4 || argc == 5)) {
-    di << "Usage : " << argv[0] << " result part tool [AllowCutting=0/1]\n";
-    return 1;
-  }
-  
-  TopoDS_Shape s1 = DBRep::Get(argv[2]);
-  TopoDS_Shape s2 = DBRep::Get(argv[3]);
-  if (s1.IsNull() || s2.IsNull()) return 1;
-
-  Standard_Boolean AllowCutting = Standard_False;
-  if(argc==5) {
-    Standard_Integer AllowCuttingInteger = Draw::Atoi(argv[4]);
-    if(!( AllowCuttingInteger == 0 || AllowCuttingInteger == 1)) {
-      di << "Usage : " << argv[0] << " result part tool [AllowCutting=0/1]\n";
-      return 1;
-    }
-    if (AllowCuttingInteger == 1) AllowCutting = Standard_True;
-  }
-
-  //TopoDS_Shape res = QAModTopOpe_Glue(s1,s2,AllowCutting);
-  TopoDS_Shape res = QANewModTopOpe_Glue(s1,s2,AllowCutting);
-  if (res.IsNull()) {
-    di << "Error : result is null\n";
-    return 1;
-  }
-
-  DBRep::Set(argv[1],res);
-
-  return 0;
-}
-
 static Standard_Integer OCC395 (Draw_Interpretor& di, Standard_Integer argc, const char ** argv)
 {
   if(argc != 4) {
@@ -713,30 +634,6 @@ static Standard_Integer OCC301 (Draw_Interpretor& di, Standard_Integer argc, con
   return 0;
 }
 
-static Standard_Integer OCC294 (Draw_Interpretor& di, Standard_Integer argc, const char ** argv)
-{
-  if(argc < 4) {
-    di << "Usage : " << argv[0] << " shape_result shape edge\n";
-    return 1;
-  }
-  TopoDS_Shape Sh1 = DBRep::Get(argv[2]);
-  TopoDS_Shape Sh2 = DBRep::Get(argv[3]);
-  if(Sh1.IsNull() || Sh2.IsNull()) return 1;
-  if(Sh2.ShapeType() != TopAbs_EDGE) return 1;
-
-  //QAModTopOpe_ReShaper ReShaper(Sh1);
-  QANewModTopOpe_ReShaper ReShaper(Sh1);
-  ReShaper.Remove(Sh2);
-  const TopoDS_Shape& ResultShape = ReShaper.GetResult();
-  if(ResultShape.IsNull()) {
-    di << "Faulty " << argv[0] << " : " << argv[1] << " - shape_result is null\n";
-    return 1;
-  }
-
-  DBRep::Set ( argv[1], ResultShape);
-  return 0;
-}
-
 static Standard_Integer OCC60 (Draw_Interpretor& di, Standard_Integer argc, const char ** argv)
 {
   Handle(AIS_InteractiveContext) aContext = ViewerTest::GetAISContext();
@@ -858,12 +755,9 @@ void QABugs::Commands_16(Draw_Interpretor& theCommands) {
   theCommands.Add ("OCC49", "OCC49 name", __FILE__, OCC49, group);
   theCommands.Add ("OCC132", "OCC132 DependentName", __FILE__, OCC132, group);
   theCommands.Add ("OCC405", "OCC405 edge_result edge1 edge2; merge two edges", __FILE__, OCC405, group);
-  theCommands.Add ("OCC252", "OCC252 result part tool [ModeOfLimitation=0/1/2]", __FILE__, OCC252, group);
-  theCommands.Add ("OCC307", "OCC307 result part tool [AllowCutting=0/1]", __FILE__, OCC307, group);
   theCommands.Add ("OCC395", "OCC395 edge_result edge1 edge2", __FILE__, OCC395, group);
   theCommands.Add ("OCC394", "OCC394 edge_result edge [tol [mode [tolang]]]", __FILE__, OCC394, group);
   theCommands.Add ("OCC301", "OCC301 ArcRadius ArrowSize", __FILE__, OCC301, group);
-  theCommands.Add ("OCC294", "OCC294 shape_result shape edge", __FILE__, OCC294, group);
   theCommands.Add ("OCC60", "OCC60 xmin ymin xmax ymax; selection window", __FILE__, OCC60, group);
   theCommands.Add ("OCC70", "OCC70 x1 y1 x2 y2 x3 y3 [x y ...]; polygon of selection", __FILE__, OCC70, group);
   theCommands.Add ("OCC261", "OCC261 Doc", __FILE__, OCC261, group);
index cb94d9f..cb044cd 100644 (file)
@@ -126,112 +126,6 @@ static int BUC60614(Draw_Interpretor& di, Standard_Integer argc, const char ** a
   return 0;
 }
 
-#include<BRep_Builder.hxx>
-#include<BRepTools_ShapeSet.hxx>
-#include<BRepTools.hxx>
-#include<BRepAdaptor_HSurface.hxx>
-#include<TopOpeBRep_PointClassifier.hxx>
-#include<Precision.hxx>
-#ifdef _MSC_VER
-#include<stdio.h>
-#endif
-
-static int BUC60609(Draw_Interpretor& di, Standard_Integer argc, const char ** argv) {
-  gp_Pnt2d uvSurf;
-  TopAbs_State state;
-  
-  if (argc == 3) {
-    // BUC60609 shape name
-  } else if ( argc == 5 ) {
-    // BUC60609 shape name U V
-  } else {
-    di << "Usage : "<< argv[0] << " shape name [U V]\n";
-    return(-1);
-  }
-  
-  TCollection_AsciiString  aFilePath(argv[1]); 
-  
-  filebuf fic;
-  istream in(&fic);
-  if (!fic.open(aFilePath.ToCString(),ios::in)) {
-    di << "Cannot open file for reading : " << aFilePath << "\n";
-    return(-1);
-  }
-
-  TopoDS_Shape theShape;
-  char typ[255];
-  in >> typ;
-  if (!in.fail()) {
-    if( !strcmp(typ, "DBRep_DrawableShape") ){
-      BRep_Builder B;
-      BRepTools_ShapeSet S(B);
-      S.Read(in);
-      S.Read(theShape,in);
-    }else{
-      di << "Wrong entity type in " << aFilePath << "\n";
-      return(-1);
-    }
-  }
-
-  const TopoDS_Face &face = TopoDS::Face (theShape);
-
-  if(argc > 2){
-    DBRep::Set(argv[2],face);
-  }
-
-  Standard_Real faceUMin,faceUMax,faceVMin,faceVMax;
-  
-  BRepTools::UVBounds (face, faceUMin,faceUMax,faceVMin,faceVMax);
-
-  di << "The bounds of the trimmed face:\n";
-  di << faceUMin << " <= U <= " << faceUMax << "\n";
-  di << faceVMin << " <= V <= " << faceVMax << "\n";
-  
-  Handle(BRepAdaptor_HSurface) hsurfa = new BRepAdaptor_HSurface(face);
-  
-  TopOpeBRep_PointClassifier PClass;
-
-  di << "Now test the point classifier by inputting U,V values\n";
-  di << "inside or outside the bounds displayed above\n";
-  di << "Type stop to exit\n";
-  
-  // Please register this:
-  // ***********************************************
-  // Note also that for periodic surfaces such as nimpod_1.topo,
-  // the U/V values may be +- 2pi compared to the actual face bounds
-  // (because U,V is probably coming from a Geom package routine).
-  // Hence IT WOULD BE USEFUL IF TopOpeBRep_PointClassifier COULD
-  // COPE WITH PERIODIC SURFACES, i.e. U,V +-Period giving same result.
-  // *************************************************
-
-  if (argc == 3) {
-    uvSurf = gp_Pnt2d(0.14,5.1);
-    state = PClass.Classify(face,uvSurf,Precision::PConfusion());
-    if(state == TopAbs_IN || state == TopAbs_ON){
-      di << "U=" << 0.14 << " V=" << 5.1 << "  classified INSIDE\n";
-    }else{
-      di << "U=" << 0.14 << " V=" << 5.1 << "  classified OUTSIDE\n";
-    }
-
-    uvSurf = gp_Pnt2d(1.28,5.1);
-    state = PClass.Classify(face,uvSurf,Precision::PConfusion());
-    if(state == TopAbs_IN || state == TopAbs_ON){
-      di << "U=" << 1.28 << " V=" << 5.1 << "  classified INSIDE\n";
-    }else{
-      di << "U=" << 1.28 << " V=" << 5.1 << "  classified OUTSIDE\n";
-    }
-  } else {
-    uvSurf = gp_Pnt2d(Draw::Atof(argv[3]),Draw::Atof(argv[4]));
-    state = PClass.Classify(face,uvSurf,Precision::PConfusion());
-    if(state == TopAbs_IN || state == TopAbs_ON){
-      di << "U=" << Draw::Atof(argv[3]) << " V=" << Draw::Atof(argv[4]) << "  classified INSIDE\n";
-    }else{
-      di << "U=" << Draw::Atof(argv[3]) << " V=" << Draw::Atof(argv[4]) << "  classified OUTSIDE\n";
-    }
-  }
-  return 0;
-}
-
 #include<BRepBuilderAPI_MakeVertex.hxx>
 #include<TCollection_ExtendedString.hxx>
 #include<AIS_LengthDimension.hxx>
@@ -274,6 +168,7 @@ static Standard_Integer BUC60632(Draw_Interpretor& di, Standard_Integer /*n*/, c
 }
 
 #include<TopoDS_Wire.hxx>
+#include <BRepTools.hxx>
 
 static Standard_Integer BUC60652(Draw_Interpretor& di, Standard_Integer argc, const char ** argv )
 {
@@ -434,7 +329,8 @@ return 0;
 #include <Bnd_BoundSortBox.hxx>
 #include <BRepBndLib.hxx>
 #include <Bnd_HArray1OfBox.hxx>
-  
+#include <TopExp_Explorer.hxx>
+
 static Standard_Integer BUC60729 (Draw_Interpretor& /*di*/,Standard_Integer /*argc*/, const char ** /*argv*/ )
 {
   Bnd_Box aMainBox;
@@ -1552,7 +1448,6 @@ void QABugs::Commands_3(Draw_Interpretor& theCommands) {
   theCommands.Add("BUC60623","BUC60623 result Shape1 Shape2",__FILE__,BUC60623,group);
   theCommands.Add("BUC60569","BUC60569 shape",__FILE__,BUC60569,group);
   theCommands.Add("BUC60614","BUC60614 shape",__FILE__,BUC60614,group);
-  theCommands.Add("BUC60609","BUC60609 shape name [U V]",__FILE__,BUC60609,group);
   theCommands.Add("BUC60632","BUC60632 mode length",__FILE__,BUC60632,group);
   theCommands.Add("BUC60652","BUC60652 face",__FILE__,BUC60652,group);
   theCommands.Add("BUC60574","BUC60574 ",__FILE__,BUC60574,group);
index 6b2c3b4..7990d64 100644 (file)
 #include <QABugs.hxx>
 #include <QADraw.hxx>
 #include <QADNaming.hxx>
-//#if defined(WOKC40)
-//#include <QADBRepNaming.hxx>
-//#else
-#include <QANewDBRepNaming.hxx>
-//#endif
 #include <QANCollection.hxx>
 
 void QADraw::AdditionalCommands(Draw_Interpretor& theCommands)
@@ -28,11 +23,6 @@ void QADraw::AdditionalCommands(Draw_Interpretor& theCommands)
   QABugs::Commands(theCommands);
 
   QADNaming::AllCommands(theCommands);
-//#if defined(WOKC40)
-//  QADBRepNaming::AllCommands(theCommands);
-//#else
-  QANewDBRepNaming::AllCommands(theCommands);
-//#endif
   QANCollection::Commands(theCommands);
 
   return;
diff --git a/src/QANewBRepNaming/FILES b/src/QANewBRepNaming/FILES
deleted file mode 100644 (file)
index ecbf894..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-QANewBRepNaming.cxx
-QANewBRepNaming.hxx
-QANewBRepNaming_BooleanOperation.cxx
-QANewBRepNaming_BooleanOperation.hxx
-QANewBRepNaming_Box.cxx
-QANewBRepNaming_Box.hxx
-QANewBRepNaming_Chamfer.cxx
-QANewBRepNaming_Chamfer.hxx
-QANewBRepNaming_Common.cxx
-QANewBRepNaming_Common.hxx
-QANewBRepNaming_Cut.cxx
-QANewBRepNaming_Cut.hxx
-QANewBRepNaming_Cylinder.cxx
-QANewBRepNaming_Cylinder.hxx
-QANewBRepNaming_Fillet.cxx
-QANewBRepNaming_Fillet.hxx
-QANewBRepNaming_Fuse.cxx
-QANewBRepNaming_Fuse.hxx
-QANewBRepNaming_Gluing.cxx
-QANewBRepNaming_Gluing.hxx
-QANewBRepNaming_ImportShape.cxx
-QANewBRepNaming_ImportShape.hxx
-QANewBRepNaming_Intersection.cxx
-QANewBRepNaming_Intersection.hxx
-QANewBRepNaming_Limitation.cxx
-QANewBRepNaming_Limitation.hxx
-QANewBRepNaming_Loader.cxx
-QANewBRepNaming_Loader.hxx
-QANewBRepNaming_LoaderParent.cxx
-QANewBRepNaming_LoaderParent.hxx
-QANewBRepNaming_Prism.cxx
-QANewBRepNaming_Prism.hxx
-QANewBRepNaming_Revol.cxx
-QANewBRepNaming_Revol.hxx
-QANewBRepNaming_Sphere.cxx
-QANewBRepNaming_Sphere.hxx
-QANewBRepNaming_TopNaming.cxx
-QANewBRepNaming_TopNaming.hxx
-QANewBRepNaming_TopNaming.lxx
-QANewBRepNaming_TypeOfPrimitive3D.hxx
diff --git a/src/QANewBRepNaming/QANewBRepNaming.cxx b/src/QANewBRepNaming/QANewBRepNaming.cxx
deleted file mode 100644 (file)
index 429fc45..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-// Created on: 2003-06-20
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 2003-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <QANewBRepNaming.hxx>
-#include <TDF_ChildIterator.hxx>
-#include <TDF_Label.hxx>
-#include <TNaming.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_Iterator.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TopLoc_Location.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
-#include <TopTools_ListOfShape.hxx>
-
-//=======================================================================
-//function : CleanStructure
-//purpose  : 
-//=======================================================================
-void QANewBRepNaming::CleanStructure(const TDF_Label& theLabel) {
-  
-  TopTools_ListOfShape Olds;
-  TopTools_ListOfShape News;
-  TNaming_Evolution    anEvol;
-  TNaming_Iterator     anIt(theLabel);
-  if (anIt.More()) {
-    anEvol = anIt.Evolution();
-    for ( ; anIt.More(); anIt.Next()) {
-      Olds.Append(anIt.OldShape());
-      News.Append(anIt.NewShape());
-    }
-
-    TopTools_ListIteratorOfListOfShape itOlds(Olds);
-    TopTools_ListIteratorOfListOfShape itNews(News);
-    TNaming_Builder aBuilder(theLabel);
-    anEvol = TNaming_DELETE;
-
-    for ( ;itOlds.More() ; itOlds.Next(),itNews.Next()) {
-      const TopoDS_Shape& OS = itOlds.Value();
-      const TopoDS_Shape& NS = itNews.Value();
-      LoadNamedShape ( aBuilder, anEvol, OS, NS);
-    }
-  }
-  for (TDF_ChildIterator chlIt(theLabel, Standard_True); chlIt.More(); chlIt.Next()) {
-    CleanStructure (chlIt.Value());
-  }
-}
-
-//=======================================================================
-//function : LoadNamedShape
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming::LoadNamedShape (TNaming_Builder& theBuilder,
-                                       const TNaming_Evolution theEvol,
-                                       const TopoDS_Shape& theOS,
-                                       const TopoDS_Shape& theNS)
-{
-  switch (theEvol) {
-  case TNaming_PRIMITIVE :
-    {
-      theBuilder.Generated(theNS);
-      break;
-    }
-  case TNaming_GENERATED :
-    {
-      theBuilder.Generated(theOS, theNS);
-      break;
-    }
-  case TNaming_MODIFY :
-    {
-      theBuilder.Modify(theOS, theNS);
-      break;
-    }
-    case TNaming_REPLACE :
-    {
-      theBuilder.Modify(theOS, theNS);
-      break;
-    } // for compatibility
-//  case TNaming_REPLACE :
-//    {
-//      theBuilder.Replace(theOS, theNS);
-//      break;
-//    }
-  case TNaming_DELETE :
-    {
-      theBuilder.Delete (theOS);
-      break;
-    }
-  case TNaming_SELECTED :
-    {
-      theBuilder.Select(theNS, theOS);
-    }
-  default:
-    break;
-  }
-}
-
-//=======================================================================
-//function : Displace
-//purpose  : if WithOld == True, dsplace with old subshapes
-//=======================================================================
-
-void QANewBRepNaming::Displace (const TDF_Label& theLabel,
-                        const TopLoc_Location& theLoc,
-                        const Standard_Boolean theWithOld)
-{
-  TopTools_ListOfShape Olds;
-  TopTools_ListOfShape News;
-  TNaming_Evolution    Evol;
-  TNaming_Iterator     it(theLabel);
-
-  if (it.More()) {
-    Evol = it.Evolution();
-    for ( ; it.More(); it.Next()) {
-      Olds.Append(it.OldShape());
-      News.Append(it.NewShape());
-    }
-
-    TopTools_ListIteratorOfListOfShape itOlds(Olds);
-    TopTools_ListIteratorOfListOfShape itNews(News);
-    TNaming_Builder B(theLabel);
-
-    for ( ;itOlds.More() ; itOlds.Next(),itNews.Next()) {
-      TopoDS_Shape OS,NS;
-      const TopoDS_Shape& SO     = itOlds.Value();
-      const TopoDS_Shape& SN     = itNews.Value();
-      OS = SO;
-      if (theWithOld && !SO.IsNull()) OS = SO.Moved(theLoc);
-      if (!SN.IsNull()) NS = SN.Moved(theLoc);
-
-      LoadNamedShape ( B, Evol, OS, NS);
-    }
-  }
-  for (TDF_ChildIterator ciL(theLabel); ciL.More(); ciL.Next()) {
-    Displace (ciL.Value(),theLoc,theWithOld);
-  }
-}
diff --git a/src/QANewBRepNaming/QANewBRepNaming.hxx b/src/QANewBRepNaming/QANewBRepNaming.hxx
deleted file mode 100644 (file)
index ce705dd..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-// Created on: 1999-09-24
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_HeaderFile
-#define _QANewBRepNaming_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <TNaming_Evolution.hxx>
-#include <Standard_Boolean.hxx>
-class TDF_Label;
-class TNaming_Builder;
-class TopoDS_Shape;
-class TopLoc_Location;
-class QANewBRepNaming_LoaderParent;
-class QANewBRepNaming_Loader;
-class QANewBRepNaming_TopNaming;
-class QANewBRepNaming_Box;
-class QANewBRepNaming_Prism;
-class QANewBRepNaming_Revol;
-class QANewBRepNaming_Cylinder;
-class QANewBRepNaming_Sphere;
-class QANewBRepNaming_BooleanOperation;
-class QANewBRepNaming_Common;
-class QANewBRepNaming_Cut;
-class QANewBRepNaming_Fuse;
-class QANewBRepNaming_Fillet;
-class QANewBRepNaming_Chamfer;
-class QANewBRepNaming_ImportShape;
-class QANewBRepNaming_Gluing;
-class QANewBRepNaming_Intersection;
-class QANewBRepNaming_Limitation;
-
-
-//! Implements  methods   to   load  the  Make   Shape
-//! operations in  the  naming data-structure (package
-//! TNaming),  which    provides  topological   naming
-//! facilities.  Shape  generation, modifications  and
-//! deletions   are  recorded in   the  data-framework
-//! (package  TDF)   using the builder  from   package
-//! TNaming.
-class QANewBRepNaming 
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT static void CleanStructure (const TDF_Label& theLabel);
-  
-  Standard_EXPORT static void LoadNamedShape (TNaming_Builder& theBuilder, const TNaming_Evolution theEvol, const TopoDS_Shape& theOS, const TopoDS_Shape& theNS);
-  
-  Standard_EXPORT static void Displace (const TDF_Label& theLabel, const TopLoc_Location& theLoc, const Standard_Boolean theWithOld);
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-friend class QANewBRepNaming_LoaderParent;
-friend class QANewBRepNaming_Loader;
-friend class QANewBRepNaming_TopNaming;
-friend class QANewBRepNaming_Box;
-friend class QANewBRepNaming_Prism;
-friend class QANewBRepNaming_Revol;
-friend class QANewBRepNaming_Cylinder;
-friend class QANewBRepNaming_Sphere;
-friend class QANewBRepNaming_BooleanOperation;
-friend class QANewBRepNaming_Common;
-friend class QANewBRepNaming_Cut;
-friend class QANewBRepNaming_Fuse;
-friend class QANewBRepNaming_Fillet;
-friend class QANewBRepNaming_Chamfer;
-friend class QANewBRepNaming_ImportShape;
-friend class QANewBRepNaming_Gluing;
-friend class QANewBRepNaming_Intersection;
-friend class QANewBRepNaming_Limitation;
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_BooleanOperation.cxx b/src/QANewBRepNaming/QANewBRepNaming_BooleanOperation.cxx
deleted file mode 100644 (file)
index 69b0873..0000000
+++ /dev/null
@@ -1,1617 +0,0 @@
-// Created on: 1999-09-27
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <Adaptor3d_HCurve.hxx>
-#include <BRep_Tool.hxx>
-#include <BRepAdaptor_Surface.hxx>
-#include <BRepAlgoAPI_BooleanOperation.hxx>
-#include <BRepGProp.hxx>
-#include <Geom_Ellipse.hxx>
-#include <GeomAbs_SurfaceType.hxx>
-#include <gp.hxx>
-#include <gp_Cone.hxx>
-#include <gp_Cylinder.hxx>
-#include <GProp_GProps.hxx>
-#include <Precision.hxx>
-#include <QANewBRepNaming_BooleanOperation.hxx>
-#include <QANewBRepNaming_Loader.hxx>
-#include <Standard_NullObject.hxx>
-#include <TColgp_Array1OfDir.hxx>
-#include <TColgp_Array1OfPnt.hxx>
-#include <TColStd_Array1OfInteger.hxx>
-#include <TDataStd_Integer.hxx>
-#include <TDataStd_IntegerArray.hxx>
-#include <TDataStd_Name.hxx>
-#include <TDataStd_Real.hxx>
-#include <TDF_Label.hxx>
-#include <TDF_TagSource.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TopExp.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS.hxx>
-#include <TopoDS_Edge.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopoDS_Vertex.hxx>
-#include <TopTools_Array1OfShape.hxx>
-#include <TopTools_IndexedMapOfShape.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
-#include <TopTools_MapOfShape.hxx>
-
-#ifdef OCCT_DEBUG
-#include <TDataStd_Name.hxx>
-#endif
-
-#ifdef OCCT_DEBUG
-#include <TCollection_AsciiString.hxx>
-#include <TDF_Tool.hxx>
-#include <BRepTools.hxx>
-#include <TNaming_Tool.hxx>
-static void ModDbgTools_Write(const TopoDS_Shape& shape,
-                     const Standard_CString filename) 
-{
-  ofstream save;
-  save.open(filename);
-  save << "DBRep_DrawableShape" << endl << endl;
-  if(!shape.IsNull()) BRepTools::Write(shape, save);
-  save.close();
-}
-
-#endif
-
-//=======================================================================
-//function : QANewBRepNaming_BooleanOperation
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_BooleanOperation::QANewBRepNaming_BooleanOperation() {}
-
-//=======================================================================
-//function : QANewBRepNaming_BooleanOperation
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_BooleanOperation::QANewBRepNaming_BooleanOperation(const TDF_Label& ResultLabel):QANewBRepNaming_TopNaming(ResultLabel) {}
-
-//=======================================================================
-//function : Init
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_BooleanOperation::Init(const TDF_Label& ResultLabel) {  
-  if(ResultLabel.IsNull()) 
-    throw Standard_NullObject("QANewBRepNaming_BooleanOperation::Init The Result label is Null ...");
-  myResultLabel = ResultLabel; 
-}
-
-//=======================================================================
-//function : ModifiedFaces
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_BooleanOperation::ModifiedFaces() const {
-#ifdef OCCT_DEBUG
-  const TDF_Label& ModifiedFacesLabel = ResultLabel().NewChild();
-  TDataStd_Name::Set(ModifiedFacesLabel, "ModifiedFaces");
-  return ModifiedFacesLabel;
-#else
-  return ResultLabel().NewChild();
-#endif
-}
-
-//=======================================================================
-//function : ModifiedEdges
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_BooleanOperation::ModifiedEdges() const {
-#ifdef OCCT_DEBUG
-  const TDF_Label& ModifiedEdgesLabel = ResultLabel().NewChild();
-  TDataStd_Name::Set(ModifiedEdgesLabel, "ModifiedEdges");
-  return ModifiedEdgesLabel;
-#else
-  return ResultLabel().NewChild();
-#endif
-}
-
-//=======================================================================
-//function : DeletedFaces
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_BooleanOperation::DeletedFaces() const {
-#ifdef OCCT_DEBUG
-  const TDF_Label& DeletedFacesLabel = ResultLabel().NewChild();
-  TDataStd_Name::Set(DeletedFacesLabel, "DeletedFaces");
-  return DeletedFacesLabel;
-#else
-  return ResultLabel().NewChild();
-#endif
-}
-
-//=======================================================================
-//function : DeletedEdges
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_BooleanOperation::DeletedEdges() const {
-#ifdef OCCT_DEBUG
-  const TDF_Label& DeletedEdgesLabel = ResultLabel().NewChild();
-  TDataStd_Name::Set(DeletedEdgesLabel, "DeletedEdges");
-  return DeletedEdgesLabel;
-#else
-  return ResultLabel().NewChild();
-#endif
-}
-
-//=======================================================================
-//function : DeletedVertices
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_BooleanOperation::DeletedVertices() const {
-#ifdef OCCT_DEBUG
-  const TDF_Label& DeletedVerticesLabel = ResultLabel().NewChild();
-  TDataStd_Name::Set(DeletedVerticesLabel, "DeletedVertices");
-  return DeletedVerticesLabel;
-#else
-  return ResultLabel().NewChild();
-#endif
-}
-
-//=======================================================================
-//function : NewShapes
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_BooleanOperation::NewShapes() const {
-#ifdef OCCT_DEBUG
-  const TDF_Label& NewShapesLabel = ResultLabel().NewChild();
-  TDataStd_Name::Set(NewShapesLabel, "NewShapes");
-  return NewShapesLabel;
-#else
-  return ResultLabel().NewChild();
-#endif
-}
-
-//=======================================================================
-//function : Content
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_BooleanOperation::Content() const {
-#ifdef OCCT_DEBUG
-  const TDF_Label& ContentLabel = ResultLabel().NewChild();
-  TDataStd_Name::Set(ContentLabel, "Content");
-  return ContentLabel;
-#else
-  return ResultLabel().NewChild();
-#endif
-}
-
-//=======================================================================
-//function : DeletedDegeneratedEdges
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_BooleanOperation::DeletedDegeneratedEdges() const {
-#ifdef OCCT_DEBUG
-  const TDF_Label& DegeneratedLabel = ResultLabel().NewChild();
-  TDataStd_Name::Set(DegeneratedLabel, "DeletedDegeneratedEdges");
-  return DegeneratedLabel;
-#else
-  return ResultLabel().NewChild();
-#endif
-}
-
-//=======================================================================
-//function : ShapeType
-//purpose  : 
-//=======================================================================
-
-TopAbs_ShapeEnum QANewBRepNaming_BooleanOperation::ShapeType(const TopoDS_Shape& theShape) {
-  TopAbs_ShapeEnum TypeSh = theShape.ShapeType();
-  if (TypeSh == TopAbs_COMPOUND || TypeSh == TopAbs_COMPSOLID) {
-    TopoDS_Iterator itr(theShape);
-    if (!itr.More()) return TypeSh; 
-    TypeSh = ShapeType(itr.Value());
-    if(TypeSh == TopAbs_COMPOUND) return TypeSh;
-    itr.Next();
-    for(; itr.More(); itr.Next()) 
-      if(ShapeType(itr.Value()) != TypeSh) return TopAbs_COMPOUND;      
-  }
-  return TypeSh;
-} 
-
-//=======================================================================
-//function : GetShape
-//purpose  : 
-//=======================================================================
-
-TopoDS_Shape QANewBRepNaming_BooleanOperation::GetShape(const TopoDS_Shape& theShape) const {
-  if (theShape.ShapeType() == TopAbs_COMPOUND || theShape.ShapeType() == TopAbs_COMPSOLID) {
-    TopoDS_Iterator itr(theShape);
-    if (itr.More()) return itr.Value();
-  }
-  return theShape;
-}
-
-//=======================================================================
-//function : LoadWire
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_BooleanOperation::LoadWire(BRepAlgoAPI_BooleanOperation& MS) const {
-  // Naming of modified edges:
-  TNaming_Builder ModBuilder(ModifiedEdges());
-  QANewBRepNaming_Loader::LoadModifiedShapes (MS, MS.Shape1(), TopAbs_EDGE, ModBuilder);
-
-  // load generated vertexes
-  if(MS.HasGenerated()) {  
-    TNaming_Builder nBuilder (NewShapes());
-    QANewBRepNaming_Loader::LoadGeneratedShapes (MS, MS.Shape1(), TopAbs_EDGE, nBuilder);
-    QANewBRepNaming_Loader::LoadGeneratedShapes (MS, MS.Shape2(), TopAbs_FACE, nBuilder);
-  }
-  // Naming of deleted edges, dangle vertices
-  if(MS.HasDeleted()){ 
-    TNaming_Builder DelEBuilder(DeletedEdges());
-    QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape1(), TopAbs_EDGE, DelEBuilder);
-    TNaming_Builder DelVBuilder(DeletedVertices());
-    QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape1(), TopAbs_VERTEX, DelEBuilder);
-  }
- }
-
-//=======================================================================
-//function : LoadShell
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_BooleanOperation::LoadShell(BRepAlgoAPI_BooleanOperation& MS) const {
-// Naming of modified faces and dangle edges
-  TNaming_Builder ModFBuilder(ModifiedFaces());
-  QANewBRepNaming_Loader::LoadModifiedShapes(MS, MS.Shape1(), TopAbs_FACE, ModFBuilder);
-  TNaming_Builder ModEBuilder(ModifiedEdges());    
-  QANewBRepNaming_Loader::LoadModifiedShapes(MS, MS.Shape1(), TopAbs_EDGE, ModEBuilder);
-  
-  if(MS.HasGenerated()) {  
-    TNaming_Builder nBuilder (NewShapes());
-//  generated Edges
-    QANewBRepNaming_Loader::LoadGeneratedShapes (MS, MS.Shape2(), TopAbs_FACE, nBuilder);
-    QANewBRepNaming_Loader::LoadGeneratedShapes (MS, MS.Shape1(), TopAbs_FACE, nBuilder);
-  }
-  // Naming of deleted faces edges:
-  if(MS.HasDeleted()){ 
-    TNaming_Builder DelFBuilder(DeletedFaces());
-    QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape1(), TopAbs_FACE, DelFBuilder);
-
-    TNaming_Builder DelEBuilder(DeletedEdges());
-    QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape1(), TopAbs_EDGE, DelEBuilder);
-  }
-}
-
-//=======================================================================
-//function : LoadContent
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_BooleanOperation::LoadContent(BRepAlgoAPI_BooleanOperation& MS) const {
-  if (MS.Shape().ShapeType() == TopAbs_COMPSOLID || MS.Shape().ShapeType() == TopAbs_COMPOUND) {
-    TopoDS_Iterator itr(MS.Shape());
-    Standard_Integer nbShapes = 0;
-    while (itr.More()) {
-      nbShapes++;
-      itr.Next();
-    }
-    if (nbShapes > 1) {
-      for (itr.Initialize(MS.Shape()); itr.More(); itr.Next()) {
-       TNaming_Builder bContent(Content());
-       bContent.Generated(itr.Value());      
-      }
-    }
-  } 
-}  
-
-//=======================================================================
-//function : LoadResult
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_BooleanOperation::LoadResult(BRepAlgoAPI_BooleanOperation& MS) const {
-  Handle(TDF_TagSource) Tagger = TDF_TagSource::Set(ResultLabel());
-  if (Tagger.IsNull()) return;
-  Tagger->Set(0);
-  TNaming_Builder Builder (ResultLabel());
-  TopoDS_Shape aResult = MS.Shape();
-  if (aResult.ShapeType() == TopAbs_COMPOUND) {
-    Standard_Integer nbSubResults = 0;
-    TopoDS_Iterator itr(aResult);
-    for (; itr.More(); itr.Next()) nbSubResults++;
-    if (nbSubResults == 1) {
-      itr.Initialize(aResult);
-      if (itr.More()) aResult = itr.Value();
-    }
-  }
-  if (MS.Shape1().IsNull()) Builder.Generated(aResult);
-  else Builder.Modify(MS.Shape1(), aResult);  
-}
-
-//=======================================================================
-//function : LoadDegenerated
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_BooleanOperation::LoadDegenerated(BRepAlgoAPI_BooleanOperation& MS) const {
-  TopTools_IndexedMapOfShape allEdges;
-  TopExp::MapShapes(MS.Shape1(), TopAbs_EDGE, allEdges);
-  Standard_Integer i = 1;
-  for (; i <= allEdges.Extent(); i++) {
-    if (BRep_Tool::Degenerated(TopoDS::Edge(allEdges.FindKey(i)))) {
-      if (MS.IsDeleted(allEdges.FindKey(i))) {
-       TNaming_Builder DegeneratedBuilder(DeletedDegeneratedEdges()); 
-       DegeneratedBuilder.Generated(allEdges.FindKey(i));
-#ifdef OCCT_DEBUG
-       TDataStd_Name::Set(DegeneratedBuilder.NamedShape()->Label(), "DeletedDegenerated");
-#endif
-      }      
-    }
-  }
-}
-
-//=======================================================================
-//function : IsResultChanged
-//purpose  : 
-//=======================================================================
-
-Standard_Boolean QANewBRepNaming_BooleanOperation::IsResultChanged(BRepAlgoAPI_BooleanOperation& MS) const {
-  TopoDS_Shape ResSh = MS.Shape();
-  if (MS.Shape().ShapeType() == TopAbs_COMPOUND) {
-    Standard_Integer nbSubResults = 0;
-    TopoDS_Iterator itr(MS.Shape());
-    for (; itr.More(); itr.Next()) nbSubResults++;
-    if (nbSubResults == 1) {
-      itr.Initialize(MS.Shape());
-      if (itr.More()) ResSh = itr.Value();
-    }
-  }
-  return MS.Shape1().IsSame(ResSh);
-}
-//=======================================================================
-// Workaround for evolution 1:n
-//=======================================================================
-static Standard_Boolean IsValidSurfType(const TopoDS_Face& theFace) {
-  BRepAdaptor_Surface anAdapt(theFace);
-  Handle( Adaptor3d_HCurve ) aBasisCurve;
-  const GeomAbs_SurfaceType& aType = anAdapt.GetType();
-  if(aType == GeomAbs_Cylinder || aType == GeomAbs_Cone)
-    return Standard_True;
-  else if(aType == GeomAbs_SurfaceOfRevolution){
-    aBasisCurve = anAdapt.BasisCurve();
-    if (aBasisCurve->GetType() == GeomAbs_Line)
-      return Standard_True;
-  }
-  else if(aType == GeomAbs_SurfaceOfExtrusion) {
-    aBasisCurve = anAdapt.BasisCurve();
-    if (aBasisCurve->GetType() == GeomAbs_Circle || aBasisCurve->GetType() == GeomAbs_Ellipse)
-      return Standard_True;
-  }
-#ifdef OCCT_DEBUG
-  ModDbgTools_Write(theFace, "Surf");
-#endif
-  return Standard_False;
-}
-//=======================================================================
-//function : IsWRCase
-//purpose  : 
-//=======================================================================
-
-Standard_Boolean QANewBRepNaming_BooleanOperation::IsWRCase(const BRepAlgoAPI_BooleanOperation& MS) {
-  const TopoDS_Shape& ObjSh = MS.Shape1();
-  const TopoDS_Shape& ToolSh = MS.Shape2();
-  const TopAbs_ShapeEnum& Type1 = ShapeType(ObjSh);
-  if(Type1  == TopAbs_COMPOUND || Type1 > TopAbs_FACE) return Standard_False;
-  const TopAbs_ShapeEnum& Type2 = ShapeType(ToolSh);
-  if(Type2  == TopAbs_COMPOUND || Type2 > TopAbs_FACE) return Standard_False;
-  TopTools_ListOfShape aList;
-
-  
-  if(Type1 != TopAbs_FACE) {
-    TopExp_Explorer anExp(ObjSh, TopAbs_FACE);
-    for(;anExp.More();anExp.Next()) {      
-      if(IsValidSurfType(TopoDS::Face(anExp.Current())))
-       aList.Append(anExp.Current());
-    }
-  } else 
-       if(IsValidSurfType(TopoDS::Face(ObjSh)))
-       aList.Append(ObjSh);
-  if(aList.Extent() == 1) {
-    if(Type2 != TopAbs_FACE) {
-      TopExp_Explorer anExp(ToolSh, TopAbs_FACE);
-      for(;anExp.More();anExp.Next()) {      
-       if(IsValidSurfType(TopoDS::Face(anExp.Current())))
-         aList.Append(anExp.Current());
-      }
-    } else 
-      if(IsValidSurfType(TopoDS::Face(ToolSh)))
-       aList.Append(ToolSh);
-    if(aList.Extent() == 2) return Standard_True;      
-  }
-  return Standard_False;      
-}
-
-//=======================================================================
-static gp_Ax1 ComputeAxis(const TopoDS_Shape& theShape) {
-  TopoDS_Face aFace;
-  TopExp_Explorer anExp(theShape, TopAbs_FACE);
-  for(;anExp.More();anExp.Next()) {      
-    aFace = TopoDS::Face(anExp.Current());
-    BRepAdaptor_Surface anAdapt(aFace);
-    Handle( Adaptor3d_HCurve ) aBasisCurve;
-    const GeomAbs_SurfaceType& aType = anAdapt.GetType();
-    if(aType == GeomAbs_Cylinder) 
-      return anAdapt.Cylinder().Axis();
-    else if(aType == GeomAbs_Cone)
-      return anAdapt.Cone().Axis();
-    else if(aType == GeomAbs_SurfaceOfRevolution)
-      return anAdapt.AxeOfRevolution();   
-    else if(aType == GeomAbs_SurfaceOfExtrusion) {
-      aBasisCurve = anAdapt.BasisCurve();
-      if (aBasisCurve->GetType() == GeomAbs_Circle)
-       return aBasisCurve->Circle().Axis();
-      else if(aBasisCurve->GetType() == GeomAbs_Ellipse)
-       return aBasisCurve->Ellipse().Axis();
-    }
-  }
-  return gp::OX();
-}
-//==============================================================================
-//
-//==========================================================================
-static Standard_Integer Identify(const TopoDS_Face& theFace, const gp_Ax1& theAx) {
-  GProp_GProps aGProp;
-  BRepGProp::SurfaceProperties(theFace, aGProp);
-  gp_Pnt aPoint = aGProp.CentreOfMass();
-  gp_Vec aV1(theAx.Direction());
-  gp_Vec aV2(theAx.Location(), aPoint);
-#ifdef OCCT_DEBUG
-  gp_Vec v1 = aV1.Crossed(aV2);
-  cout <<" Z of V1 = " << v1.XYZ().Z() << endl;
-#endif
-  if((aV1.Crossed(aV2)).XYZ().Z() >= 0) return 1; //right orientation
-  return (-1); //left orientation
-}
-
-//=======================================================================
-//function : LoadModified11
-//purpose  : 1 : 1
-//=======================================================================
-
-void QANewBRepNaming_BooleanOperation::LoadModified11 (BRepAlgoAPI_BooleanOperation& MS,
-                                                     const TopoDS_Shape&     ShapeIn,
-                                                     const TopAbs_ShapeEnum  KindOfShape) const
-
-{
-  TopTools_MapOfShape View;
-  Standard_Boolean found = Standard_False;
-  TopExp_Explorer ShapeExplorer (ShapeIn, KindOfShape);
-  for (; ShapeExplorer.More(); ShapeExplorer.Next ()) {
-    const TopoDS_Shape& Root = ShapeExplorer.Current ();
-    if (!View.Add(Root)) continue;
-    const TopTools_ListOfShape& Shapes = MS.Modified (Root);
-    if(Shapes.Extent() == 1) {found = Standard_True; break;}
-  }
-    
-  if(found) {
-    View.Clear();
-    ShapeExplorer.Init (ShapeIn, KindOfShape);
-    TNaming_Builder Builder(ModifiedFaces());
-    for (; ShapeExplorer.More(); ShapeExplorer.Next ()) {
-      const TopoDS_Shape& Root = ShapeExplorer.Current ();
-      if (!View.Add(Root)) continue;
-      const TopTools_ListOfShape& Shapes = MS.Modified (Root);
-      if(Shapes.Extent() > 1) continue;
-      TopTools_ListIteratorOfListOfShape ShapesIterator (Shapes);
-      for (;ShapesIterator.More (); ShapesIterator.Next ()) {
-       const TopoDS_Shape& newShape = ShapesIterator.Value ();
-       if (!Root.IsSame (newShape)) {
-         //put shapes with evolution 1:1 (may be Compound)
-#ifdef OCCT_DEBUG
-         TCollection_AsciiString entry;
-         TDF_Tool::Entry(Builder.NamedShape()->Label(), entry);
-         cout << "Add shape to Compound at Label = "<< entry <<endl;
-#endif
-         Builder.Modify (Root,newShape);
-       }
-      }
-    }
-  }
-}
-//======================================================================
-static gp_Pnt GetCenterPoint(const TopoDS_Shape& theEdge)
-{
-  GProp_GProps aGProp;
-  BRepGProp::LinearProperties(theEdge, aGProp);
-  return aGProp.CentreOfMass();
-}
-//===================================================================
-static void SortRootFaces(TopTools_ListOfShape& theList, const TopoDS_Shape& theShape)
-{
-  TopTools_ListOfShape aList;
-  Standard_Integer aNum = theList.Extent();
-  if(aNum <= 1) return;
-  gp_Ax1 anAx  = ComputeAxis(theShape);
-  TopTools_Array1OfShape  ArS(1, aNum);
-  TColgp_Array1OfPnt      ArP(1, aNum);
-  TColStd_Array1OfInteger ArI(1, aNum); 
-  TopTools_ListIteratorOfListOfShape It(theList);
-  Standard_Integer i;
-  for(i=1;It.More();It.Next(),i++) {
-    ArS.SetValue(i, It.Value ());
-    ArI.SetValue(i,0);
-    ArP.SetValue(i, GetCenterPoint(It.Value()));
-
-  }
-  gp_Pnt aPnt = anAx.Location();
-  Standard_Integer I, j;
-  for(j=1;j <= aNum; j++) {
-    if(ArI.Value(j) == -1) continue;
-    Standard_Real aD1 = aPnt.Distance(ArP(j));
-    I = 0;
-    for(i=1;i <= aNum; i++) {
-      if(i==j) continue;
-      if(ArI.Value(i) == -1) continue;
-       Standard_Real aD2 = aPnt.Distance(ArP(i));
-       if(aD2 < aD1) {
-         I = i;
-         aD1 = aD2;
-       }
-      }
-    if (I == 0) continue;
-    ArI.SetValue(I, -1);
-    aList.Append(ArS.Value(I));
-    if(aList.Extent() == aNum -1) {
-      for(i=1; i<=aNum;i++)
-       if(ArI.Value(i) != -1) aList.Append(ArS.Value(i));
-    }
-  }
-  theList.Assign(aList);
-}
-//=======================================================================
-static void Sort2Faces(const TopTools_ListOfShape& Shapes,
-                      const gp_Ax1& theAx, TopTools_ListOfShape& theList)
-{
-
-  TopTools_ListIteratorOfListOfShape It(Shapes);
-  for(;It.More();It.Next()) {
-    if(Identify(TopoDS::Face(It.Value()), theAx) == 1)
-      theList.Prepend(It.Value());   //Pos
-    else theList.Append(It.Value()); //Neg
-  }
-}
-
-//=======================================================================
-static void Sort3Faces(const TopTools_ListOfShape& theListIn, TopTools_ListOfShape& theListOut)
-{
-  TopTools_ListIteratorOfListOfShape It (theListIn);
-  TopTools_Array1OfShape  ArS(1, theListIn.Extent());
-  TColgp_Array1OfPnt      ArP(1, theListIn.Extent());
-
-  Standard_Integer i;
-  for(i=1;It.More();It.Next(),i++) {
-    ArS.SetValue(i, It.Value());
-    ArP.SetValue(i, GetCenterPoint(It.Value()));
-  }
-
-  Standard_Boolean found = Standard_False;
-  Standard_Integer j, i1 = 0, i2 = 0, i3 = 0; 
-  TopoDS_Edge anEdge;
-  for(i=1;i<=3;i++) {
-    TopExp_Explorer anExp1(ArS.Value(i), TopAbs_EDGE);
-    for(;anExp1.More();anExp1.Next()) {         
-      for(j=1;j<=3;j++) {
-       if(i==j) continue;      
-       TopExp_Explorer anExp2(ArS.Value(j), TopAbs_EDGE);
-       for(;anExp2.More();anExp2.Next()) {  
-         if(anExp1.Current().IsSame(anExp2.Current())){
-           found = Standard_True;
-           anEdge = TopoDS::Edge(anExp1.Current());
-           break;
-         }
-       }
-       if(found) break;
-      }
-      if(found) {
-       switch(i+j) {
-       case 3: //12
-         i1=1;i2=2; i3=3;
-         break;
-       case 4: //13      
-         i1=1;i2=3; i3=2;
-         break;
-       case 5: //23
-         i1=2;i2=3; i3=1;
-       }
-       break;
-      }
-    }
-    if(found) break;
-  }
-
-//i1,i2 - two adjacent faces via sim-edge
-  gp_Pnt aPnt1 = BRep_Tool::Pnt(TopExp::FirstVertex(anEdge));
-  gp_Pnt aPnt2 = BRep_Tool::Pnt(TopExp::LastVertex(anEdge));
-  gp_Vec aVec(aPnt1, aPnt2);
-  gp_Ax1 anAx(aPnt1, gp_Dir(aVec));
-  if (Identify(TopoDS::Face(ArS.Value(i1)), anAx) == -1) {//neg
-    i=i2; i2=i1; //i1 < = > i2
-    i1=i;
-  }
-  theListOut.Append(ArS.Value(i1));
-  theListOut.Append(ArS.Value(i2));
-  theListOut.Append(ArS.Value(i3)); //single
-}
-//=======================================================================
-//function : Load1nFaces
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_BooleanOperation::Load1nFaces(BRepAlgoAPI_BooleanOperation& MS, const TopoDS_Shape& ShapeIn) const
-{
-
-  TopTools_MapOfShape View;
-  TopTools_ListOfShape aListR;
-  TopExp_Explorer ShapeExplorer (ShapeIn, TopAbs_FACE);
-  for (; ShapeExplorer.More(); ShapeExplorer.Next ()) {
-    const TopoDS_Shape& Root = ShapeExplorer.Current ();
-    if (!View.Add(Root)) continue;
-    const TopTools_ListOfShape& Shapes = MS.Modified (Root);
-    if(Shapes.Extent() < 2) continue; 
-    aListR.Append(Root);
-  }
-  if(ShapeIn.IsEqual(MS.Shape1()))
-    if(aListR.Extent() > 1) SortRootFaces(aListR, ShapeIn);
-   
-  TopTools_ListIteratorOfListOfShape Itr(aListR);
-  for(;Itr.More();Itr.Next()) {
-    const TopoDS_Shape& Root = Itr.Value();
-    const TopTools_ListOfShape& Shapes = MS.Modified (Root);
-    TopTools_ListOfShape aList;
-    gp_Ax1 anAx = ComputeAxis(MS.Shape2());    
-    if(Shapes.Extent() == 2)
-      Sort2Faces(Shapes, anAx, aList);
-    else if(Shapes.Extent() == 3)
-      Sort3Faces(Shapes, aList);
-    TopTools_ListIteratorOfListOfShape It(aList);
-    for(;It.More();It.Next()) {
-      TNaming_Builder aBuilder(NewShapes());
-//      aBuilder.Modify(Root,It.Value ());
-      aBuilder.Generated(It.Value ());
-    }
-  }
-}
-
-//=======================================================================
-//function : LoadModified faces
-//purpose  : 1 : n modification
-//=======================================================================
-
-void QANewBRepNaming_BooleanOperation::LoadModified1n (BRepAlgoAPI_BooleanOperation& MS,
-                                                   const TopoDS_Shape&     ShapeIn,
-                                                   const TopAbs_ShapeEnum  KindOfShape) const
-
-{ 
-//fill modification 1:n
-  TopTools_MapOfShape View;
-  Standard_Integer aNum = 0;
-  TopExp_Explorer ShapeExplorer (ShapeIn, KindOfShape);
-  for (; ShapeExplorer.More(); ShapeExplorer.Next ()) {
-    const TopoDS_Shape& Root = ShapeExplorer.Current ();
-    if (!View.Add(Root)) continue;
-    const TopTools_ListOfShape& Shapes = MS.Modified (Root);
-    if(Shapes.Extent() >= 2) aNum += Shapes.Extent();
-  }
-  
-  View.Clear();
-  const TopoDS_Shape&     Tool = MS.Shape2();
-  ShapeExplorer.Init (Tool, KindOfShape);
-  for (; ShapeExplorer.More(); ShapeExplorer.Next ()) {
-    const TopoDS_Shape& Root = ShapeExplorer.Current ();
-    if (!View.Add(Root)) continue;
-    const TopTools_ListOfShape& Shapes = MS.Modified (Root);
-    if(Shapes.Extent() >= 2) aNum += Shapes.Extent();
-  }
-
-  Handle(TDataStd_IntegerArray) aSAR;
-  if(!ResultLabel().FindAttribute(TDataStd_IntegerArray::GetID(), aSAR) ) {
-    //not find
-    aSAR = TDataStd_IntegerArray::Set(ResultLabel(), 1, 2);
-    aSAR->SetValue(1, 0); //tag num for faces structure
-    aSAR->SetValue(2, 0); //tag num for edges structure
-  }
-
-  if(aSAR->Value(2))  {
-    Standard_Integer aNE =0;
-    TDF_Label aLab = ResultLabel().FindChild(aSAR->Value(2));
-    Handle(TDataStd_Integer) anAtt;
-    if(aLab.FindAttribute(TDataStd_Integer::GetID(), anAtt) ) 
-      aNE = anAtt->Get();    
-    TDF_Label aFLab = ResultLabel().FindChild(aLab.Tag() + aNE);
-    if(!aFLab.FindAttribute(TDataStd_Integer::GetID(), anAtt))
-      aSAR->SetValue(1, 0); 
-  }
-  TDF_Label aLabelFDS;
-  if(aSAR->Value(1)) 
-    aLabelFDS = ResultLabel().FindChild(aSAR->Value(1)); // !=0 -already exist
-  else {
-    // initial creation of FDS structure
-    Handle(TDF_TagSource) aTS;
-    ResultLabel().FindAttribute (TDF_TagSource::GetID (), aTS);    
-    aLabelFDS = NewShapes();
-//    aLabelFDS = ResultLabel().FindChild(aSAR->Value(1)); 
-    aSAR->SetValue(1, aLabelFDS.Tag()); //keep tag
-    aTS->Set(aLabelFDS.Tag()-1);
-  }
-  Handle(TDataStd_Integer) anAtt;
-  if(aLabelFDS.FindAttribute(TDataStd_Integer::GetID(), anAtt) ) {
-    // modification : check compatibility
-    if(anAtt->Get() != aNum) {
-      cout << "WARNING: Case isn't mantained - Number of Faces was changed!"<<endl;
-      // mark all structure as Deleted
-      Standard_Integer aN = aLabelFDS.Tag()+anAtt->Get();
-      for(Standard_Integer i=aLabelFDS.Tag(); i < aN; i++) {
-       TDF_Label aLab =  ResultLabel().FindChild(i, Standard_False); 
-       if(!aLab.IsNull()) {
-         Handle(TNaming_NamedShape) aNS;
-         if(aLab.FindAttribute(TNaming_NamedShape::GetID(), aNS)) {
-           TopoDS_Shape aShape = aNS->Get();
-           TNaming_Builder aBuilder(aLab);
-           aBuilder.Delete(aShape); //Deleted
-         }
-       }
-      }
-//
-      Handle(TDF_TagSource) aTS;
-      ResultLabel().FindAttribute (TDF_TagSource::GetID (), aTS);
-      if(!aTS.IsNull())
-       aTS->Set(aLabelFDS.Tag());
-      anAtt->Set(aNum);
-    }    
-  } else
-    TDataStd_Integer::Set(aLabelFDS, aNum); //keep number of faces
-
-  Load1nFaces(MS, ShapeIn);
-  Load1nFaces(MS, Tool);   
-}
-
-
-//======================================================================
-static Standard_Boolean IsDirectionPositive (const gp_Ax1& theAx, const gp_Pnt thePnt1, 
-                                            const gp_Pnt thePnt2) {
-  Standard_Boolean isPositive;
-  gp_Vec aVec1(theAx.Direction());
-  gp_Vec aVec2(thePnt1, thePnt2);
-#ifdef OCCT_DEBUG
-//  gp_Vec v1 = aVec1.Crossed(aVec2);
-//  cout <<" Z of V1 = " << v1.XYZ().Z() << endl;
-#endif
-  if((aVec1.Crossed(aVec2)).XYZ().Z() >= 0) isPositive = Standard_True;
-  else 
-    isPositive = Standard_False;
-  return isPositive;
-}
-//======================================================================
-// i => ArS[i] : ArP[i] ; i = ArI[j]
-//======================================================================
-static void SortEdges2(const TColgp_Array1OfPnt& theArP, const gp_Ax1& theAx,
-                     TColStd_Array1OfInteger& theArI)
-{
-  gp_Pnt aPnt = theAx.Location();  
-  //sort : the nearest point must be first
-  Standard_Real aD1 = aPnt.Distance(theArP.Value(1));
-  Standard_Real aD2 = aPnt.Distance(theArP.Value(2));
-  if(aD1 < aD2) {
-    theArI.SetValue(1, 1);
-    theArI.SetValue(2, 2);
-  } else  {
-    theArI.SetValue(1, 2); //change order
-    theArI.SetValue(2, 1);
-  }
-}
-//======================================================================
-// i => ArS[i] : ArP[i] ; i = ArI[j]
-//======================================================================
-static void SortEdges3(const TopTools_Array1OfShape& theArS, const TColgp_Array1OfPnt& theArP, 
-                      const gp_Ax1& theAx, TColStd_Array1OfInteger& theArI)
-{
-  Standard_Integer i, j, i1 = 0,i2 = 0, i3 = 0;
-  TopoDS_Shape aV;
-  Standard_Boolean adjacent = Standard_False;
-  for(i=1;i<=3;i++) {    
-    for(j=1;j<=3;j++) {
-      if(i==j) continue;
-      const TopoDS_Shape& aV11 = TopExp::FirstVertex(TopoDS::Edge(theArS.Value(i)));
-      const TopoDS_Shape& aV21 = TopExp::FirstVertex(TopoDS::Edge(theArS.Value(j)));
-      const TopoDS_Shape& aV22 = TopExp::LastVertex(TopoDS::Edge(theArS.Value(j)));      
-      if(aV11.IsSame(aV21) || aV11.IsSame(aV22)) {adjacent = Standard_True;aV = aV11;}
-      else {
-       const TopoDS_Shape& aV12 = TopExp::LastVertex(TopoDS::Edge(theArS.Value(i)));
-       if(aV12.IsSame(aV21) || aV12.IsSame(aV22)) {adjacent = Standard_True;aV = aV12;}
-      }
-      if(adjacent) {
-       Standard_Integer aSum = i+j;
-       switch(aSum) {
-       case 3: //12
-         i1 = 3;i2 = 1;i3 = 2;
-         break;
-       case 4: //13
-         i1 = 2; i2 = 1;i3 = 3;
-         break;
-       case 5: //23
-         i1 = 1; i2 = 2;i3 = 3;
-       }
-       break;
-      }
-    }
-    if(adjacent) break; 
-  }
-  gp_Pnt aPnt = theAx.Location(); 
-// i1 - index of single edge
-  Standard_Real aD1 = aPnt.Distance(theArP.Value(i1));
-  Standard_Real aD2 = aPnt.Distance(theArP.Value(i2));
-  if(aD1 > aD2) { //cyclic shift
-    Standard_Integer aN = i3;// i1 => i3 - to the end
-    i3 = i1; i1 = aN;
-    // pair of adjacent i1, i2
-    gp_Pnt aCP = BRep_Tool::Pnt(TopoDS::Vertex(aV)); 
-    if(!IsDirectionPositive(theAx, aCP, theArP.Value(i1))) {//first must be positive direction       
-      // change i1 <=>i2
-      aN = i2; i2 = i1;
-      i1 = aN;
-    }    
-  } else {
-    // pair of adjacent i2, i3
-    gp_Pnt aCP = BRep_Tool::Pnt(TopoDS::Vertex(aV)); 
-    if(!IsDirectionPositive(theAx, aCP, theArP.Value(i2))) {//first must be positive direction
-      // change i2 <=>i3
-      Standard_Integer aN = i3; i3 = i2;
-      i2 = aN;
-      }
-  }
-// order i1, i2, i3 
-  theArI.SetValue(1, i1); 
-  theArI.SetValue(2, i2);
-  theArI.SetValue(3, i3);
-}
-
-//======================================================================
-// i => ArS[i] : ArP[i] ; i = ArI[j]
-//======================================================================
-static void SortEdges4(const TopTools_Array1OfShape& theArS, const TColgp_Array1OfPnt& theArP, 
-                      const gp_Ax1& theAx, TColStd_Array1OfInteger& theArI)
-{
-// 1. find adjacent edges, build pairs in ArI
-// 2. find nearest pair, reorganize ArI
-// 3. sort inside pairs
-// =======================================
-  Standard_Integer i, j, i1 = 0,i2 = 0, i3 = 0, i4 = 0;
-// 1.
-  TopoDS_Shape aV1;
-  for(i=1;i<=4;i++) { 
-    const TopoDS_Shape& aV11 = TopExp::FirstVertex(TopoDS::Edge(theArS.Value(i)));
-    const TopoDS_Shape& aV12 = TopExp::LastVertex(TopoDS::Edge(theArS.Value(i)));
-    Standard_Boolean aDjacent = Standard_False;
-    for(j=1;j<=4;j++) {
-      if(i==j) continue;
-      const TopoDS_Shape& aV21 = TopExp::FirstVertex(TopoDS::Edge(theArS.Value(j)));
-      const TopoDS_Shape& aV22 = TopExp::LastVertex(TopoDS::Edge(theArS.Value(j)));
-      aDjacent = Standard_False;
-      if(aV11.IsSame(aV21) || aV11.IsSame(aV22)) {aDjacent = Standard_True;aV1 = aV11;}
-      else 
-       if(aV12.IsSame(aV21) || aV12.IsSame(aV22)) {aDjacent = Standard_True;aV1 = aV12;}
-      if(aDjacent) {
-       aDjacent = Standard_True;
-       Standard_Integer aSum = i+j;
-       i1 = i; i2 = j; 
-       switch(aSum) {
-       case 3: //12
-         i3 = 3; i4 = 4;
-         break;
-       case 4: //13
-         i3 = 2; i4 = 4;
-         break;
-       case 5: //14
-         i3 = 2; i4 = 3;
-         break;
-       }
-       break;
-      }
-    }
-    if(aDjacent) break;
-  }
-// i1,i2 - first pair of adjacent: aV1.
-// i3,i4 - next  pair of adjacent: aV2.
-// find agjacent V (i3-i4)
-  TopoDS_Shape aV2;
-  const TopoDS_Shape& aV11 = TopExp::FirstVertex(TopoDS::Edge(theArS.Value(i3)));
-  const TopoDS_Shape& aV21 = TopExp::FirstVertex(TopoDS::Edge(theArS.Value(i4)));
-  const TopoDS_Shape& aV22 = TopExp::LastVertex(TopoDS::Edge(theArS.Value(i4)));
-  if(aV11.IsSame(aV21) || aV11.IsSame(aV22)) aV2 = aV11;
-  else {
-    const TopoDS_Shape& aV12 = TopExp::LastVertex(TopoDS::Edge(theArS.Value(i3)));
-    if(aV12.IsSame(aV21) || aV12.IsSame(aV22)) aV2 = aV12;
-  }
-
-// 2. find nearest pair
-  gp_Pnt aCP1 = BRep_Tool::Pnt(TopoDS::Vertex(aV1)); 
-  gp_Pnt aCP2 = BRep_Tool::Pnt(TopoDS::Vertex(aV2)); 
-  gp_Pnt aPnt = theAx.Location();
-  Standard_Real aD1 = aPnt.Distance(aCP1);//i1-i2
-  Standard_Real aD2 = aPnt.Distance(aCP2);//i3-i4
-  if(aD1 > aD2) { //change order of pairs
-    Standard_Integer a3 = i3;// i1,i2 => i3,i4 - to the end
-    Standard_Integer a4 = i4;
-    i3 = i1; i4 = i2;
-    i1 = a3; i2 = a4;
-    gp_Pnt aP = aCP2;
-    aCP2 = aCP1;
-    aCP1 = aP;
-    // pair of adjacent i1-i2 is the nearest
-  }    
-
-// 3. sort inside pairs
-  if(!IsDirectionPositive(theAx, aCP1, theArP.Value(i1))) {//first must be positive direction
-    // change i1 <=> i2
-    Standard_Integer aN = i2; i2 = i1;
-    i1 = aN;
-  }
-
-  if(!IsDirectionPositive(theAx, aCP2, theArP.Value(i3))) {//first must be positive direction
-    // change i3 <=> i4
-#ifdef OCCT_DEBUG
-  cout << "SortEdges4: i3 = "<<i3<< "i4 = "<< i4 << endl;
-#endif
-    Standard_Integer aN = i4; i4 = i3;
-    i3 = aN;
-  }
-
-// 4. final order i1, i2, i3, i4 - Ok
-#ifdef OCCT_DEBUG
-  cout << "SortEdges4: i1 = " <<i1<<" i2 = "<<i2<< " i3 = "<<i3<< "i4 = "<< i4 << endl;
-#endif
-  theArI.SetValue(1, i1); 
-  theArI.SetValue(2, i2);
-  theArI.SetValue(3, i3);
-  theArI.SetValue(4, i4);
-}
-// ======================================================================
-static void SortEdges5 (const TopTools_Array1OfShape& theArS, const TColgp_Array1OfPnt& theArP, 
-                      const gp_Ax1& theAx, TColStd_Array1OfInteger& theArI)
-{
-// =======================================
-// 1. find middle edge from gr. of 3 edges, build two groups in ArI
-// 2. find nearest group, reorganize ArI - nerest => top
-// 3. sort inside groups
-// 3.1. sort inside group of 2 edges
-// 3.2. sort inside group of 3 edges
-// =======================================
-  Standard_Integer i, j, i1,i2, i3, i4, i5;
-// 1.
-  TopoDS_Shape aV1, aV2, aV;
-  Standard_Integer I=0, J1=0, J2=0;
-  for(i=1;i<=5;i++) {    
-    Standard_Boolean found = Standard_False;
-    const TopoDS_Shape& aV11 = TopExp::FirstVertex(TopoDS::Edge(theArS.Value(i)));
-    for(j=1;j<=5;j++) {
-      if(i==j) continue;
-      const TopoDS_Shape& aV21 = TopExp::FirstVertex(TopoDS::Edge(theArS.Value(j)));
-      const TopoDS_Shape& aV22 = TopExp::LastVertex(TopoDS::Edge(theArS.Value(j)));
-      if(aV11.IsSame(aV21) || aV11.IsSame(aV22)) {
-       aV1 = aV11; I = i; J1 = j;
-       found = Standard_True;
-       break;
-      }
-    }
-    if (found) {
-      found = Standard_False;
-      const TopoDS_Shape& aV12 = TopExp::LastVertex(TopoDS::Edge(theArS.Value(i)));
-      for(j=1;j<=5;j++) {
-       if(i==j) continue;
-       const TopoDS_Shape& aV21 = TopExp::FirstVertex(TopoDS::Edge(theArS.Value(j)));
-       const TopoDS_Shape& aV22 = TopExp::LastVertex(TopoDS::Edge(theArS.Value(j)));
-       if(aV12.IsSame(aV21) || aV12.IsSame(aV22)) {
-         aV2 = aV12; J2 = j;
-#ifdef OCCT_DEBUG
-         if(I != i) cout << "WARNING:: I != i, I = " << I << ", i = " << i <<endl; 
-#endif
-         found = Standard_True;
-         break;
-       }
-      }
-    }
-    if (found) break;
-  }
-// aV1, aV2 - vetexes of middle Edge, I - index of middle Edge, J1, J2 = indexes of 
-// adjacent edges of the middle edge
-
-// init & shift group from 3 edges on the top 
-  i1=J1; i2=I; i3 = J2; i4=0; i5=0;
-  for(i=1; i<=5;i++) {
-    if(i==i1 || i==i2 ||i==i3) continue;
-    if(!i4) i4=i;
-    else i5 = i;
-  }
-
-// find agjacent V (i4-i5)
-  TopoDS_Shape aV3;
-  const TopoDS_Shape& aV11 = TopExp::FirstVertex(TopoDS::Edge(theArS.Value(i4)));
-  const TopoDS_Shape& aV21 = TopExp::FirstVertex(TopoDS::Edge(theArS.Value(i5)));
-  const TopoDS_Shape& aV22 = TopExp::LastVertex(TopoDS::Edge(theArS.Value(i5)));
-  if(aV11.IsSame(aV21) || aV11.IsSame(aV22)) aV3 = aV11;
-  else {
-    const TopoDS_Shape& aV12 = TopExp::LastVertex(TopoDS::Edge(theArS.Value(i4)));
-    if(aV12.IsSame(aV21) || aV12.IsSame(aV22)) aV3 = aV12;
-  }
-  
-// 2. find nearest group (aV1, aV3), reorganize ArI - nerest => top
-  gp_Pnt aDP1 = BRep_Tool::Pnt(TopoDS::Vertex(aV1)); 
-  gp_Pnt aDP3 = BRep_Tool::Pnt(TopoDS::Vertex(aV3)); 
-  gp_Pnt aPnt = theAx.Location();
-  Standard_Real aD1 = aPnt.Distance(aDP1);//i1-i2-i3
-  Standard_Real aD2 = aPnt.Distance(aDP3);//i4-i5
-  Standard_Integer aTop = 3;
-  if(aD1 > aD2) { //change order of groups
-    aTop = 2;
-    Standard_Integer a4 = i4;// i1,i2 => i4,i5 - to the end
-    Standard_Integer a5 = i5;
-    i4 = i2; i5 = i1; // i4 - middle edge
-    i1 = a4; i2 = a5;
-    gp_Pnt aP1 = aDP1;    
-    aDP1 = aDP3;
-    aDP3 = aP1;
-    // goup of 2 edges i1-i2 is the nearest
-  }
-// 3.1. sort inside group of 2 edges
-  gp_Pnt aDP, aCP;
-  if(aTop == 2) {aDP = aDP1; aCP = theArP.Value(i1);} //i1,i2 
-  else {aDP = aDP3; aCP = theArP.Value(i4);} //i4, i5 - group of 2 edges at the bottom
-  if(!IsDirectionPositive(theAx, aDP, aCP)) {//first must be positive direction
-    Standard_Integer aN;
-    if(aTop == 2) {
-    // change i1 <=> i2
-      aN = i2; i2 = i1;
-      i1 = aN;
-    } else {
-      // change i4 <=> i5
-      aN = i5; i5 = i4;
-      i4 = aN;
-    }
-  }
-// 3.2. sort inside group of 3 edges
-  if(aTop == 2) {
-    //i3,i4,i5
-    aDP = theArP.Value(i4); //center of middle edge
-    aCP = theArP.Value(i3); 
-  } else {
-    //i1,i2,i3
-    aDP = theArP.Value(i2);
-    aCP = theArP.Value(i1);
-  }
-
-  if(!IsDirectionPositive(theAx, aDP, aCP)) {//first must be positive direction
-    Standard_Integer aN;
-    if(aTop == 2) {
-    // change i3 <=> i5
-      aN = i5; i5 = i3;
-      i3 = aN;
-    } else {
-      // change i1 <=> i3
-      aN = i3; i3 = i1;
-      i1 = aN;
-    }
-  }
-// 4. final order i1, i2, i3, i4, i5 - Ok
-  theArI.SetValue(1, i1); 
-  theArI.SetValue(2, i2);
-  theArI.SetValue(3, i3);
-  theArI.SetValue(4, i4);
-  theArI.SetValue(5, i5);
-}
-//=======================================================================
-static void FindAdjacent2(const TopTools_ListOfShape& theList, 
-                        TopTools_ListOfShape& theListOfEdges) {
-  TopTools_ListIteratorOfListOfShape It (theList);
-  const TopoDS_Shape& aShape1 = It.Value (); It.Next ();
-  const TopoDS_Shape& aShape2 = It.Value ();
-  if(!aShape1.IsNull() && !aShape2.IsNull()) {
-    TopExp_Explorer anExp1(aShape1, TopAbs_EDGE);
-    for(;anExp1.More();anExp1.Next()) {      
-      TopExp_Explorer anExp2(aShape2, TopAbs_EDGE);
-      for(;anExp2.More();anExp2.Next()) {  
-       if(anExp1.Current().IsSame(anExp2.Current()))
-         theListOfEdges.Append(anExp1.Current());
-      }
-    }
-  }
-}
-//=======================================================================
-static void FindAdjacent3(const TopTools_ListOfShape& theList, 
-                         TopTools_ListOfShape& theListOfEdges) {
-  TopTools_ListIteratorOfListOfShape It (theList);
-  TopTools_Array1OfShape  ArS(1, theList.Extent());
-  TColgp_Array1OfPnt      ArP(1, theList.Extent());
-  TColgp_Array1OfDir      ArD(1, theList.Extent());
-  Standard_Integer i;
-  for(i=1;It.More();It.Next(),i++) {
-    ArS.SetValue(i, It.Value());
-    gp_Ax1 anAx = ComputeAxis(It.Value()); 
-    ArP.SetValue(i, anAx.Location());
-    ArD.SetValue(i, anAx.Direction());
-  }
-  Standard_Boolean aDjacent = Standard_False;
-  Standard_Integer j, i2 = 0, i3 = 0; //i2, i3 - indexes of two adjacent faces having the same surface
-  Standard_Integer i1 = 0; //single face
-  for(i=1;i<=3;i++) {    
-    for(j=1;j<=3;j++) {
-      if(i==j) continue;
-      if(ArP.Value(i).IsEqual(ArP.Value(j), Precision::Confusion()) 
-        && ArD.Value(i).IsEqual(ArD.Value(j), Precision::Angular())) { 
-       aDjacent = Standard_True;
-       Standard_Integer aSum = i+j;
-       switch(aSum) {
-       case 3: //12
-         i1 = 3; i2 = 1; i3 = 2;
-         break;
-       case 4: //13
-         i1 = 2; i2 = 1; i3 = 3;
-         break;
-       case 5: //23
-         i1 = 1; i2 = 2; i3 = 3;
-         break;
-       default:
-         i1 = 1; i2 = 2; i3 = 3;
-       }
-       break;
-      }
-    }
-    if(aDjacent) break;
-  }
-
-  TopExp_Explorer anExp1(ArS.Value(i1), TopAbs_EDGE);
-  for(;anExp1.More();anExp1.Next()) {
-    Standard_Boolean found = Standard_False;
-    TopExp_Explorer anExp2(ArS.Value(i2), TopAbs_EDGE);
-    for(;anExp2.More();anExp2.Next()) {  
-      if(anExp1.Current().IsSame(anExp2.Current()))
-       {theListOfEdges.Append(anExp1.Current()); found=Standard_True; break;}
-    }
-    if(!found) {
-      TopExp_Explorer anExp3(ArS.Value(i3), TopAbs_EDGE);
-      for(;anExp3.More();anExp3.Next()) {  
-       if(anExp1.Current().IsSame(anExp3.Current()))
-         {theListOfEdges.Append(anExp1.Current());break;}
-      }
-    }
-  }
-}
-//=======================================================================
-static void FindAdjacent4(const TopTools_ListOfShape& theList, 
-                         TopTools_ListOfShape& theListOfEdges) {
-  TopTools_ListIteratorOfListOfShape It (theList);
-  TopTools_Array1OfShape  ArS(1, theList.Extent());
-  TColgp_Array1OfPnt      ArP(1, theList.Extent());
-  TColgp_Array1OfDir      ArD(1, theList.Extent());
-  Standard_Integer i;
-  for(i=1;It.More();It.Next(),i++) {
-    ArS.SetValue(i, It.Value());
-    gp_Ax1 anAx = ComputeAxis(It.Value()); 
-    ArP.SetValue(i, anAx.Location());
-    ArD.SetValue(i, anAx.Direction());
-  }
-  //find pairs
-  Standard_Integer j, i3=0, i4 = 0;//i3, i4 - indexes of two adjacent faces having the same surface
-  Standard_Integer i1 = 0, i2 = 0; 
-  Standard_Boolean aDjacent = Standard_False;
-  for(i=1;i<=4;i++) {    
-    for(j=1;j<=4;j++) {
-      if(i==j) continue;
-      if(ArP.Value(i).IsEqual(ArP.Value(j), Precision::Confusion()) 
-        && ArD.Value(i).IsEqual(ArD.Value(j), Precision::Angular())) {
-       aDjacent = Standard_True;
-       Standard_Integer aSum = i+j;
-       i1 = i; i2 = j; 
-       switch(aSum) {
-       case 3: //12
-         i3 = 3; i4 = 4;
-         break;
-       case 4: //13
-         i3 = 2; i4 = 4;
-         break;
-       case 5: //14
-         i3 = 2; i4 = 3;
-         break;
-       default:
-         i3 = 3; i4 = 4;
-       }
-       break;
-      }
-    }
-    if(aDjacent) break;
-  }
-
-  TopExp_Explorer anExp1(ArS.Value(i1), TopAbs_EDGE);
-  for(;anExp1.More();anExp1.Next()) {
-    Standard_Boolean found = Standard_False;
-    TopExp_Explorer anExp2(ArS.Value(i3), TopAbs_EDGE);
-    for(;anExp2.More();anExp2.Next()) {  
-      if(anExp1.Current().IsSame(anExp2.Current()))
-       {theListOfEdges.Append(anExp1.Current()); found=Standard_True; break;}
-    }
-    if(!found) {
-      TopExp_Explorer anExp3(ArS.Value(i4), TopAbs_EDGE);
-      for(;anExp3.More();anExp3.Next()) {  
-       if(anExp1.Current().IsSame(anExp3.Current()))
-         {theListOfEdges.Append(anExp1.Current());break;}
-      }
-    }
-  }
-//
-  anExp1.Init(ArS.Value(i2), TopAbs_EDGE);
-  for(;anExp1.More();anExp1.Next()) {
-    Standard_Boolean found = Standard_False;
-    TopExp_Explorer anExp2(ArS.Value(i3), TopAbs_EDGE);
-    for(;anExp2.More();anExp2.Next()) {  
-      if(anExp1.Current().IsSame(anExp2.Current()))
-       {theListOfEdges.Append(anExp1.Current()); found=Standard_True; break;}
-    }
-    if(!found) {
-      TopExp_Explorer anExp3(ArS.Value(i4), TopAbs_EDGE);
-      for(;anExp3.More();anExp3.Next()) {  
-       if(anExp1.Current().IsSame(anExp3.Current()))
-         {theListOfEdges.Append(anExp1.Current());break;}
-      }
-    }
-  }
-}
-
-//=======================================================================
-// SortEdges: returns 
-//=======================================================================
-static void SortEdges(const TopTools_ListOfShape& theListE, const gp_Ax1& theAx, 
-                    TopTools_Array1OfShape& theARS)
-{
-  
-  Standard_Integer aNE1 = theListE.Extent();
-  TopTools_Array1OfShape  ArS(1, aNE1);
-  TColgp_Array1OfPnt      ArP(1, aNE1);
-  TColStd_Array1OfInteger ArI(1, aNE1); 
-  TopTools_ListIteratorOfListOfShape It (theListE);//pairs of edges
-  //for (Standard_Integer i=1;It.More (); It.Next (),i++) {
-  Standard_Integer i;
-  for (i=1;It.More (); It.Next (),i++) {
-    ArS.SetValue(i, It.Value ());
-    ArI.SetValue(i,0);
-    ArP.SetValue(i, GetCenterPoint(It.Value()));
-  }
-  switch(aNE1) {
-  case 2:
-    // Identify position  
-    SortEdges2(ArP, theAx, ArI);
-    break;
-  case 3:
-    SortEdges3(ArS, ArP, theAx, ArI);
-    break;
-  case 4:
-    SortEdges4(ArS, ArP, theAx, ArI);
-    break;
-  case 5:
-    SortEdges5(ArS, ArP, theAx, ArI);
-    break;
-  }
-  
-  for(i=1;i<=ArI.Upper();i++) {
-#ifdef OCCT_DEBUG
-    cout << "SortEdges: i = " <<i<<" ArI.Value(i) = " <<ArI.Value(i)<< endl;
-#endif   
-    theARS.SetValue(i, ArS.Value(ArI.Value(i)));  
-
-  }
-}
-//=======================================================================
-//function : LoadSymmetricalEdges
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_BooleanOperation::LoadSymmetricalEdges (BRepAlgoAPI_BooleanOperation& MS) const
-{
-  const TopoDS_Shape& aResult   = MS.Shape();
-  if(aResult.IsNull()) return;
-  const TopoDS_Shape& ObjSh     = MS.Shape1();
-  const TopoDS_Shape& ToolSh    = MS.Shape2();
-  const TopAbs_ShapeEnum& Type1 = ShapeType(ObjSh);
-  if(Type1  == TopAbs_COMPOUND || Type1 > TopAbs_FACE) return;
-  const TopAbs_ShapeEnum& Type2 = ShapeType(ToolSh);
-  if(Type2  == TopAbs_COMPOUND || Type2 > TopAbs_FACE) return;
-  TopTools_ListOfShape aList0;
-  if (aResult.ShapeType() == TopAbs_COMPOUND) {
-    TopoDS_Iterator itr(aResult);
-    for (; itr.More(); itr.Next())
-      aList0.Append(itr.Value()); //collect separated entities (bodies)
-    
-  }
-  if(aList0.Extent() > 2) return; // case > 2 ent. is not considered
-  TopTools_ListOfShape aList1, aList2;
-  TopTools_ListIteratorOfListOfShape It (aList0); //each item (body) must have at least 1 pair 
-  // of "cyl/con" surfaces (in some cases may be 3 or 4 faces depending on sim-edge position)
-  for (;It.More (); It.Next ()) {
-    const TopoDS_Shape& aShape = It.Value (); //1-st solid/shell
-    TopTools_ListOfShape aList;
-    aList.Clear();
-#ifdef OCCT_DEBUG
-//    ModDbgTools_Write(aShape, "S0");
-#endif
-    if(aShape.ShapeType() != TopAbs_FACE) {
-      TopExp_Explorer anExp(aShape, TopAbs_FACE);      
-      for(;anExp.More();anExp.Next()) {      
-       if(IsValidSurfType(TopoDS::Face(anExp.Current()))) 
-         aList.Append(anExp.Current()); // faces of the current entity
-      }
-    } else 
-      if(IsValidSurfType(TopoDS::Face(ObjSh)))
-       aList.Append(aShape);
-    
-    if(aList1.Extent() == 0 )
-      aList1.Assign(aList);
-    else 
-      aList2.Assign(aList);
-  }
-// aList1,2 contain pairs of faces having more then 1 neghbour edge (each pair)
-  const Standard_Integer aNF1 = aList1.Extent(); // keep n of faces of the first entity
-  const Standard_Integer aNF2 = aList2.Extent(); // keep n of faces of the second entity
-  if(aNF1 + aNF2 < 2) return;
-
-//find Edges
-  TopTools_ListOfShape aListE1, aListE2;
-  Standard_Integer aNE1=0,aNE2=0;
-  if(aNF1 == 2 && !aNF2) {//trivial case - only 2 faces
-    FindAdjacent2(aList1, aListE1);
-    aNE1 = aListE1.Extent();
-  }
-  else { // result is compound of two ent.
-    if (aNF1 == 2)  //first ent. has 2 valid faces
-      FindAdjacent2(aList1, aListE1); // find adjacent edges
-    else if (aNF1 == 3) // first ent. has 3 valid faces
-      FindAdjacent3(aList1, aListE1);
-    else if (aNF1 == 4)  //first ent. has 4 valid faces
-      FindAdjacent4(aList1, aListE1);
-// set number of symmetry Edges of the first ent. 
-    aNE1 = aListE1.Extent();    
-
-// Second ent.
-    if (aNF2 == 2)  //second ent. has 2 valid faces
-      FindAdjacent2(aList2, aListE2);  
-    else if (aNF2 == 3) 
-      FindAdjacent3(aList2, aListE2);
-    else if (aNF2 == 4) 
-      FindAdjacent4(aList2, aListE2);
-    
-    aNE2 =  aListE2.Extent();
-  }
-//aListE1, aListE2 - contains Edges
-//  if(aNE1 < 2) return;
-// check topological compatibility
-//if exist
-  Handle(TDataStd_IntegerArray) aSAR;
-  if(!ResultLabel().FindAttribute(TDataStd_IntegerArray::GetID(), aSAR) ) {
-    aSAR = TDataStd_IntegerArray::Set(ResultLabel(), 1, 2);
-    aSAR->SetValue(1, 0); //tag num for faces structure
-    aSAR->SetValue(2, 0); //tag num for edges structure
-  }
-  TDF_Label aLabelEDS;
-  if(aSAR->Value(2)) aLabelEDS = ResultLabel().FindChild(aSAR->Value(2)); // !=0
-  else {
-    // initial creation of EDS structure
-    aLabelEDS = NewShapes();
-    aSAR->SetValue(2, aLabelEDS.Tag()); //keep tag
-  }
-  Handle(TDataStd_Integer) anAtt;
-  if(aLabelEDS.FindAttribute(TDataStd_Integer::GetID(), anAtt) ) {
-    // modification : check compatibility
-    if(anAtt->Get() != aNE1+aNE2) {
-      cout << "WARNING: Case isn't mantained - Number of Edges was changed!"<<endl;
-      // mark all structure as Deleted
-      Standard_Integer aN = aLabelEDS.Tag()+anAtt->Get();
-      for(Standard_Integer i=aLabelEDS.Tag(); i < aN; i++) {
-       TDF_Label aLab =  ResultLabel().FindChild(i, Standard_False); 
-       if(!aLab.IsNull()) {
-         Handle(TNaming_NamedShape) aNS;
-         if(aLab.FindAttribute(TNaming_NamedShape::GetID(), aNS)) {
-           TopoDS_Shape aShape = aNS->Get();
-           TNaming_Builder aBuilder(aLab);
-           aBuilder.Delete(aShape); //Deleted
-         }
-       }
-      }
-//
-      Handle(TDF_TagSource) aTS;
-      ResultLabel().FindAttribute (TDF_TagSource::GetID (), aTS);
-      if(!aTS.IsNull())
-       aTS->Set(aLabelEDS.Tag());
-      anAtt->Set(aNE1+aNE2);
-    }
-    
-  } else
-    TDataStd_Integer::Set(aLabelEDS, aNE1+aNE2); //keep number of edges 
-  
-// Identification
-//  if(aNE1% 2 > 0) return;
-  gp_Ax1 anAx  = ComputeAxis(MS.Shape2());
-  Handle(TDF_TagSource) aTS;
-  ResultLabel().FindAttribute (TDF_TagSource::GetID (), aTS);
-  if(!aNE2 && aNE1) { // only 1 ent.
-//Top || Bot ?
-    TopTools_Array1OfShape  ArS1(1, aNE1);
-    SortEdges(aListE1, anAx, ArS1);
-    for(Standard_Integer i=1; i <= aNE1; i++) {
-      TopoDS_Shape aShape = ArS1.Value(i);
-      Standard_Integer aLabTag = aLabelEDS.Tag() + i -1;
-      TDF_Label aLab =  ResultLabel().FindChild(aLabTag); 
-      aTS->Set(aLabTag);
-      TNaming_Builder aBuilder(aLab);
-      aBuilder.Generated(aShape);
-    }
-  } else if(aNE1 && aNE2) { //2 ent.
-    TopTools_Array1OfShape  ArS1(1, aNE1);
-    SortEdges(aListE1, anAx, ArS1);
-    TopTools_Array1OfShape  ArS2(1, aNE2);
-    SortEdges(aListE2, anAx, ArS2);
-
-    gp_Pnt aPnt1 = GetCenterPoint(aListE1.First());
-//    gp_Pnt aPnt2 = GetCenterPoint(aListE2.First());
-    if(IsDirectionPositive(anAx, anAx.Location(), aPnt1)) {
-      Standard_Integer i;
-      for(i=1; i <= aNE1; i++) {
-       TopoDS_Shape aShape = ArS1.Value(i);
-       Standard_Integer aLabTag = aLabelEDS.Tag() + i - 1;
-       TDF_Label aLab =  ResultLabel().FindChild(aLabTag); 
-       aTS->Set(aLabTag);
-       TNaming_Builder aBuilder(aLab);
-       aBuilder.Generated(aShape);     
-      }
-      Standard_Integer start =  aLabelEDS.Tag() + aNE1;
-      for(i=1; i <= aNE2; i++) {
-       TopoDS_Shape aShape = ArS2.Value(i);
-       Standard_Integer aLabTag = start + i - 1;
-       TDF_Label aLab =  ResultLabel().FindChild(aLabTag); 
-       aTS->Set(aLabTag);
-       TNaming_Builder aBuilder(aLab);
-       aBuilder.Generated(aShape);     
-      }
-    }
-    else {
-      Standard_Integer i;
-      for(i=1; i <= aNE2; i++) {
-       TopoDS_Shape aShape = ArS2.Value(i);
-       Standard_Integer aLabTag = aLabelEDS.Tag() + i - 1;
-       TDF_Label aLab =  ResultLabel().FindChild(aLabTag); 
-       aTS->Set(aLabTag);
-       TNaming_Builder aBuilder(aLab);
-       aBuilder.Generated(aShape);     
-      }
-      Standard_Integer start =  aLabelEDS.Tag() + aNE2;
-      for(i=1; i <= aNE1; i++) {
-       TopoDS_Shape aShape = ArS1.Value(i);
-       Standard_Integer aLabTag = start + i - 1;
-       TDF_Label aLab =  ResultLabel().FindChild(aLabTag); 
-       aTS->Set(aLabTag);
-       TNaming_Builder aBuilder(aLab);
-       aBuilder.Generated(aShape);     
-      }
-    }
-  }
-}
-
-//=======================================================================
-//function : ISWRCase2
-//purpose  : 
-//=======================================================================
-Standard_Boolean QANewBRepNaming_BooleanOperation::IsWRCase2(BRepAlgoAPI_BooleanOperation& MS) {
-  const TopoDS_Shape& Result = MS.Shape();
-  const TopAbs_ShapeEnum& ResType = ShapeType(Result);
-  if(ResType  == TopAbs_COMPOUND || ResType >= TopAbs_FACE) return Standard_False;
-
-  TopExp_Explorer anExp(Result, TopAbs_FACE);
-  for(;anExp.More();anExp.Next()) {
-    if(IsValidSurfType(TopoDS::Face(anExp.Current()))) {
-      TopExp_Explorer anExp1(Result, TopAbs_FACE);
-      for(;anExp1.More();anExp1.Next()) {
-       if(!anExp1.Current().IsSame(anExp.Current()) && !IsValidSurfType(TopoDS::Face(anExp1.Current()))) {
-         TopTools_ListOfShape aList;
-         aList.Append(anExp.Current());
-         aList.Append(anExp1.Current());
-         TopTools_ListOfShape anEList;
-         FindAdjacent2(aList, anEList);
-         if(anEList.Extent() == 2) {
-           return Standard_True;
-         }
-       }
-      }
-    }
-  }
-  return Standard_False;
-}
-
-//=======================================================================
-//function : LoadWRCase
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_BooleanOperation::LoadWRCase(BRepAlgoAPI_BooleanOperation& MS) const {
-  const TopoDS_Shape& Result = MS.Shape();
-  const TopAbs_ShapeEnum& ResType = ShapeType(Result);
-  if(ResType  == TopAbs_COMPOUND || ResType >= TopAbs_FACE) return;
-
-  TopExp_Explorer anExp(Result, TopAbs_FACE);
-  for(;anExp.More();anExp.Next()) {
-    if(IsValidSurfType(TopoDS::Face(anExp.Current()))) {
-      TopExp_Explorer anExp1(Result, TopAbs_FACE);
-      for(;anExp1.More();anExp1.Next()) {
-       if(!anExp1.Current().IsSame(anExp.Current()) && !IsValidSurfType(TopoDS::Face(anExp1.Current()))) {
-         TopTools_ListOfShape aList;
-         aList.Append(anExp.Current());
-         aList.Append(anExp1.Current());
-         TopTools_ListOfShape anEList;
-         FindAdjacent2(aList, anEList);
-         if(anEList.Extent() == 2) {
-           
-           TopTools_ListIteratorOfListOfShape anEIt(anEList);
-           GProp_GProps anE1Props, anE2Props;
-           BRepGProp::LinearProperties(anEList.First(), anE1Props);
-           BRepGProp::LinearProperties(anEList.Last(), anE2Props);
-
-           const TDF_Label& WRE1Label = ResultLabel().NewChild();
-           const TDF_Label& WRE2Label = ResultLabel().NewChild();
-           const TDF_Label& WRV1Label = ResultLabel().NewChild();
-           const TDF_Label& WRV2Label = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-           TDataStd_Name::Set(WRE1Label, "WorkAroundEdge1");
-           TDataStd_Name::Set(WRE2Label, "WorkAroundEdge2");
-           TDataStd_Name::Set(WRV1Label, "WorkAroundVertex1");
-           TDataStd_Name::Set(WRV2Label, "WorkAroundVertex2");
-#endif
-
-           TNaming_Builder anEBuilder1(WRE1Label);
-           TNaming_Builder anEBuilder2(WRE2Label);
-           TNaming_Builder aVBuilder1(WRV1Label);
-           TNaming_Builder aVBuilder2(WRV2Label);
-
-           if(anE1Props.Mass() > anE2Props.Mass()) {
-             anEBuilder1.Generated(anEList.Last());
-             anEBuilder2.Generated(anEList.First());
-             aVBuilder1.Generated(TopExp::FirstVertex(TopoDS::Edge(anEList.Last())));
-             aVBuilder2.Generated(TopExp::LastVertex(TopoDS::Edge(anEList.Last())));
-           } else {
-             anEBuilder1.Generated(anEList.First());
-             anEBuilder2.Generated(anEList.Last());
-             aVBuilder1.Generated(TopExp::FirstVertex(TopoDS::Edge(anEList.First())));
-             aVBuilder2.Generated(TopExp::LastVertex(TopoDS::Edge(anEList.First())));
-           }
-         }
-       }
-      }
-    }
-  }
-}
diff --git a/src/QANewBRepNaming/QANewBRepNaming_BooleanOperation.hxx b/src/QANewBRepNaming/QANewBRepNaming_BooleanOperation.hxx
deleted file mode 100644 (file)
index 2c1d70c..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-// Created on: 1999-09-27
-// Created by: Open CASCADE Support
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_BooleanOperation_HeaderFile
-#define _QANewBRepNaming_BooleanOperation_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_TopNaming.hxx>
-#include <Standard_Boolean.hxx>
-#include <TopAbs_ShapeEnum.hxx>
-class TDF_Label;
-class BRepAlgoAPI_BooleanOperation;
-class TopoDS_Shape;
-
-
-//! To load the BooleanOperation results
-class QANewBRepNaming_BooleanOperation  : public QANewBRepNaming_TopNaming
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT void Init (const TDF_Label& ResultLabel);
-  
-  //! Returns the label to insert modified faces of an Object.
-  Standard_EXPORT TDF_Label ModifiedFaces() const;
-  
-  //! Returns the label to insert modified edges of an Object.
-  Standard_EXPORT TDF_Label ModifiedEdges() const;
-  
-  //! Returns the label to insert deleted faces of an Object.
-  Standard_EXPORT TDF_Label DeletedFaces() const;
-  
-  //! Returns the label to insert deleted edges of an Object.
-  Standard_EXPORT TDF_Label DeletedEdges() const;
-  
-  //! Returns the label to insert deleted vertices of an Object.
-  Standard_EXPORT TDF_Label DeletedVertices() const;
-  
-  //! Returns the label to insert added shapes to an Object
-  //! (given from tool).
-  Standard_EXPORT TDF_Label NewShapes() const;
-  
-  Standard_EXPORT TDF_Label Content() const;
-  
-  Standard_EXPORT TDF_Label DeletedDegeneratedEdges() const;
-  
-  //! Returns true if the result is not the same as the object shape.
-  Standard_EXPORT Standard_Boolean IsResultChanged (BRepAlgoAPI_BooleanOperation& MakeShape) const;
-  
-  //! If the shape is a compound the method
-  //! returns the underlying shape type.
-  Standard_EXPORT static TopAbs_ShapeEnum ShapeType (const TopoDS_Shape& theShape);
-  
-  //! Returns true if workaround case identified
-  Standard_EXPORT static Standard_Boolean IsWRCase (const BRepAlgoAPI_BooleanOperation& theMS);
-  
-  //! Returns true if workaround case identified
-  Standard_EXPORT static Standard_Boolean IsWRCase2 (BRepAlgoAPI_BooleanOperation& MS);
-
-
-
-
-protected:
-
-  
-  Standard_EXPORT QANewBRepNaming_BooleanOperation();
-  
-  Standard_EXPORT QANewBRepNaming_BooleanOperation(const TDF_Label& ResultLabel);
-  
-  //! If the shape is a compound the method
-  //! returns the underlying shape.
-  Standard_EXPORT TopoDS_Shape GetShape (const TopoDS_Shape& theShape) const;
-  
-  //! A default implementation for naming of a wire as an object of
-  //! a boolean operation.
-  Standard_EXPORT void LoadWire (BRepAlgoAPI_BooleanOperation& MakeShape) const;
-  
-  //! A default implementation for naming of a shell as an object of
-  //! a boolean operation.
-  Standard_EXPORT void LoadShell (BRepAlgoAPI_BooleanOperation& MakeShape) const;
-  
-  //! Loads the content of the result.
-  Standard_EXPORT void LoadContent (BRepAlgoAPI_BooleanOperation& MakeShape) const;
-  
-  //! Loads the result.
-  Standard_EXPORT void LoadResult (BRepAlgoAPI_BooleanOperation& MakeShape) const;
-  
-  //! Loads the deletion of the degenerated edges.
-  Standard_EXPORT void LoadDegenerated (BRepAlgoAPI_BooleanOperation& MakeShape) const;
-  
-  //! To process special cases with evolution 1 to n
-  Standard_EXPORT void LoadModified1n (BRepAlgoAPI_BooleanOperation& theMS, const TopoDS_Shape& theShapeIn, const TopAbs_ShapeEnum theKindOfShape) const;
-  
-  //! To process special cases with evolution 1 to 1
-  Standard_EXPORT void LoadModified11 (BRepAlgoAPI_BooleanOperation& theMS, const TopoDS_Shape& theShapeIn, const TopAbs_ShapeEnum theKindOfShape) const;
-  
-  //! To process special case when result has symmetrical edges
-  Standard_EXPORT void LoadSymmetricalEdges (BRepAlgoAPI_BooleanOperation& theMS) const;
-  
-  Standard_EXPORT void LoadWRCase (BRepAlgoAPI_BooleanOperation& theMS) const;
-
-
-
-
-private:
-
-  
-  //! used inside LoadModified1n
-  Standard_EXPORT void Load1nFaces (BRepAlgoAPI_BooleanOperation& theMS, const TopoDS_Shape& theShapeIn) const;
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_BooleanOperation_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Box.cxx b/src/QANewBRepNaming/QANewBRepNaming_Box.cxx
deleted file mode 100644 (file)
index cf3676c..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-// Created on: 1999-09-24
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRepPrimAPI_MakeBox.hxx>
-#include <QANewBRepNaming_Box.hxx>
-#include <QANewBRepNaming_Loader.hxx>
-#include <Standard_NullObject.hxx>
-#include <TDF_Label.hxx>
-#include <TNaming_Builder.hxx>
-#include <TopoDS_Solid.hxx>
-
-//=======================================================================
-//function : QANewBRepNaming_Box
-//purpose  : 
-//=======================================================================
-QANewBRepNaming_Box::QANewBRepNaming_Box() {}
-
-//=======================================================================
-//function : QANewBRepNaming_Box
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Box::QANewBRepNaming_Box(const TDF_Label& Label)
-     : QANewBRepNaming_TopNaming(Label) {}
-
-//=======================================================================
-//function : Init
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Box::Init(const TDF_Label& Label) {
-  if(Label.IsNull())
-    throw Standard_NullObject("QANewBRepNaming_Box::Init The Result label is Null ...");
-  myResultLabel = Label;
-}  
-
-//=======================================================================
-//function : Load
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Box::Load (BRepPrimAPI_MakeBox& MS, const QANewBRepNaming_TypeOfPrimitive3D Type) const {
-  //Load the faces of the box :
-  TopoDS_Face BottomFace = MS.BottomFace ();
-  TNaming_Builder BottomFaceIns (Bottom ()); 
-  BottomFaceIns.Generated (BottomFace);
-  TopoDS_Face TopFace = MS.TopFace ();
-  TNaming_Builder TopFaceIns (Top ()); 
-  TopFaceIns.Generated (TopFace); 
-
-  TopoDS_Face FrontFace = MS.FrontFace ();
-  TNaming_Builder FrontFaceIns (Front ()); 
-  FrontFaceIns.Generated (FrontFace); 
-
-  TopoDS_Face RightFace = MS.RightFace ();
-  TNaming_Builder RightFaceIns (Right ()); 
-  RightFaceIns.Generated (RightFace); 
-
-  TopoDS_Face BackFace = MS.BackFace ();
-  TNaming_Builder BackFaceIns (Back ()); 
-  BackFaceIns.Generated (BackFace); 
-
-  TopoDS_Face LeftFace = MS.LeftFace ();
-  TNaming_Builder LeftFaceIns (Left ()); 
-  LeftFaceIns.Generated (LeftFace); 
-
-  TNaming_Builder Builder (ResultLabel());
-  if (Type == QANewBRepNaming_SOLID) Builder.Generated (MS.Solid());
-  else if (Type == QANewBRepNaming_SHELL) Builder.Generated (MS.Shell());
-  else {
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Box::Load(): Unexpected type of result"<<endl;
-    Builder.Generated (MS.Shape());
-#endif
-  }
-}
-
-//=======================================================================
-//function : Back
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Box::Back () const {
-  return ResultLabel().FindChild(1,Standard_True); 
-}
-
-//=======================================================================
-//function : Front
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Box::Front () const {
-  return ResultLabel().FindChild(2,Standard_True); 
-}
-
-//=======================================================================
-//function : Left
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Box::Left () const {
-  return ResultLabel().FindChild(3,Standard_True); 
-}
-
-//=======================================================================
-//function : Right
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Box::Right () const {
-  return ResultLabel().FindChild(4,Standard_True); 
-}
-
-//=======================================================================
-//function : Bottom
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Box::Bottom () const {
-  return ResultLabel().FindChild(5,Standard_True); 
-}
-
-//=======================================================================
-//function : Top
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Box::Top () const {
-  return ResultLabel().FindChild(6,Standard_True); 
-}
-
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Box.hxx b/src/QANewBRepNaming/QANewBRepNaming_Box.hxx
deleted file mode 100644 (file)
index 7634fcd..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-// Created on: 1999-09-24
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Box_HeaderFile
-#define _QANewBRepNaming_Box_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_TopNaming.hxx>
-#include <QANewBRepNaming_TypeOfPrimitive3D.hxx>
-class TDF_Label;
-class BRepPrimAPI_MakeBox;
-
-
-//! To load the Box results
-class QANewBRepNaming_Box  : public QANewBRepNaming_TopNaming
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_Box();
-  
-  Standard_EXPORT QANewBRepNaming_Box(const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Init (const TDF_Label& ResultLabel);
-  
-  //! Load  the box in  the data  framework
-  Standard_EXPORT void Load (BRepPrimAPI_MakeBox& MakeShape, const QANewBRepNaming_TypeOfPrimitive3D Type) const;
-  
-  //! Returns the label of the back face of a box .
-  Standard_EXPORT TDF_Label Back() const;
-  
-  //! Returns the label of the  bottom face of a box .
-  Standard_EXPORT TDF_Label Bottom() const;
-  
-  //! Returns the label of the  front face of a box .
-  Standard_EXPORT TDF_Label Front() const;
-  
-  //! Returns the label of the  left face of a box .
-  Standard_EXPORT TDF_Label Left() const;
-  
-  //! Returns the  label of the  right face of a box .
-  Standard_EXPORT TDF_Label Right() const;
-  
-  //! Returns the  label of the  top face of a box .
-  Standard_EXPORT TDF_Label Top() const;
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Box_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Chamfer.cxx b/src/QANewBRepNaming/QANewBRepNaming_Chamfer.cxx
deleted file mode 100644 (file)
index 206d3f3..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-// Created on: 1997-09-22
-// Created by: VAUTHIER Jean-Claude
-// Copyright (c) 1997-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRepFilletAPI_MakeChamfer.hxx>
-#include <QANewBRepNaming_Chamfer.hxx>
-#include <QANewBRepNaming_Loader.hxx>
-#include <Standard_NullObject.hxx>
-#include <TDF_Label.hxx>
-#include <TNaming_Builder.hxx>
-#include <TopoDS_Shape.hxx>
-
-//=======================================================================
-//function : QANewBRepNaming_Chamfer
-//purpose  : 
-//=======================================================================
-QANewBRepNaming_Chamfer::QANewBRepNaming_Chamfer()
-{}
-
-//=======================================================================
-//function : QANewBRepNaming_Chamfer
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Chamfer::QANewBRepNaming_Chamfer(const TDF_Label& ResultLabel):
-       QANewBRepNaming_TopNaming(ResultLabel)
-{}
-
-//=======================================================================
-//function : Init
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Chamfer::Init(const TDF_Label& ResultLabel)
-{
-  if(ResultLabel.IsNull())
-    throw Standard_NullObject("QANewBRepNaming_Chamfer::Init The Result label is Null ...");
-  myResultLabel = ResultLabel;
-}   
-
-//=======================================================================
-//function : Load
-//purpose  : 
-//=======================================================================
-
-void  QANewBRepNaming_Chamfer::Load (const TopoDS_Shape&  part,
-                               BRepFilletAPI_MakeChamfer& mkChamfer) const
-{
-  TNaming_Builder Ins(ResultLabel());
-  Ins.Modify (part, mkChamfer.Shape());
-
-  //New Faces generated from  edges
-  TNaming_Builder Builder1(FacesFromEdges());
-  QANewBRepNaming_Loader::LoadGeneratedShapes (mkChamfer, part, TopAbs_EDGE, Builder1);
-
-  //Faces of the initial shape modified by MakeChamfer
-  TNaming_Builder Builder2(ModifiedFaces());
-  QANewBRepNaming_Loader::LoadModifiedShapes (mkChamfer, part, TopAbs_FACE, Builder2, Standard_False);
-
-  //Deleted Faces of the initial shape
-  TNaming_Builder Builder3(DeletedFaces());
-  QANewBRepNaming_Loader::LoadDeletedShapes(mkChamfer, part, TopAbs_FACE, Builder3);
-}
-
-//=======================================================================
-//function : FacesFromEdges
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Chamfer::FacesFromEdges() const
-{
-  return ResultLabel().FindChild(1, Standard_True);
-}
-
-//=======================================================================
-//function : ModifiedFaces
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Chamfer::ModifiedFaces() const
-{
-  return ResultLabel().FindChild(2, Standard_True);
-}
-
-//=======================================================================
-//function : DeletedFaces
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Chamfer::DeletedFaces() const
-{
-  return ResultLabel().FindChild(3, Standard_True);
-}
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Chamfer.hxx b/src/QANewBRepNaming/QANewBRepNaming_Chamfer.hxx
deleted file mode 100644 (file)
index 837709b..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-// Created on: 1997-09-22
-// Created by: VAUTHIER Jean-Claude
-// Copyright (c) 1997-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Chamfer_HeaderFile
-#define _QANewBRepNaming_Chamfer_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_TopNaming.hxx>
-class TDF_Label;
-class TopoDS_Shape;
-class BRepFilletAPI_MakeChamfer;
-
-
-//! To load the Chamfer results
-class QANewBRepNaming_Chamfer  : public QANewBRepNaming_TopNaming
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_Chamfer();
-  
-  Standard_EXPORT QANewBRepNaming_Chamfer(const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Init (const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Load (const TopoDS_Shape& part, BRepFilletAPI_MakeChamfer& mkChamfer) const;
-  
-  //! Returns the label of faces generated from edges
-  Standard_EXPORT TDF_Label FacesFromEdges() const;
-  
-  //! Returns the label of modified faces
-  Standard_EXPORT TDF_Label ModifiedFaces() const;
-  
-  //! Returns the label of deleted faces
-  Standard_EXPORT TDF_Label DeletedFaces() const;
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Chamfer_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Common.cxx b/src/QANewBRepNaming/QANewBRepNaming_Common.cxx
deleted file mode 100644 (file)
index 5bcd399..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-// Created on: 2000-10-31
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 2000-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRep_Builder.hxx>
-#include <BRepAlgoAPI_BooleanOperation.hxx>
-#include <QANewBRepNaming_Common.hxx>
-#include <QANewBRepNaming_Loader.hxx>
-#include <TDF_Label.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TNaming_Tool.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shell.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
-#include <TopTools_MapOfShape.hxx>
-
-//=======================================================================
-//function : QANewBRepNaming_Common
-//purpose  : 
-//=======================================================================
-QANewBRepNaming_Common::QANewBRepNaming_Common() {}
-
-//=======================================================================
-//function : QANewBRepNaming_Common
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Common::QANewBRepNaming_Common(const TDF_Label& ResultLabel)
-     :QANewBRepNaming_BooleanOperation(ResultLabel) {}
-
-//=======================================================================
-//function : Load
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Common::Load(BRepAlgoAPI_BooleanOperation& MS) const {
-  TopoDS_Shape ResSh = MS.Shape();
-  if (ResSh.IsNull()) {
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Common::Load(): The result of the Common is null"<<endl;
-#endif
-    return;
-  }
-  enum BoolArguments {
-    SOLID_SOLID,
-    SOLID_SHELL,
-    SOLID_WIRE,
-    SHELL_SOLID,
-    SHELL_SHELL,
-    SHELL_WIRE,
-    WIRE_SOLID,
-    WIRE_SHELL,
-    WIRE_WIRE,
-    UNEXPECTED
-    };
-  const TopAbs_ShapeEnum& ResType = ShapeType(ResSh);
-  const TopoDS_Shape& ObjSh = MS.Shape1();
-  const TopoDS_Shape& ToolSh = MS.Shape2();
-
-  // If the shapes are the same - select the result and exit:
-  if (IsResultChanged(MS)) {
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Common::Load(): The object and the result of COMMON operation are the same"<<endl;
-#endif
-    if (ResType == TopAbs_COMPOUND) {
-      Standard_Integer nbSubResults = 0;
-      TopoDS_Iterator itr(MS.Shape());
-      for (; itr.More(); itr.Next()) nbSubResults++;
-      if (nbSubResults == 1) {
-       itr.Initialize(MS.Shape());
-       if (itr.More()) ResSh = itr.Value();
-      }
-    }    
-    TNaming_Builder aBuilder(ResultLabel());
-    aBuilder.Select(ResSh, ObjSh);
-    aBuilder.Select(ResSh, ToolSh);
-    return;
-  }
-  const TopAbs_ShapeEnum& anObjType = ShapeType(ObjSh);
-  const TopAbs_ShapeEnum& aToolType = ShapeType(ToolSh);
-  BoolArguments anArg;
-
-  switch (anObjType) 
-    {
-    case TopAbs_SOLID:
-      switch (aToolType)
-       {
-       case TopAbs_SOLID:
-         anArg = SOLID_SOLID;
-         break;
-       case TopAbs_SHELL:
-       case TopAbs_FACE:
-         anArg = SOLID_SHELL;
-         break;
-       case TopAbs_WIRE:
-       case TopAbs_EDGE:
-         anArg = SOLID_WIRE;
-         break;
-       default:
-         anArg = UNEXPECTED;
-       }
-      break;
-    case TopAbs_SHELL:
-    case TopAbs_FACE:
-      if(aToolType == TopAbs_SOLID)
-       anArg = SHELL_SOLID;
-      else anArg = UNEXPECTED;
-      break;
-    case TopAbs_WIRE:
-    case TopAbs_EDGE:
-      if(aToolType == TopAbs_SOLID)
-       anArg = WIRE_SOLID;
-      else anArg = UNEXPECTED;
-      break;
-    default:
-      anArg = UNEXPECTED;
-    }
-
-  if( anArg == UNEXPECTED) 
-    {
-#ifdef OCCT_DEBUG
-      cout <<"QANewBRepNaming_Common:: Unexpected Use Case" << endl;
-#endif
-      return;
-    } else 
-// Naming of the result:
-      LoadResult(MS);
-
-  // Naming of modified, deleted and new sub shapes:
-  if (anArg == SOLID_WIRE || anArg == WIRE_SOLID) { // Result => Wire/Edge
-    TopoDS_Shape aWire, aSolid;
-    if(anArg == WIRE_SOLID) {
-      aWire = ObjSh; aSolid = ToolSh;}
-    else {
-      aWire = ToolSh; aSolid = ObjSh;}
-//Modified
-    TNaming_Builder ModEBuilder(ModifiedEdges());    
-    QANewBRepNaming_Loader::LoadModifiedShapes(MS, aWire, TopAbs_EDGE, ModEBuilder, Standard_True);
-//Generated vertexes
-    if(MS.HasGenerated()) {  
-      TNaming_Builder nBuilder (NewShapes());
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, aWire,  TopAbs_EDGE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, aSolid, TopAbs_FACE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, aSolid, TopAbs_VERTEX, nBuilder);
-    }
-//Deleted (Faces, Edges, Vertexes)
-    if(MS.HasDeleted()){ 
-      TNaming_Builder DelFBuilder(DeletedFaces()); // all deleted shapes
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, aSolid, TopAbs_FACE,   DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, aWire,  TopAbs_EDGE,   DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, aWire,  TopAbs_VERTEX, DelFBuilder);
-    }
-  }
-  else if (anArg == SOLID_SHELL || anArg == SHELL_SOLID) { //Result: Shell/Face
-    TopoDS_Shape aShell;
-    if(anArg == SHELL_SOLID)
-      aShell = ObjSh;
-    else
-      aShell = ToolSh;
-//Modified
-    TNaming_Builder ModFBuilder(ModifiedFaces());
-    QANewBRepNaming_Loader::LoadModifiedShapes(MS, aShell, TopAbs_FACE, ModFBuilder, Standard_True);
-    TNaming_Builder ModEBuilder(ModifiedEdges());    
-    QANewBRepNaming_Loader::LoadModifiedShapes(MS, aShell, TopAbs_EDGE, ModEBuilder, Standard_True);
-//Generated edges (edges of free boundaries)
-  if(MS.HasGenerated()) {  
-    TNaming_Builder nBuilder (NewShapes());
-    QANewBRepNaming_Loader::LoadGeneratedShapes (MS, MS.Shape1(), TopAbs_FACE, nBuilder);
-    QANewBRepNaming_Loader::LoadGeneratedShapes (MS, MS.Shape2(), TopAbs_FACE, nBuilder);
-  }
-//Deleted
-    if(MS.HasDeleted()){ 
-      TNaming_Builder DelFBuilder(DeletedFaces());
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape1(), TopAbs_FACE, DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape2(), TopAbs_FACE, DelFBuilder);      
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, aShell,      TopAbs_EDGE, DelFBuilder);
-    }
-  }
-  else { //Solid
-#ifdef OCCT_DEBUG
-//    cout <<"Solid case - modified = " << MS.HasModified()<< endl;
-#endif
-    TNaming_Builder ModBuilder(ModifiedFaces());    
-    QANewBRepNaming_Loader::LoadModifiedShapes (MS, ObjSh,  TopAbs_FACE, ModBuilder, Standard_True);
-    QANewBRepNaming_Loader::LoadModifiedShapes (MS, ToolSh, TopAbs_FACE, ModBuilder, Standard_True);
-    if(MS.HasGenerated()) {
-      TNaming_Builder GenBuilder (NewShapes());
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ToolSh, TopAbs_FACE, GenBuilder);
-    }
-    if(MS.HasDeleted()){
-      TNaming_Builder DelBuilder(DeletedFaces());
-      QANewBRepNaming_Loader::LoadDeletedShapes  (MS, ObjSh,  TopAbs_FACE, DelBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes  (MS, ToolSh, TopAbs_FACE, DelBuilder);
-      
-    }
-  }    
-  LoadDegenerated(MS);
-
-  // Naming of the content:
-  if (ShapeType(ObjSh) == TopAbs_SOLID) LoadContent(MS);
-}
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Common.hxx b/src/QANewBRepNaming/QANewBRepNaming_Common.hxx
deleted file mode 100644 (file)
index 92c8acf..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-// Created on: 2000-10-31
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 2000-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Common_HeaderFile
-#define _QANewBRepNaming_Common_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_BooleanOperation.hxx>
-class TDF_Label;
-class BRepAlgoAPI_BooleanOperation;
-
-
-
-class QANewBRepNaming_Common  : public QANewBRepNaming_BooleanOperation
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_Common();
-  
-  Standard_EXPORT QANewBRepNaming_Common(const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Load (BRepAlgoAPI_BooleanOperation& MakeShape) const;
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Common_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Cut.cxx b/src/QANewBRepNaming/QANewBRepNaming_Cut.cxx
deleted file mode 100644 (file)
index 3de38eb..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-// Created on: 2000-10-31
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 2000-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRep_Builder.hxx>
-#include <BRepAlgoAPI_BooleanOperation.hxx>
-#include <QANewBRepNaming_Cut.hxx>
-#include <QANewBRepNaming_Loader.hxx>
-#include <TDF_Label.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TNaming_Tool.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shell.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
-#include <TopTools_ListOfShape.hxx>
-
-//=======================================================================
-//function : QANewBRepNaming_Cut
-//purpose  : 
-//=======================================================================
-QANewBRepNaming_Cut::QANewBRepNaming_Cut() {}
-
-//=======================================================================
-//function : QANewBRepNaming_Cut
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Cut::QANewBRepNaming_Cut(const TDF_Label& ResultLabel)
-     :QANewBRepNaming_BooleanOperation(ResultLabel) {}
-
-//=======================================================================
-//function : Load
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Cut::Load(BRepAlgoAPI_BooleanOperation& MS) const {
-
-  TopoDS_Shape ResSh = MS.Shape();
-  const TopoDS_Shape& ObjSh = MS.Shape1();
-  const TopoDS_Shape& ToolSh = MS.Shape2();
-  const TopAbs_ShapeEnum& TypeSh = ShapeType(ObjSh);
-
-  if (ResSh.IsNull()) {
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Cut::Load(): The result of the boolean operation is null"<<endl;
-#endif
-    return;
-  }
-
-  // If the shapes are the same - select the result and exit:
-  if (IsResultChanged(MS)) {
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Cut::Load(): The object and the result of CUT operation are the same"<<endl;
-#endif
-    if (MS.Shape().ShapeType() == TopAbs_COMPOUND) {
-      Standard_Integer nbSubResults = 0;
-      TopoDS_Iterator itr(MS.Shape());
-      for (; itr.More(); itr.Next()) nbSubResults++;
-      if (nbSubResults == 1) { //
-       itr.Initialize(MS.Shape());
-       if (itr.More()) ResSh = itr.Value();
-      } //
-    }    
-    TNaming_Builder aBuilder(ResultLabel());
-    aBuilder.Select(ResSh, ObjSh);
-    return;
-  }
-  //
-  Standard_Boolean aWRCase = IsWRCase(MS);
-  // Naming of the result:
-  LoadResult(MS);
-
-  // Naming of modified, deleted and new sub shapes:
-  if (TypeSh == TopAbs_WIRE || TypeSh == TopAbs_EDGE) {//LoadWire(MS);
-//Modified
-    TNaming_Builder ModEBuilder(ModifiedEdges());    
-    QANewBRepNaming_Loader::LoadModifiedShapes(MS, ObjSh, TopAbs_EDGE, ModEBuilder, Standard_True);
-//Generated vertexes
-    if(MS.HasGenerated()) {  
-      TNaming_Builder nBuilder (NewShapes());
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ObjSh,  TopAbs_EDGE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ToolSh, TopAbs_FACE, nBuilder);
-    }
-//Deleted (Faces, Edges, Vertexes)
-    if(MS.HasDeleted()){ 
-      TNaming_Builder DelFBuilder(DeletedFaces()); // all deleted shapes
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ObjSh,  TopAbs_EDGE,   DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ObjSh,  TopAbs_VERTEX, DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ToolSh, TopAbs_FACE,   DelFBuilder);
-    }
-
-  }
-  else if (TypeSh == TopAbs_SHELL || TypeSh == TopAbs_FACE) {//LoadShell(MS);
-//Modified
-    if(!aWRCase) {
-      TNaming_Builder ModFBuilder(ModifiedFaces());
-      QANewBRepNaming_Loader::LoadModifiedShapes(MS, ObjSh, TopAbs_FACE, ModFBuilder, Standard_True);
-    } else {
-      LoadSymmetricalEdges(MS);
-      LoadModified1n (MS, ObjSh, TopAbs_FACE);
-      LoadModified11 (MS, ObjSh,  TopAbs_FACE);
-    }
-    TNaming_Builder ModEBuilder(ModifiedEdges());    
-    QANewBRepNaming_Loader::LoadModifiedShapes(MS, ObjSh, TopAbs_EDGE, ModEBuilder, Standard_True);
-//
-
-
-//Generated edges (edges of free boundaries)
-    if(MS.HasGenerated()) {  
-      TNaming_Builder nBuilder (NewShapes());
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ObjSh,  TopAbs_FACE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ToolSh, TopAbs_FACE, nBuilder);
-    }
-//Deleted
-    if(MS.HasDeleted()){ 
-      TNaming_Builder DelFBuilder(DeletedFaces());
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ObjSh,  TopAbs_FACE, DelFBuilder);     
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ObjSh,  TopAbs_EDGE, DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ToolSh, TopAbs_FACE, DelFBuilder); 
-    }
-  }
-  else { // Solid
-    
-    if(MS.HasModified()){
-      if(aWRCase) {
-       LoadSymmetricalEdges(MS);
-       LoadModified1n (MS, ObjSh,  TopAbs_FACE);
-       LoadModified11 (MS, ObjSh,  TopAbs_FACE);
-       LoadModified11 (MS, ToolSh, TopAbs_FACE);
-      } else if(QANewBRepNaming_BooleanOperation::IsWRCase2(MS)) {
-       LoadModified1n (MS, ObjSh,  TopAbs_FACE);
-       LoadModified11 (MS, ObjSh,  TopAbs_FACE);
-       LoadModified11 (MS, ToolSh, TopAbs_FACE);
-       LoadWRCase(MS);
-      } else {
-       TNaming_Builder ModBuilder(ModifiedFaces()); 
-       QANewBRepNaming_Loader::LoadModifiedShapes (MS, ObjSh,  TopAbs_FACE, ModBuilder, Standard_True);
-       QANewBRepNaming_Loader::LoadModifiedShapes (MS, ToolSh, TopAbs_FACE, ModBuilder, Standard_True);
-      }
-    }
-    
-    
-    if(MS.HasDeleted()){
-      TNaming_Builder DelBuilder(DeletedFaces());
-      QANewBRepNaming_Loader::LoadDeletedShapes (MS, ObjSh,  TopAbs_FACE, DelBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes (MS, ToolSh, TopAbs_FACE, DelBuilder);     
-    }
-  }
-
-  LoadDegenerated(MS);
-    
-  // Naming of the content:
-  if (ShapeType(ObjSh) == TopAbs_SOLID) LoadContent(MS);
-}
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Cut.hxx b/src/QANewBRepNaming/QANewBRepNaming_Cut.hxx
deleted file mode 100644 (file)
index 857b50d..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-// Created on: 2000-10-31
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 2000-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Cut_HeaderFile
-#define _QANewBRepNaming_Cut_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_BooleanOperation.hxx>
-class TDF_Label;
-class BRepAlgoAPI_BooleanOperation;
-
-
-
-class QANewBRepNaming_Cut  : public QANewBRepNaming_BooleanOperation
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_Cut();
-  
-  Standard_EXPORT QANewBRepNaming_Cut(const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Load (BRepAlgoAPI_BooleanOperation& MakeShape) const;
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Cut_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Cylinder.cxx b/src/QANewBRepNaming/QANewBRepNaming_Cylinder.cxx
deleted file mode 100644 (file)
index bc7aa65..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-// Created on: 2000-10-31
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 2000-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRepPrimAPI_MakeCylinder.hxx>
-#include <QANewBRepNaming_Cylinder.hxx>
-#include <Standard_NullObject.hxx>
-#include <TDF_Label.hxx>
-#include <TNaming_Builder.hxx>
-#include <TopoDS_Solid.hxx>
-
-#ifdef OCCT_DEBUG
-#include <TDataStd_Name.hxx>
-#endif
-
-//=======================================================================
-//function : QANewBRepNaming_Cylinder
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Cylinder::QANewBRepNaming_Cylinder() {}
-
-//=======================================================================
-//function : QANewBRepNaming_Cylinder
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Cylinder::QANewBRepNaming_Cylinder(const TDF_Label& ResultLabel):
-       QANewBRepNaming_TopNaming(ResultLabel) {}
-
-//=======================================================================
-//function : Init
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Cylinder::Init(const TDF_Label& ResultLabel) {
-  if(ResultLabel.IsNull())
-    throw Standard_NullObject("QANewBRepNaming_Cylinder::Init The Result label is Null ...");
-  myResultLabel = ResultLabel;
-}    
-
-//=======================================================================
-//function : Bottom
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Cylinder::Bottom() const {
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(ResultLabel().FindChild(1, Standard_True), "Bottom");
-#endif
-  return ResultLabel().FindChild(1, Standard_True);
-}
-
-//=======================================================================
-//function : Top
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Cylinder::Top() const {
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(ResultLabel().FindChild(2, Standard_True), "Top");
-#endif
-  return ResultLabel().FindChild(2, Standard_True);
-}
-
-//=======================================================================
-//function : Lateral
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Cylinder::Lateral() const {
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(ResultLabel().FindChild(3, Standard_True), "Lateral");
-#endif
-  return ResultLabel().FindChild(3, Standard_True);
-}
-
-//=======================================================================
-//function : StartSide
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Cylinder::StartSide() const {
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(ResultLabel().FindChild(4, Standard_True), "StartSide");
-#endif
-  return ResultLabel().FindChild(4, Standard_True);
-}
-
-//=======================================================================
-//function : EndSide
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Cylinder::EndSide() const {
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(ResultLabel().FindChild(5, Standard_True), "EndSide");
-#endif
-  return ResultLabel().FindChild(5, Standard_True);
-}
-
-//=======================================================================
-//function : Load (Cylinder)
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Cylinder::Load (BRepPrimAPI_MakeCylinder& mkCylinder,
-                               const QANewBRepNaming_TypeOfPrimitive3D Type) const
-{
-  BRepPrim_Cylinder& S = mkCylinder.Cylinder();
-
-  if (S.HasBottom()) {
-    TopoDS_Face BottomFace = S.BottomFace();
-    TNaming_Builder BottomFaceIns(Bottom()); 
-    BottomFaceIns.Generated(BottomFace); 
-  }
-
-  if (S.HasTop()) {
-    TopoDS_Face TopFace = S.TopFace();
-    TNaming_Builder TopFaceIns(Top()); 
-    TopFaceIns.Generated(TopFace); 
-  }
-
-  TopoDS_Face LateralFace = S.LateralFace();
-  TNaming_Builder LateralFaceIns(Lateral()); 
-  LateralFaceIns.Generated(LateralFace); 
-
-  if (S.HasSides()) {
-    TopoDS_Face StartFace = S.StartFace();
-    TNaming_Builder StartFaceIns(StartSide()); 
-    StartFaceIns.Generated(StartFace); 
-    TopoDS_Face EndFace = S.EndFace();
-    TNaming_Builder EndFaceIns(EndSide()); 
-    EndFaceIns.Generated(EndFace); 
-  }
-
-  TNaming_Builder Builder (ResultLabel());
-  if (Type == QANewBRepNaming_SOLID) Builder.Generated (mkCylinder.Solid());
-  else if (Type == QANewBRepNaming_SHELL) Builder.Generated (mkCylinder.Shell());
-  else {
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Cylinder::Load(): Unexpected type of result"<<endl;
-    Builder.Generated (mkCylinder.Shape());
-#endif
-  }
-}
-
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Cylinder.hxx b/src/QANewBRepNaming/QANewBRepNaming_Cylinder.hxx
deleted file mode 100644 (file)
index dfe76cf..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-// Created on: 1997-08-22
-// Created by: VAUTHIER Jean-Claude
-// Copyright (c) 1997-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Cylinder_HeaderFile
-#define _QANewBRepNaming_Cylinder_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_TopNaming.hxx>
-#include <QANewBRepNaming_TypeOfPrimitive3D.hxx>
-class TDF_Label;
-class BRepPrimAPI_MakeCylinder;
-
-
-//! To load the Cylinder results
-class QANewBRepNaming_Cylinder  : public QANewBRepNaming_TopNaming
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_Cylinder();
-  
-  Standard_EXPORT QANewBRepNaming_Cylinder(const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Init (const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Load (BRepPrimAPI_MakeCylinder& mkCylinder, const QANewBRepNaming_TypeOfPrimitive3D Type) const;
-  
-  //! Returns the label of the bottom
-  //! face of the cylinder.
-  Standard_EXPORT TDF_Label Bottom() const;
-  
-  //! Returns the label of the top
-  //! face of the cylinder.
-  Standard_EXPORT TDF_Label Top() const;
-  
-  //! Returns the label of the lateral
-  //! face of the cylinder.
-  Standard_EXPORT TDF_Label Lateral() const;
-  
-  //! Returns the label of the first
-  //! side of the cylinder
-  Standard_EXPORT TDF_Label StartSide() const;
-  
-  //! Returns the label of the second
-  //! side of the cylinder.
-  Standard_EXPORT TDF_Label EndSide() const;
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Cylinder_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Fillet.cxx b/src/QANewBRepNaming/QANewBRepNaming_Fillet.cxx
deleted file mode 100644 (file)
index 2f81ffb..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-// Created on: 2001-07-02
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 2001-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <Adaptor3d_HCurve.hxx>
-#include <BRepAdaptor_Surface.hxx>
-#include <BRepFilletAPI_MakeFillet.hxx>
-#include <BRepGProp.hxx>
-#include <GeomAbs_CurveType.hxx>
-#include <GeomAbs_SurfaceType.hxx>
-#include <gp_Pnt.hxx>
-#include <gp_Vec.hxx>
-#include <GProp_GProps.hxx>
-#include <QANewBRepNaming_Fillet.hxx>
-#include <QANewBRepNaming_Loader.hxx>
-#include <Standard_NullObject.hxx>
-#include <TDF_Label.hxx>
-#include <TNaming_Builder.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shape.hxx>
-
-//=======================================================================
-//function : QANewBRepNaming_Fillet
-//purpose  :
-//=======================================================================
-QANewBRepNaming_Fillet::QANewBRepNaming_Fillet()
-{}
-
-//=======================================================================
-//function : QANewBRepNaming_Fillet
-//purpose  :
-//=======================================================================
-
-QANewBRepNaming_Fillet::QANewBRepNaming_Fillet(const TDF_Label& theLabel):
-       QANewBRepNaming_TopNaming(theLabel)
-{}
-
-//=======================================================================
-//function : Init
-//purpose  :
-//=======================================================================
-
-void QANewBRepNaming_Fillet::Init(const TDF_Label& theLabel)
-{
-  if(theLabel.IsNull())
-    throw Standard_NullObject("QANewBRepNaming_Fillet::Init: The Result label is Null ...");
-  myResultLabel = theLabel;
-}
-
-
-//=======================================================================
-//function :
-//purpose  :
-//=======================================================================
-static Standard_Boolean IsValidSurfType(const TopoDS_Face& theFace) {
-  BRepAdaptor_Surface anAdapt(theFace);
-  Handle( Adaptor3d_HCurve ) aBasisCurve;
-  const GeomAbs_SurfaceType& aType = anAdapt.GetType();
-  if(aType == GeomAbs_Cylinder || aType == GeomAbs_Cone)
-    return Standard_True;
-  else if(aType == GeomAbs_SurfaceOfRevolution){
-    aBasisCurve = anAdapt.BasisCurve();
-    if (aBasisCurve->GetType() == GeomAbs_Line)
-      return Standard_True;
-  }
-  else if(aType == GeomAbs_SurfaceOfExtrusion) {
-    aBasisCurve = anAdapt.BasisCurve();
-    if (aBasisCurve->GetType() == GeomAbs_Circle || aBasisCurve->GetType() == GeomAbs_Ellipse)
-      return Standard_True;
-  }
-  return Standard_False;
-}
-
-//=======================================================================
-//function : Load
-//purpose  :
-//=======================================================================
-
-void QANewBRepNaming_Fillet::Load(const TopoDS_Shape& theContext,
-                            BRepFilletAPI_MakeFillet& theMkFillet) const
-{
-  TNaming_Builder aFilletBuilder(ResultLabel());
-  TopoDS_Shape aResult = theMkFillet.Shape();
-
-  if (aResult.ShapeType() == TopAbs_COMPOUND) {
-    Standard_Integer nbSubResults = 0;
-    TopoDS_Iterator itr(aResult);
-    for (; itr.More(); itr.Next()) nbSubResults++;
-    if (nbSubResults == 1) {
-      itr.Initialize(aResult);
-      if (itr.More()) aResult = itr.Value();
-    }
-  }
-  if (aResult.IsNull()) aFilletBuilder.Generated(aResult);
-  else
-    aFilletBuilder.Modify(theContext, aResult);
-
-  //WARNING: Not implemented case:
-  // Cut cylinder by Shpere, shpere cuts lateral and top face of cylinder.
-  // SIM edges of cylinder and sphere not intersected.
-  // Result of fillet do not intersects SIM edge of cylinder
-
-  // Try to edintify workaround with intersection of SIM edge.
-  const TopAbs_ShapeEnum& Type = theContext.ShapeType();
-  Standard_Boolean IsFound = Standard_False;
-  if(Type  != TopAbs_COMPOUND || Type < TopAbs_FACE) {
-    // Check for SIM edge presence in some face
-    TopExp_Explorer anExp(theContext, TopAbs_FACE);
-
-    for(;anExp.More();anExp.Next()) {
-      if(IsValidSurfType(TopoDS::Face(anExp.Current()))) {
-       IsFound = Standard_True;
-       break;
-      }
-    }
-  }
-
-  Standard_Boolean IsWRCase = Standard_False;
-  FacesFromEdges().ForgetAllAttributes();
-
-  if(IsFound) {
-    TopExp_Explorer ShapeExplorer (theContext, TopAbs_EDGE);
-    for (; ShapeExplorer.More(); ShapeExplorer.Next ()) {
-      const TopoDS_Shape& aRoot = ShapeExplorer.Current ();
-      const TopTools_ListOfShape& aShapes = theMkFillet.Generated (aRoot);
-      if(aShapes.Extent() == 2) {
-       if(aShapes.First().ShapeType() == TopAbs_FACE && aShapes.Last().ShapeType() == TopAbs_FACE) {
-         IsWRCase = Standard_True;
-         GProp_GProps aF1Props, aF2Props;
-         BRepGProp::SurfaceProperties(aShapes.First(), aF1Props);
-         BRepGProp::SurfaceProperties(aShapes.Last(), aF2Props);
-         TNaming_Builder aF1Builder(WRFace1());
-         TNaming_Builder aF2Builder(WRFace2());
-
-         // Naming of Faces
-         TopoDS_Shape aLessFace;
-         if(aF1Props.Mass() < aF2Props.Mass()) {
-           aLessFace = aShapes.First();
-           aF1Builder.Generated(aShapes.First());
-           aF2Builder.Generated(aShapes.Last());
-         } else {
-           aLessFace = aShapes.Last();
-           aF1Builder.Generated(aShapes.Last());
-           aF2Builder.Generated(aShapes.First());
-         }
-
-         // Naming of Common Edges
-         TopExp_Explorer anExp1(aShapes.First(), TopAbs_EDGE);
-         TopTools_ListOfShape aCommonEdges;
-         for(;anExp1.More();anExp1.Next()) {
-           TopExp_Explorer anExp2(aShapes.Last(), TopAbs_EDGE);
-           for(;anExp2.More();anExp2.Next())
-             if(anExp1.Current().IsSame(anExp2.Current())) {
-               aCommonEdges.Append(anExp1.Current());
-               break;
-             }
-         }
-
-         if(aCommonEdges.Extent() != 2)
-           break;
-
-         anExp1.Init(aLessFace, TopAbs_EDGE);
-         TopTools_ListOfShape anOtherEdges;
-         for(;anExp1.More();anExp1.Next()) {
-           if(!anExp1.Current().IsSame(aCommonEdges.First()) && !anExp1.Current().IsSame(aCommonEdges.Last()))
-             anOtherEdges.Append(anExp1.Current());
-         }
-
-         GProp_GProps anE1Props, anE2Props;
-         BRepGProp::LinearProperties(anOtherEdges.First(), anE1Props);
-         BRepGProp::LinearProperties(anOtherEdges.Last(), anE2Props);
-         gp_Pnt P1, P2;
-         if(anE1Props.Mass() < anE2Props.Mass()) {
-           P1 = anE1Props.CentreOfMass();
-           P2 = anE2Props.CentreOfMass();
-         } else {
-           P1 = anE2Props.CentreOfMass();
-           P2 = anE1Props.CentreOfMass();
-         }
-
-         BRepGProp::LinearProperties(aCommonEdges.First(), anE1Props);
-         BRepGProp::LinearProperties(aCommonEdges.Last(), anE2Props);
-
-         gp_Pnt EP1 = anE1Props.CentreOfMass();
-         gp_Pnt EP2 = anE2Props.CentreOfMass();
-
-         gp_Vec aMainVec(P1, P2);
-         gp_Vec aV1(P1, EP1);
-         gp_Vec aV2(P1, EP2);
-#ifdef OCCT_DEBUG
-         cout << "P1=" << P1.X() << " " << P1.Y() << " " << P1.Z() << endl;
-         cout << "P2=" << P2.X() << " " << P2.Y() << " " << P2.Z() << endl;
-         cout << "EP1=" << EP1.X() << " " << EP1.Y() << " " << EP1.Z() << endl;
-         cout << "EP2=" << EP2.X() << " " << EP2.Y() << " " << EP2.Z() << endl;
-         cout << endl;
-#endif
-
-         gp_Vec aCr1 = aMainVec.Crossed(aV1);
-         gp_Vec aCr2 = aMainVec.Crossed(aV2);
-         TopoDS_Shape aFirst, aSecond;
-         if(aCr1.X() > 0 && aCr2.X() < 0) {
-           aFirst = aCommonEdges.First();
-           aSecond = aCommonEdges.Last();
-         } else if(aCr2.X() > 0 && aCr1.X() < 0) {
-           aFirst = aCommonEdges.Last();
-           aSecond = aCommonEdges.First();
-         } else if(aCr1.Y() > 0 && aCr2.Y() < 0) {
-           aFirst = aCommonEdges.First();
-           aSecond = aCommonEdges.Last();
-         } else if(aCr2.Y() > 0 && aCr1.Y() < 0) {
-           aFirst = aCommonEdges.Last();
-           aSecond = aCommonEdges.First();
-         } else if(aCr1.Z() > 0 && aCr2.Z() < 0) {
-           aFirst = aCommonEdges.First();
-           aSecond = aCommonEdges.Last();
-         } else if(aCr2.Z() > 0 && aCr1.Z() < 0) {
-           aFirst = aCommonEdges.Last();
-           aSecond = aCommonEdges.First();
-         }
-
-         TNaming_Builder anE1Builder(WREdge1());
-         TNaming_Builder anE2Builder(WREdge2());
-         anE1Builder.Generated(aFirst);
-         anE2Builder.Generated(aSecond);
-
-         break;
-       }
-      }
-    }
-  }
-
-  if(!IsWRCase) {
-    WRFace1().ForgetAllAttributes();
-    WRFace2().ForgetAllAttributes();
-    WREdge1().ForgetAllAttributes();
-    WREdge2().ForgetAllAttributes();
-    //New faces generated from edges
-    TNaming_Builder anEFacesBuilder(FacesFromEdges());
-    QANewBRepNaming_Loader::LoadGeneratedShapes(theMkFillet, theContext, TopAbs_EDGE, anEFacesBuilder);
-  }
-
-  //Faces of the initial shape modified by theMkFillet
-  TNaming_Builder aMFacesBuilder(ModifiedFaces());
-  QANewBRepNaming_Loader::LoadModifiedShapes(theMkFillet, theContext, TopAbs_FACE, aMFacesBuilder, Standard_False);
-
-  //Deleted faces of the initial shape
-  TNaming_Builder aDFacesBuilder(DeletedFaces());
-    QANewBRepNaming_Loader::LoadDeletedShapes(theMkFillet, theContext, TopAbs_FACE, aDFacesBuilder);
-
-  //New faces generated from vertices
-  TNaming_Builder aVFacesBuilder(FacesFromVertices());
-  QANewBRepNaming_Loader::LoadGeneratedShapes(theMkFillet, theContext, TopAbs_VERTEX, aVFacesBuilder);
-}
-
-//=======================================================================
-//function : DeletedFaces
-//purpose  :
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Fillet::DeletedFaces() const
-{
-  return ResultLabel().FindChild(1, Standard_True);
-}
-
-//=======================================================================
-//function : ModifiedFaces
-//purpose  :
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Fillet::ModifiedFaces() const
-{
-  return ResultLabel().FindChild(2, Standard_True);
-}
-
-//=======================================================================
-//function : FacesFromEdges
-//purpose  :
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Fillet::FacesFromEdges() const
-{
-  return ResultLabel().FindChild(4, Standard_True);
-}
-
-//=======================================================================
-//function : FacesFromVertices
-//purpose  :
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Fillet::FacesFromVertices() const
-{
-  return ResultLabel().FindChild(3, Standard_True);
-}
-
-
-//=======================================================================
-//function :
-//purpose  :
-//=======================================================================
-TDF_Label QANewBRepNaming_Fillet::WRFace1() const
-{
-  return ResultLabel().FindChild(4, Standard_True);
-}
-
-
-//=======================================================================
-//function :
-//purpose  :
-//=======================================================================
-TDF_Label QANewBRepNaming_Fillet::WRFace2() const
-{
-  return ResultLabel().FindChild(5, Standard_True);
-}
-
-
-//=======================================================================
-//function :
-//purpose  :
-//=======================================================================
-TDF_Label QANewBRepNaming_Fillet::WREdge1() const
-{
-  return ResultLabel().FindChild(6, Standard_True);
-}
-
-
-//=======================================================================
-//function :
-//purpose  :
-//=======================================================================
-TDF_Label QANewBRepNaming_Fillet::WREdge2() const
-{
-  return ResultLabel().FindChild(7, Standard_True);
-}
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Fillet.hxx b/src/QANewBRepNaming/QANewBRepNaming_Fillet.hxx
deleted file mode 100644 (file)
index 0938115..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-// Created on: 1999-10-08
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Fillet_HeaderFile
-#define _QANewBRepNaming_Fillet_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_TopNaming.hxx>
-class TDF_Label;
-class TopoDS_Shape;
-class BRepFilletAPI_MakeFillet;
-
-
-//! For topological naming of a fillet
-class QANewBRepNaming_Fillet  : public QANewBRepNaming_TopNaming
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_Fillet();
-  
-  Standard_EXPORT QANewBRepNaming_Fillet(const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Init (const TDF_Label& ResultLabel);
-  
-  //! Loads a fillet in a data framework
-  Standard_EXPORT void Load (const TopoDS_Shape& part, BRepFilletAPI_MakeFillet& mkFillet) const;
-  
-  //! Returns a label for deleted faces of the part.
-  Standard_EXPORT TDF_Label DeletedFaces() const;
-  
-  //! Returns a label for modified faces of the part.
-  Standard_EXPORT TDF_Label ModifiedFaces() const;
-  
-  //! Returns a label for faces generated from edges of the part.
-  Standard_EXPORT TDF_Label FacesFromEdges() const;
-  
-  //! Returns a label for faces generated from vertices of the part.
-  Standard_EXPORT TDF_Label FacesFromVertices() const;
-  
-  //! Returns a label for WorkAround Face number 1
-  Standard_EXPORT TDF_Label WRFace1() const;
-  
-  //! Returns a label for WorkAround Face number 2
-  Standard_EXPORT TDF_Label WRFace2() const;
-  
-  //! Returns a label for WorkAround Edge number 1
-  Standard_EXPORT TDF_Label WREdge1() const;
-  
-  //! Returns a label for WorkAround Edge number 2
-  Standard_EXPORT TDF_Label WREdge2() const;
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Fillet_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Fuse.cxx b/src/QANewBRepNaming/QANewBRepNaming_Fuse.cxx
deleted file mode 100644 (file)
index ee54636..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-// Created on: 2000-10-31
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 2000-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRepAlgoAPI_BooleanOperation.hxx>
-#include <QANewBRepNaming_Fuse.hxx>
-#include <QANewBRepNaming_Loader.hxx>
-#include <TDF_Label.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TNaming_Tool.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
-
-//=======================================================================
-//function : QANewBRepNaming_Fuse
-//purpose  : 
-//=======================================================================
-QANewBRepNaming_Fuse::QANewBRepNaming_Fuse() {}
-
-//=======================================================================
-//function : QANewBRepNaming_Fuse
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Fuse::QANewBRepNaming_Fuse(const TDF_Label& ResultLabel)
-     :QANewBRepNaming_BooleanOperation(ResultLabel) {}
-
-
-//=======================================================================
-//function : Load
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Fuse::Load(BRepAlgoAPI_BooleanOperation& MS) const {
-  const TopoDS_Shape& ResSh = MS.Shape();
-  const TopoDS_Shape& ObjSh = MS.Shape1();
-  const TopoDS_Shape& ToolSh = MS.Shape2();
-
-  if (ResSh.IsNull()) {
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Fuse::Load(): The result of the boolean operation is null"<<endl;
-#endif
-    return;
-  }
-
-  // Naming of the result:
-  LoadResult(MS);
-
-  // Naming of modified faces: 
-  TNaming_Builder ModBuilder(ModifiedFaces());    
-  QANewBRepNaming_Loader::LoadModifiedShapes (MS, ObjSh,  TopAbs_FACE, ModBuilder, Standard_True);  
-  QANewBRepNaming_Loader::LoadModifiedShapes (MS, ToolSh, TopAbs_FACE, ModBuilder, Standard_True);    
-
-  // Naming of deleted faces:
-  if(MS.HasDeleted()){
-    TNaming_Builder DelBuilder(DeletedFaces());
-    QANewBRepNaming_Loader::LoadDeletedShapes  (MS, ObjSh,  TopAbs_FACE, DelBuilder);
-    QANewBRepNaming_Loader::LoadDeletedShapes  (MS, ToolSh, TopAbs_FACE, DelBuilder);
-  }
-
-  // Naming of the content of the result:
-  LoadContent(MS);
-}
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Fuse.hxx b/src/QANewBRepNaming/QANewBRepNaming_Fuse.hxx
deleted file mode 100644 (file)
index ae6e902..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-// Created on: 2000-10-31
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 2000-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Fuse_HeaderFile
-#define _QANewBRepNaming_Fuse_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_BooleanOperation.hxx>
-class TDF_Label;
-class BRepAlgoAPI_BooleanOperation;
-
-
-
-class QANewBRepNaming_Fuse  : public QANewBRepNaming_BooleanOperation
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_Fuse();
-  
-  Standard_EXPORT QANewBRepNaming_Fuse(const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Load (BRepAlgoAPI_BooleanOperation& MakeShape) const;
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Fuse_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Gluing.cxx b/src/QANewBRepNaming/QANewBRepNaming_Gluing.cxx
deleted file mode 100644 (file)
index cbb9a2c..0000000
+++ /dev/null
@@ -1,522 +0,0 @@
-// Created on: 2001-11-26
-// Created by: Sergey ZARITCHNY <szy@nnov.matra-dtv.fr>
-// Copyright (c) 2001-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRep_Builder.hxx>
-#include <BRep_Tool.hxx>
-#include <gp_Pnt.hxx>
-#include <Precision.hxx>
-#include <QANewBRepNaming_Gluing.hxx>
-#include <QANewModTopOpe_Glue.hxx>
-#include <Standard_NullObject.hxx>
-#include <TColStd_MapOfInteger.hxx>
-#include <TDataStd_IntegerArray.hxx>
-#include <TDF_AttributeMap.hxx>
-#include <TDF_ChildIDIterator.hxx>
-#include <TDF_Label.hxx>
-#include <TDF_MapIteratorOfAttributeMap.hxx>
-#include <TDF_MapIteratorOfLabelMap.hxx>
-#include <TDF_TagSource.hxx>
-#include <TDF_Tool.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_Iterator.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TNaming_Selector.hxx>
-#include <TNaming_Tool.hxx>
-#include <TopAbs.hxx>
-#include <TopExp.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS.hxx>
-#include <TopoDS_Compound.hxx>
-#include <TopoDS_Edge.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopoDS_Vertex.hxx>
-#include <TopTools_DataMapIteratorOfDataMapOfShapeListOfShape.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
-
-#ifdef OCCT_DEBUG
-#include <TDataStd_Name.hxx>
-#endif
-
-#define SOURCES_SUBLABEL 1
-
-//=======================================================================
-//function : QANewBRepNaming_Gluing
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Gluing::QANewBRepNaming_Gluing() {}
-
-//=======================================================================
-//function : QANewBRepNaming_Gluing
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Gluing::QANewBRepNaming_Gluing(const TDF_Label& ResultLabel):QANewBRepNaming_TopNaming(ResultLabel) {}
-
-//=======================================================================
-//function : Init
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Gluing::Init(const TDF_Label& ResultLabel) {  
-  if(ResultLabel.IsNull()) 
-    throw Standard_NullObject("QANewBRepNaming_Gluing::Init The Result label is Null ...");
-  myResultLabel = ResultLabel; 
-}
-
-//=======================================================================
-//function : Load
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Gluing::Load(QANewModTopOpe_Glue& theMkGluing) {
-  TopoDS_Shape aResShape  = theMkGluing.Shape();
-  const TopoDS_Shape& anObjShape = theMkGluing.Shape1();
-
-  if (aResShape.IsNull()) {
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Gluing::Load(): The result of the Gluing operation is null"<<endl;
-#endif
-    return;
-  }
-  // If the shapes are the same - select the result and exit:
-  if (IsResultChanged(theMkGluing)) {
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Gluing::Load(): The object and the result of the operation are the same"<<endl;
-#endif
-    if (aResShape.ShapeType() == TopAbs_COMPOUND) {
-      Standard_Integer aNbSubResults = 0;
-      TopoDS_Iterator anItr(theMkGluing.Shape());
-      for (; anItr.More(); anItr.Next()) aNbSubResults++;
-      if (aNbSubResults == 1) {
-       anItr.Initialize(aResShape);
-       if (anItr.More()) aResShape = anItr.Value();
-      }
-    }    
-    TNaming_Builder aBuilder(ResultLabel());
-    aBuilder.Select(aResShape, anObjShape);
-    return;
-  }
-  // Naming of the result:
-//   cout<<"********** RecomputeUnique"<<endl;
-  RecomputeUnique(theMkGluing);
-  TopTools_DataMapOfShapeInteger aSources;
-
-//   cout<<"********** LoadSourceShapes"<<endl;
-  LoadSourceShapes(aSources);
-//mpv (there is must be shared elements anyway)  if(theMkGluing.HasGenerated()) 
-//   cout<<"********** LoadUniqueShapes"<<endl;
-  LoadUniqueShapes(theMkGluing,aSources);
-  LoadContent(theMkGluing);
-  if(theMkGluing.HasModified()) {
-    LoadModifiedShapes(theMkGluing);
-  }
-  LoadResult(theMkGluing);
-}
-
-//=======================================================================
-//function : ShapeType
-//purpose  : 
-//=======================================================================
-
-TopAbs_ShapeEnum QANewBRepNaming_Gluing::ShapeType(const TopoDS_Shape& theShape) const {
-  TopAbs_ShapeEnum aShapeType = theShape.ShapeType();
-  if (aShapeType == TopAbs_COMPOUND || aShapeType == TopAbs_COMPSOLID) {
-    TopoDS_Iterator itr(theShape);
-    if (itr.More()) aShapeType = itr.Value().ShapeType();
-  } 
-  return aShapeType;
-} 
-
-//=======================================================================
-//function : GetShape
-//purpose  : 
-//=======================================================================
-
-TopoDS_Shape QANewBRepNaming_Gluing::GetShape(const TopoDS_Shape& theShape) const {
-  if (theShape.ShapeType() == TopAbs_COMPOUND || theShape.ShapeType() == TopAbs_COMPSOLID) {
-    TopoDS_Iterator itr(theShape);
-    if (itr.More()) return itr.Value();
-  }
-  return theShape;
-}
-
-//=======================================================================
-//function : LoadResult
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Gluing::LoadResult(QANewModTopOpe_Glue& theMkGluing) const {
-  Handle(TDF_TagSource) Tagger = TDF_TagSource::Set(ResultLabel());
-  if (Tagger.IsNull()) return;
-  Tagger->Set(0);
-  TNaming_Builder aBuilder (ResultLabel());
-  TopoDS_Shape aResult = theMkGluing.Shape();
-  if (aResult.ShapeType() == TopAbs_COMPOUND) {
-    Standard_Integer aNbSubResults = 0;
-    TopoDS_Iterator anItr(aResult);
-    for (; anItr.More(); anItr.Next()) aNbSubResults++;
-    if (aNbSubResults == 1) {
-      anItr.Initialize(aResult);
-      if (anItr.More()) aResult = anItr.Value();
-    }
-  }
-  if (theMkGluing.Shape1().IsNull()) aBuilder.Generated(aResult);
-  else {
-    aBuilder.Generated(theMkGluing.Shape1(), aResult);  // mpv:?
-  }
-}
-
-
-//=======================================================================
-//function : IsResultChanged
-//purpose  : 
-//=======================================================================
-
-Standard_Boolean QANewBRepNaming_Gluing::IsResultChanged(QANewModTopOpe_Glue& theMkGluing) const {
-  TopoDS_Shape aResShape = theMkGluing.Shape();
-  if (theMkGluing.Shape().ShapeType() == TopAbs_COMPOUND) {
-    Standard_Integer aNbSubResults = 0;
-    TopoDS_Iterator anItr(theMkGluing.Shape());
-    for (; anItr.More(); anItr.Next()) aNbSubResults++;
-    if (aNbSubResults == 1) {
-      anItr.Initialize(theMkGluing.Shape());
-      if (anItr.More()) aResShape = anItr.Value();
-    }
-  }
-  return theMkGluing.Shape1().IsSame(aResShape);
-}
-
-//=======================================================================
-//function : LoadModifiedShapes
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Gluing::LoadModifiedShapes(QANewModTopOpe_Glue& theMkGluing) const {
-  const Standard_Integer aNumTypes = 1;
-  const TopAbs_ShapeEnum aTypes[] = {TopAbs_FACE/*,TopAbs_EDGE,TopAbs_VERTEX*/};
-#ifdef OCCT_DEBUG
-  const char aNames[][20] = {"ModifiedFaces"/*,"ModifiedEdges","ModifiedVertexes"*/};
-#endif
-  Standard_Integer aShapeNum;
-
-  TDF_Label aLabel = ResultLabel().FindChild(1,Standard_True);
-  Handle(TNaming_NamedShape) aNS;
-  while(aLabel.FindAttribute(TNaming_NamedShape::GetID(),aNS)) {
-    if (aNS->Evolution() == TNaming_MODIFY) break;
-    aLabel = aLabel.Father().FindChild(aLabel.Tag()+1,Standard_True);
-  }
-  for(Standard_Integer a=0;a<aNumTypes;a++) { // argument-shapes types cycle
-#ifdef OCCT_DEBUG
-    TDataStd_Name::Set(aLabel,TCollection_ExtendedString(Standard_CString(aNames[a])));
-#endif
-    TNaming_Builder aBuilder(aLabel);
-    // functionality from Loader
-    TopExp_Explorer ShapeExplorer;
-    for(aShapeNum=0;aShapeNum<2;aShapeNum++) { // argument-shapes cycle
-      if (aShapeNum==0) ShapeExplorer.Init(theMkGluing.Shape1(), aTypes[a]);
-      else ShapeExplorer.Init(theMkGluing.Shape2(), aTypes[a]);
-      TopTools_MapOfShape View;
-      for (; ShapeExplorer.More(); ShapeExplorer.Next ()) { // argument-shapes subshapes cycle
-       const TopoDS_Shape& Root = ShapeExplorer.Current ();
-       if (!View.Add(Root)) continue;
-       const TopTools_ListOfShape& Shapes = theMkGluing.Modified(Root);
-       TopTools_ListIteratorOfListOfShape ShapesIterator (Shapes);
-       for (;ShapesIterator.More (); ShapesIterator.Next ()) { // argument-shapes subshapes parents cycle
-         const TopoDS_Shape& newShape = ShapesIterator.Value ();
-         if (!Root.IsSame (newShape) && !myUnique.Contains(newShape)) { // modifyed compound can't contains unique
-           aBuilder.Modify(Root,newShape);
-         }
-       }
-      }
-    }
-    if (a+1<aNumTypes) aLabel = aLabel.Father().FindChild(aLabel.Tag()+1,Standard_True);
-  }
-}
-
-//=======================================================================
-//function : SetContext
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Gluing::SetContext(const TopoDS_Shape& theObject,
-                                  const TopoDS_Shape& theTool) {
-  TopoDS_Compound aCompound;
-  BRep_Builder aB;
-  aB.MakeCompound(aCompound);
-  aB.Add(aCompound,theObject);
-  aB.Add(aCompound,theTool);
-  myContext = aCompound;
-}
-
-//=======================================================================
-//function : SetLog
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Gluing::SetLog(const TDF_LabelMap& theLog) {
-  myLog.Assign(theLog);
-}
-
-//=======================================================================
-//function : AddToTheUnique
-//purpose  : 
-//=======================================================================
-void QANewBRepNaming_Gluing::AddToTheUnique(const TopoDS_Shape& theUnique, const TopoDS_Shape& theIdentifier) {
-  if (!myUnique.Contains(theUnique)) {
-    TopTools_ListOfShape* aNewList = new TopTools_ListOfShape;
-    aNewList->Append(theIdentifier);
-    myUnique.Add(theUnique, *aNewList);
-  } else {
-    myUnique.ChangeFromKey(theUnique).Append(theIdentifier);
-  }
-}
-
-//=======================================================================
-//function : RecomputeUnique
-//purpose  : 
-//=======================================================================
-void QANewBRepNaming_Gluing::RecomputeUnique(QANewModTopOpe_Glue& theMkGluing) {
-  const Standard_Integer aNumTypes = 3;
-  const TopAbs_ShapeEnum aTypes[] = {TopAbs_FACE,TopAbs_EDGE,TopAbs_VERTEX};
-
-  // special case: edges may be divided, these edges (new and modified)
-  // we try to sort in the algorithm returned lists order
-  myUnique.Clear();
-  Standard_Integer aNext;
-  TopExp_Explorer anExp(myContext, TopAbs_EDGE);
-  TopTools_ListIteratorOfListOfShape anEdgesIterator;
-  for(;anExp.More();anExp.Next()) {
-    for(aNext=0;aNext<2;aNext++) {
-      TopoDS_Edge aFullEdge = TopoDS::Edge(anExp.Current());
-      if (aNext == 0) anEdgesIterator.Initialize(theMkGluing.Generated(aFullEdge));
-      else anEdgesIterator.Initialize(theMkGluing.Modified(aFullEdge));
-      for (;anEdgesIterator.More();anEdgesIterator.Next())
-        if (anEdgesIterator.Value().ShapeType() == TopAbs_EDGE) {
-          TopoDS_Edge aDivEdge = TopoDS::Edge(anEdgesIterator.Value());
-          if (!TopExp::FirstVertex(aDivEdge).IsNull()) { // divided edge must have at least one vertex
-            if (TopExp::FirstVertex(aFullEdge).IsNull()) AddToTheUnique(aDivEdge,aFullEdge);
-            else if (!TopExp::LastVertex(aDivEdge).IsNull()) {//if full edge have at least one vertex, subedges must have two
-              if (TopExp::LastVertex(aFullEdge).IsNull()) {
-                if (BRep_Tool::Pnt(TopExp::FirstVertex(aFullEdge)).
-                    IsEqual(BRep_Tool::Pnt(TopExp::FirstVertex(aDivEdge)),Precision::Confusion()))
-                  AddToTheUnique(aDivEdge,aFullEdge);
-                else if (BRep_Tool::Pnt(TopExp::FirstVertex(aFullEdge)).
-                   IsEqual(BRep_Tool::Pnt(TopExp::LastVertex(aDivEdge)),Precision::Confusion()))
-                  AddToTheUnique(aDivEdge,aFullEdge);
-              } else {
-                Standard_Integer aCounter = 0;
-                if (BRep_Tool::Pnt(TopExp::FirstVertex(aFullEdge)).
-                    IsEqual(BRep_Tool::Pnt(TopExp::FirstVertex(aDivEdge)),Precision::Confusion()) ||
-                    BRep_Tool::Pnt(TopExp::FirstVertex(aFullEdge)).
-                    IsEqual(BRep_Tool::Pnt(TopExp::LastVertex(aDivEdge)),Precision::Confusion())) aCounter++;
-                if (BRep_Tool::Pnt(TopExp::LastVertex(aFullEdge)).
-                    IsEqual(BRep_Tool::Pnt(TopExp::FirstVertex(aDivEdge)),Precision::Confusion()) ||
-                    BRep_Tool::Pnt(TopExp::LastVertex(aFullEdge)).
-                    IsEqual(BRep_Tool::Pnt(TopExp::LastVertex(aDivEdge)),Precision::Confusion())) aCounter++;
-                if (aCounter!=2) AddToTheUnique(aDivEdge,aFullEdge);
-              }
-            }
-          }
-        }
-    }
-  }
-  aNext = 2;
-  Standard_Integer aDividedIndex = myUnique.Extent();;
-  // accumulate all shapes, modifyed from shape1
-  while(aNext) {
-    for(Standard_Integer a=0;a<aNumTypes;a++) {
-      TopExp_Explorer ShapeExplorer1;
-      if (aNext==2) ShapeExplorer1.Init(theMkGluing.Shape1(), aTypes[a]);
-      else ShapeExplorer1.Init(theMkGluing.Shape2(), aTypes[a]);
-      for (; ShapeExplorer1.More(); ShapeExplorer1.Next ()) {
-       TopTools_ListIteratorOfListOfShape ShapesIterator1(theMkGluing.Generated(ShapeExplorer1.Current()));
-       for (;ShapesIterator1.More (); ShapesIterator1.Next ()) {
-         if (myUnique.Contains(ShapesIterator1.Value()))
-           if (myUnique.FindIndex(ShapesIterator1.Value()) <= aDividedIndex) continue;
-         AddToTheUnique(ShapesIterator1.Value(),ShapeExplorer1.Current());
-       }
-      }
-    }
-    aNext--;
-  }
-
-#ifdef OCCT_DEBUG
-  cout<<"QANewBRepNaming_Gluing::RecomputeUnique found "<<myUnique.Extent()<<" shapes"<<endl;
-#endif
-}
-
-//=======================================================================
-//function : LoadSourceShapes
-//purpose  : 
-//=======================================================================
-void QANewBRepNaming_Gluing::LoadSourceShapes(TopTools_DataMapOfShapeInteger& theSources) const {
-#ifdef OCCT_DEBUG
-  cout<<"********** QANewBRepNaming_Gluing::LoadSourceShapes the valid map:"<<endl;
-  TDF_MapIteratorOfLabelMap anIter(myLog);
-  for(;anIter.More();anIter.Next()) {
-    TCollection_AsciiString entry;
-    TDF_Tool::Entry(anIter.Key(), entry);
-    cout<<entry<<endl;
-  }
-#endif
-  theSources.Clear();
-
-  TDF_Label aLabel = ResultLabel().FindChild(SOURCES_SUBLABEL);
-  Handle(TDF_TagSource) Tagger = TDF_TagSource::Set(aLabel);
-  if (Tagger.IsNull()) return;
-  Tagger->Set(0);
-
-  // get all source shapes (in the given order)
-  TopTools_MapOfShape aShapes;
-  TopTools_ListOfShape aSortedShapes;
-  Standard_Integer anIndex;
-  for(anIndex=1;anIndex<=myUnique.Extent();anIndex++) {
-    TopTools_ListIteratorOfListOfShape anIter2(myUnique.FindFromIndex(anIndex));
-    for(;anIter2.More();anIter2.Next()) {
-      if (!aShapes.Contains(anIter2.Value())) {
-       aShapes.Add(anIter2.Value());
-       aSortedShapes.Append(anIter2.Value());
-      }
-    }
-  }
-  // put all source shapes to the sources label sublabels
-  TopTools_ListIteratorOfListOfShape aSortedIterator(aSortedShapes);
-  for(aLabel = aLabel.NewChild();aShapes.Extent();aLabel = aLabel.Father().NewChild()) {
-    Handle(TNaming_NamedShape) aNS;
-    if (aLabel.FindAttribute(TNaming_NamedShape::GetID(), aNS)) {
-      // old shape resolving
-      TDF_LabelMap aValid;
-      aValid.Assign(myLog);
-      TNaming_Selector aSel(aLabel);
-      aSel.Solve(aValid);
-      TopoDS_Shape aShape = aSel.NamedShape()->Get();
-      if (aShapes.Contains(aShape)) {
-       theSources.Bind(aShape,aLabel.Tag());
-       aShapes.Remove(aShape);
-      }
-    } else {
-      // add new shape
-      for(;aSortedIterator.More();aSortedIterator.Next()) {
-       TopoDS_Shape aShape = aSortedIterator.Value();;
-       if (aShapes.Contains(aShape)) {
-         theSources.Bind(aShape,aLabel.Tag());
-         aShapes.Remove(aShape);
-         TNaming_Selector aSelector(aLabel);
-         if (!aSelector.Select(aShape,myContext)) {
-#ifdef OCCT_DEBUG        
-           cout<<"Can't do naming"<<endl;
-#endif
-         }
-         anIndex++;
-         break;
-       }
-      }
-    }
-  }
-}
-
-//=======================================================================
-//function : LoadUniqueShapes
-//purpose  : 
-//=======================================================================
-void QANewBRepNaming_Gluing::LoadUniqueShapes(QANewModTopOpe_Glue& /*theMkGluing*/, 
-                                              const TopTools_DataMapOfShapeInteger& theSources)
-{
-  Standard_Integer anIndex=1;
-  TColStd_MapOfInteger alreadyUsed;
-  while(alreadyUsed.Extent() != myUnique.Extent()) { // result sublabels cycle
-    TDF_Label aLabel = ResultLabel().NewChild();
-    Handle(TNaming_NamedShape) aNS;
-    if (aLabel.FindAttribute(TNaming_NamedShape::GetID(),aNS)) {
-      if (aNS->Evolution() == TNaming_MODIFY) continue;
-      Handle(TDataStd_IntegerArray) anArray;
-      if (aLabel.FindAttribute(TDataStd_IntegerArray::GetID(),anArray)) { // old unique with dependencies
-       Standard_Integer a;
-       for(a = anIndex;a<=myUnique.Extent();a++) {
-         if (alreadyUsed.Contains(a)) continue;
-         if (myUnique.FindFromIndex(a).Extent()!=anArray->Upper()) continue;
-//       cout<<"a="<<a<<endl;
-         TopTools_ListIteratorOfListOfShape anIter2(myUnique.FindFromIndex(a));
-         Standard_Boolean aEq = Standard_True;
-         for(;anIter2.More() && aEq;anIter2.Next()) {
-           Standard_Integer aValue = theSources.Find(anIter2.Value());
-           Standard_Integer a1;
-           for(a1=anArray->Upper();a1>=1;a1--) if (anArray->Value(a1) == aValue) break;
-           if (a1 == 0) aEq = Standard_False;
-         }
-//       cout<<"eq="<<aEq<<endl;
-         if (aEq) {
-           TNaming_Builder aBuilder(aLabel);
-           aBuilder.Generated(myUnique.FindKey(a));
-           alreadyUsed.Add(a);
-           break;
-         }
-       }
-      }
-      continue;
-    }
-    // set new entity
-    while(alreadyUsed.Contains(anIndex)) anIndex++;
-//     cout<<"anIndex = "<<anIndex<<endl;
-    Handle(TDataStd_IntegerArray) anArray=TDataStd_IntegerArray::Set(aLabel,1,myUnique.FindFromIndex(anIndex).Extent());
-    TopTools_ListIteratorOfListOfShape anIter(myUnique.FindFromIndex(anIndex));
-    Standard_Integer a;
-    for(a=1;anIter.More();anIter.Next(),a++) {
-      anArray->SetValue(a,theSources.Find(anIter.Value()));
-    }
-    TNaming_Builder aBuilder(aLabel);
-    aBuilder.Generated(myUnique.FindKey(anIndex));
-    alreadyUsed.Add(anIndex);
-  }
-}
-
-
-//=======================================================================
-//function : Content
-//purpose  : 
-//=======================================================================
-TDF_Label QANewBRepNaming_Gluing::Content() const {
-#ifdef OCCT_DEBUG
-  const TDF_Label& ContentLabel = ResultLabel().NewChild();
-  TDataStd_Name::Set(ContentLabel, "Content");
-  return ContentLabel;
-#else
-  return ResultLabel().NewChild();
-#endif
-}
-
-//=======================================================================
-//function : LoadUniqueShapes
-//purpose  : 
-//=======================================================================
-void QANewBRepNaming_Gluing::LoadContent(QANewModTopOpe_Glue& MS) const {
-  if (MS.Shape().ShapeType() == TopAbs_COMPSOLID || MS.Shape().ShapeType() == TopAbs_COMPOUND) {
-    TopoDS_Iterator itr(MS.Shape());
-    Standard_Integer nbShapes = 0;
-    while (itr.More()) {
-      nbShapes++;
-      itr.Next();
-    }
-    if (nbShapes > 1) {
-      for (itr.Initialize(MS.Shape()); itr.More(); itr.Next()) {
-         TNaming_Builder bContent(Content());
-         bContent.Generated(itr.Value());      
-      }
-    }
-  } 
-}
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Gluing.hxx b/src/QANewBRepNaming/QANewBRepNaming_Gluing.hxx
deleted file mode 100644 (file)
index 2cd0a61..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-// Created on: 2001-11-26
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 2001-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Gluing_HeaderFile
-#define _QANewBRepNaming_Gluing_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TDF_LabelMap.hxx>
-#include <QANewBRepNaming_TopNaming.hxx>
-#include <TopAbs_ShapeEnum.hxx>
-#include <Standard_Boolean.hxx>
-#include <TopTools_DataMapOfShapeInteger.hxx>
-class Standard_NullObject;
-class TDF_Label;
-class QANewModTopOpe_Glue;
-class TopoDS_Shape;
-
-
-//! Loads a result of Gluing operation in  Data Framework
-class QANewBRepNaming_Gluing  : public QANewBRepNaming_TopNaming
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_Gluing();
-  
-  Standard_EXPORT QANewBRepNaming_Gluing(const TDF_Label& theResultLabel);
-  
-  Standard_EXPORT void Init (const TDF_Label& theResultLabel);
-  
-  //! Loads a Gluing in a data framework
-  Standard_EXPORT void Load (QANewModTopOpe_Glue& theMkGluing);
-  
-  Standard_EXPORT TDF_Label Content() const;
-  
-  Standard_EXPORT void SetContext (const TopoDS_Shape& theObject, const TopoDS_Shape& theTool);
-  
-  Standard_EXPORT void SetLog (const TDF_LabelMap& theLog);
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-  
-  //! If the shape is a compound the method
-  //! returns the underlying shape type.
-  Standard_EXPORT TopAbs_ShapeEnum ShapeType (const TopoDS_Shape& theShape) const;
-  
-  //! If the shape is a compound the method
-  //! returns the underlying shape.
-  Standard_EXPORT TopoDS_Shape GetShape (const TopoDS_Shape& theShape) const;
-  
-  //! A default implementation for naming of modified shapes of the operation
-  Standard_EXPORT void LoadModifiedShapes (QANewModTopOpe_Glue& theMakeShape) const;
-  
-  //! A default implementation for naming of modified shapes of the operation
-  Standard_EXPORT void LoadDeletedShapes (QANewModTopOpe_Glue& theMakeShape) const;
-  
-  //! Loads the content of the result.
-  Standard_EXPORT void LoadContent (QANewModTopOpe_Glue& theMakeShape) const;
-  
-  //! Loads the result.
-  Standard_EXPORT void LoadResult (QANewModTopOpe_Glue& theMakeShape) const;
-  
-  //! Returns true if the result is not the same as the object shape.
-  Standard_EXPORT Standard_Boolean IsResultChanged (QANewModTopOpe_Glue& theMakeShape) const;
-  
-  //! Loads the deletion of the degenerated edges.
-  Standard_EXPORT void LoadSectionEdges (QANewModTopOpe_Glue& theMakeShape) const;
-  
-  Standard_EXPORT void AddToTheUnique (const TopoDS_Shape& theUnique, const TopoDS_Shape& theIdentifier);
-  
-  //! Reset myShared map - shapes, which are modified by both object and tool.
-  Standard_EXPORT void RecomputeUnique (QANewModTopOpe_Glue& theMakeShape);
-  
-  Standard_EXPORT void LoadSourceShapes (TopTools_DataMapOfShapeInteger& theSources) const;
-  
-  //! A default implementation for naming of generated  shapes of the operation
-  Standard_EXPORT void LoadUniqueShapes (QANewModTopOpe_Glue& theMakeShape, const TopTools_DataMapOfShapeInteger& theSources);
-
-
-  TopTools_IndexedDataMapOfShapeListOfShape myUnique;
-  TopoDS_Shape myContext;
-  TDF_LabelMap myLog;
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Gluing_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_ImportShape.cxx b/src/QANewBRepNaming/QANewBRepNaming_ImportShape.cxx
deleted file mode 100644 (file)
index 7ebe192..0000000
+++ /dev/null
@@ -1,336 +0,0 @@
-// Created on: 1999-10-05
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRepTools.hxx>
-#include <QANewBRepNaming_ImportShape.hxx>
-#include <QANewBRepNaming_LoaderParent.hxx>
-#include <ShapeExtend_WireData.hxx>
-#include <Standard_NullObject.hxx>
-#include <TDF_ChildIterator.hxx>
-#include <TDF_Label.hxx>
-#include <TDF_LabelMap.hxx>
-#include <TDF_TagSource.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TopExp.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS.hxx>
-#include <TopoDS_Edge.hxx>
-#include <TopoDS_Face.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopoDS_Wire.hxx>
-#include <TopTools_DataMapIteratorOfDataMapOfShapeListOfShape.hxx>
-#include <TopTools_DataMapOfShapeListOfShape.hxx>
-#include <TopTools_DataMapOfShapeShape.hxx>
-#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
-#include <TopTools_IndexedMapOfShape.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
-#include <TopTools_MapOfShape.hxx>
-
-//=======================================================================
-//function : QANewBRepNaming_ImportShape
-//purpose  : Constructor
-//=======================================================================
-QANewBRepNaming_ImportShape::QANewBRepNaming_ImportShape() {}
-
-//=======================================================================
-//function : QANewBRepNaming_ImportShape
-//purpose  : Constructor
-//=======================================================================
-
-QANewBRepNaming_ImportShape::QANewBRepNaming_ImportShape(const TDF_Label& L):QANewBRepNaming_TopNaming(L) {}
-
-//=======================================================================
-//function : Init
-//purpose  : Initialization
-//=======================================================================
-
-void QANewBRepNaming_ImportShape::Init(const TDF_Label& Label) {
-  if(Label.IsNull()) 
-    throw Standard_NullObject("QANewBRepNaming_ImportShape::Init The Result label is Null ...");
-  myResultLabel = Label;
-}  
-
-//=======================================================================
-//function : Load
-//purpose  : To load an ImportShape
-//           Use this method for a topological naming of an imported shape
-//=======================================================================
-
-void QANewBRepNaming_ImportShape::Load(const TopoDS_Shape& theShape) const {
-  ResultLabel().ForgetAllAttributes();
-  TNaming_Builder b(ResultLabel());
-  b.Generated(theShape);
-
-  Handle(TDF_TagSource) Tagger = TDF_TagSource::Set(ResultLabel());
-  if (Tagger.IsNull()) return;
-  Tagger->Set(0);
-
-  LoadFirstLevel(theShape, Tagger);
-  LoadC0Edges(theShape, Tagger);
-  LoadC0Vertices(theShape, Tagger);
-}  
-
-//=======================================================================
-//function : LoadPrime
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_ImportShape::LoadPrime(const TopoDS_Shape& theShape) const {
-
-  Handle(TDF_TagSource) Tagger = TDF_TagSource::Set(ResultLabel());
-  if (Tagger.IsNull()) return;
-  Tagger->Set(0);
-
-  LoadFirstLevel(theShape, Tagger);
-  LoadC0Edges(theShape, Tagger);
-  LoadC0Vertices(theShape, Tagger);
-}  
-    
-//=======================================================================
-//function : LoadFirstLevel
-//purpose  : Method for internal use. Is used by Load()
-//=======================================================================
-
-void QANewBRepNaming_ImportShape::LoadFirstLevel(const TopoDS_Shape& S,
-                                           const Handle(TDF_TagSource)& Tagger) const {
-  if (S.ShapeType() == TopAbs_COMPOUND || S.ShapeType() == TopAbs_COMPSOLID) {
-    TopoDS_Iterator itr(S);
-    for (; itr.More(); itr.Next()) {
-      TNaming_Builder bIndependantShapes(Tagger->NewChild());
-      bIndependantShapes.Generated(itr.Value());
-      if (itr.Value().ShapeType() == TopAbs_COMPOUND || itr.Value().ShapeType() == TopAbs_COMPSOLID) {
-       LoadFirstLevel(itr.Value(), Tagger);
-      } else LoadNextLevels(itr.Value(), Tagger);
-    }
-  } else LoadNextLevels(S, Tagger); 
-} 
-
-//=======================================================================
-//function : LoadNextLevels
-//purpose  : Method for internal use. Is used by LoadFirstLevel()
-//=======================================================================
-
-void QANewBRepNaming_ImportShape::LoadNextLevels(const TopoDS_Shape& S,
-                                           const Handle(TDF_TagSource)& Tagger) const {
-
-  if (S.ShapeType() == TopAbs_SOLID) {             
-    TopExp_Explorer expl(S, TopAbs_FACE);
-    for (; expl.More(); expl.Next()) {
-      TNaming_Builder bFace(Tagger->NewChild());
-      bFace.Generated(expl.Current());
-    }
-  } else if (S.ShapeType() == TopAbs_SHELL || S.ShapeType() == TopAbs_FACE) {
-    // load faces and all the free edges
-    TopTools_IndexedMapOfShape Faces;
-    TopExp::MapShapes(S, TopAbs_FACE, Faces);
-    if (Faces.Extent() > 1 || (S.ShapeType() == TopAbs_SHELL && Faces.Extent() == 1)) {
-      TopExp_Explorer expl(S, TopAbs_FACE);
-      for (; expl.More(); expl.Next()) {
-       TNaming_Builder bFace(Tagger->NewChild());
-       bFace.Generated(expl.Current());
-      }
-    }
-    TopTools_IndexedDataMapOfShapeListOfShape anEdgeAndNeighbourFaces;
-    TopExp::MapShapesAndAncestors(S, TopAbs_EDGE, TopAbs_FACE, anEdgeAndNeighbourFaces);
-    for (Standard_Integer i = 1; i <= anEdgeAndNeighbourFaces.Extent(); i++) {
-      const TopTools_ListOfShape& aLL = anEdgeAndNeighbourFaces.FindFromIndex(i);
-      if (aLL.Extent() < 2) {
-       TNaming_Builder bFreeEdges(Tagger->NewChild());
-       bFreeEdges.Generated(anEdgeAndNeighbourFaces.FindKey(i));
-      } else {
-       TopTools_ListIteratorOfListOfShape anIter(aLL);
-       const TopoDS_Face aFace = TopoDS::Face(anIter.Value());
-       anIter.Next();
-       if(aFace.IsEqual(anIter.Value())) {
-         TNaming_Builder bFreeEdges(Tagger->NewChild());
-         bFreeEdges.Generated(anEdgeAndNeighbourFaces.FindKey(i));
-       }
-      }
-    }
-  } else if (S.ShapeType() == TopAbs_WIRE) {
-    TopTools_IndexedMapOfShape Edges;
-    BRepTools::Map3DEdges(S, Edges);
-    if (Edges.Extent() == 1) {
-      TNaming_Builder bEdge(Tagger->NewChild());
-      bEdge.Generated(Edges.FindKey(1));
-      TopExp_Explorer expl(S, TopAbs_VERTEX);
-      for (; expl.More(); expl.Next()) {
-       TNaming_Builder bVertex(Tagger->NewChild());
-       bVertex.Generated(expl.Current());    
-      }
-    } else {
-      TopExp_Explorer expl(S, TopAbs_EDGE); 
-      for (; expl.More(); expl.Next()) {
-       TNaming_Builder bEdge(Tagger->NewChild());
-       bEdge.Generated(expl.Current());
-      }   
-      // and load generated vertices.
-      TopTools_DataMapOfShapeShape generated;
-      if (QANewBRepNaming_LoaderParent::GetDangleShapes(S, TopAbs_EDGE, generated)) {
-       TNaming_Builder bGenVertices(Tagger->NewChild());
-       QANewBRepNaming_LoaderParent::LoadGeneratedDangleShapes(S, TopAbs_EDGE, bGenVertices);
-      }
-    }
-  } else if (S.ShapeType() == TopAbs_EDGE) {
-    TopExp_Explorer expl(S, TopAbs_VERTEX);
-    for (; expl.More(); expl.Next()) {
-      TNaming_Builder bVertex(Tagger->NewChild());
-      bVertex.Generated(expl.Current());    
-    }
-  }
-}
-
-
-//=======================================================================
-//function : LoadC0Edges
-//purpose  : Method for internal use. It is used by Load() method.
-//=======================================================================
-
-void QANewBRepNaming_ImportShape::LoadC0Edges(const TopoDS_Shape& S,
-                                             const Handle(TDF_TagSource)& Tagger) const 
-{
-  TopTools_IndexedDataMapOfShapeListOfShape edgeNaborFaces;
-  TopExp::MapShapesAndUniqueAncestors(S, TopAbs_EDGE, TopAbs_FACE, edgeNaborFaces);
-  
-  TopTools_MapOfShape aEdgesToRemove;
-  for(Standard_Integer i = 1; i <= edgeNaborFaces.Extent(); i++) {
-    Standard_Boolean aC0 = Standard_False;
-    TopoDS_Shape anEdge1 = edgeNaborFaces.FindKey(i);
-    if (aEdgesToRemove.Add(anEdge1)) {
-      const TopTools_ListOfShape& aList1 = edgeNaborFaces.FindFromIndex(i);
-      for(Standard_Integer j = i + 1; j <= edgeNaborFaces.Extent(); j++) {
-        TopoDS_Shape anEdge2 = edgeNaborFaces.FindKey(j);
-        const TopTools_ListOfShape& aList2 = edgeNaborFaces.FindFromIndex(j);
-        // compare lists of the neighbour faces of edge1 and edge2
-        if (aList1.Extent() == aList2.Extent()) {
-          Standard_Integer aMatches = 0;
-          for(TopTools_ListIteratorOfListOfShape aLIter1(aList1);aLIter1.More();aLIter1.Next())
-            for(TopTools_ListIteratorOfListOfShape aLIter2(aList2);aLIter2.More();aLIter2.Next())
-              if (aLIter1.Value().IsSame(aLIter2.Value())) aMatches++;
-          if (aMatches == aList1.Extent()) {
-            aC0=Standard_True;
-            TNaming_Builder bC0Edge(Tagger->NewChild());
-            bC0Edge.Generated(anEdge2);
-            aEdgesToRemove.Add(anEdge2);
-          }
-        }
-      }
-    }
-    if (aC0) {
-      TNaming_Builder bC0Edge(Tagger->NewChild());
-      bC0Edge.Generated(anEdge1);
-    }
-  }
-}
-
-
-//=======================================================================
-//function : LoadC0Vertices
-//purpose  : Method for internal use. It is used by Load() method.
-//=======================================================================
-
-void QANewBRepNaming_ImportShape::LoadC0Vertices(const TopoDS_Shape& S,
-                                           const Handle(TDF_TagSource)& Tagger) const 
-{
-  TopTools_DataMapOfShapeListOfShape vertexNaborFaces;
-  TopTools_ListOfShape empty;
-  TopExp_Explorer explF(S, TopAbs_FACE);
-  for (; explF.More(); explF.Next()) {
-    const TopoDS_Shape& aFace = explF.Current();
-    TopExp_Explorer explV(aFace, TopAbs_VERTEX);
-    for (; explV.More(); explV.Next()) {
-      const TopoDS_Shape& aVertex = explV.Current();
-      if (!vertexNaborFaces.IsBound(aVertex)) vertexNaborFaces.Bind(aVertex, empty);
-      Standard_Boolean faceIsNew = Standard_True;
-      TopTools_ListIteratorOfListOfShape itrF(vertexNaborFaces.Find(aVertex));
-      for (; itrF.More(); itrF.Next()) {
-       if (itrF.Value().IsSame(aFace)) {
-         faceIsNew = Standard_False;
-         break;
-       }
-      }
-      if (faceIsNew) {
-       vertexNaborFaces.ChangeFind(aVertex).Append(aFace);
-      }
-    }
-  }
-
-  TopTools_DataMapIteratorOfDataMapOfShapeListOfShape itr(vertexNaborFaces);
-  for (; itr.More(); itr.Next()) {
-    const TopTools_ListOfShape& naborFaces = itr.Value();
-    if (naborFaces.Extent() < 3) {
-      TNaming_Builder bC0Vertex(Tagger->NewChild());
-      bC0Vertex.Generated(itr.Key());
-    }
-  }
-}
-
-//=======================================================================
-//function : NamedFaces
-//purpose  : Returns the labels of all the named faces. Returns the number of faces.
-//=======================================================================
-
-Standard_Integer QANewBRepNaming_ImportShape::NamedFaces(TDF_LabelMap& theNamedFaces) const {
-  theNamedFaces.Clear();
-  Handle(TNaming_NamedShape) aFace;
-  TDF_ChildIterator itr(ResultLabel());
-  for (; itr.More(); itr.Next()) {
-    if (itr.Value().FindAttribute(TNaming_NamedShape::GetID(), aFace) &&
-       !aFace->IsEmpty() && aFace->Get().ShapeType() == TopAbs_FACE)
-      theNamedFaces.Add(itr.Value());
-  }
-  return theNamedFaces.Extent();
-}
-
-//=======================================================================
-//function : NamedEdges
-//purpose  : Returns the labels of all the named free edges.
-//           Returns the number of edges.
-//=======================================================================
-
-Standard_Integer QANewBRepNaming_ImportShape::NamedEdges(TDF_LabelMap& theNamedEdges) const {
-  theNamedEdges.Clear();
-  Handle(TNaming_NamedShape) anEdge;
-  TDF_ChildIterator itr(ResultLabel());
-  for (; itr.More(); itr.Next()) {
-    if (itr.Value().FindAttribute(TNaming_NamedShape::GetID(), anEdge) &&
-       !anEdge->IsEmpty() && anEdge->Get().ShapeType() == TopAbs_EDGE)
-      theNamedEdges.Add(itr.Value());
-  }
-  return theNamedEdges.Extent();
-}
-
-//=======================================================================
-//function : NamedVertices
-//purpose  : Returns the labels of all the named free vertices.
-//           Returns the number of verices.
-//=======================================================================
-
-Standard_Integer QANewBRepNaming_ImportShape::NamedVertices(TDF_LabelMap& theNamedVertices) const {
-  theNamedVertices.Clear();
-  Handle(TNaming_NamedShape) aVertex;
-  TDF_ChildIterator itr(ResultLabel());
-  for (; itr.More(); itr.Next()) {
-    if (itr.Value().FindAttribute(TNaming_NamedShape::GetID(), aVertex) &&
-       !aVertex->IsEmpty() && aVertex->Get().ShapeType() == TopAbs_VERTEX)
-      theNamedVertices.Add(itr.Value());
-  }
-  return theNamedVertices.Extent();
-}
-
diff --git a/src/QANewBRepNaming/QANewBRepNaming_ImportShape.hxx b/src/QANewBRepNaming/QANewBRepNaming_ImportShape.hxx
deleted file mode 100644 (file)
index 3c4d68e..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-// Created on: 1999-10-01
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_ImportShape_HeaderFile
-#define _QANewBRepNaming_ImportShape_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_TopNaming.hxx>
-#include <Standard_Integer.hxx>
-#include <TDF_LabelMap.hxx>
-class TDF_Label;
-class TopoDS_Shape;
-class TDF_TagSource;
-
-
-//! This class provides a topological naming
-//! of a Shape
-class QANewBRepNaming_ImportShape  : public QANewBRepNaming_TopNaming
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_ImportShape();
-  
-  Standard_EXPORT QANewBRepNaming_ImportShape(const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Init (const TDF_Label& ResultLabel);
-  
-  //! Use this method for a topological naming of a Shape
-  Standard_EXPORT void Load (const TopoDS_Shape& S) const;
-  
-  Standard_EXPORT void LoadPrime (const TopoDS_Shape& S) const;
-  
-  Standard_EXPORT void LoadFirstLevel (const TopoDS_Shape& S, const Handle(TDF_TagSource)& Tagger) const;
-  
-  Standard_EXPORT void LoadNextLevels (const TopoDS_Shape& S, const Handle(TDF_TagSource)& Tagger) const;
-  
-  //! Method for internal use. It is used by Load().
-  //! It loads the edges which couldn't be uniquely identified as
-  //! an intersection of two faces.
-  Standard_EXPORT void LoadC0Edges (const TopoDS_Shape& S, const Handle(TDF_TagSource)& Tagger) const;
-  
-  Standard_EXPORT void LoadC0Vertices (const TopoDS_Shape& S, const Handle(TDF_TagSource)& Tagger) const;
-  
-  Standard_EXPORT Standard_Integer NamedFaces (TDF_LabelMap& theNamedFaces) const;
-  
-  Standard_EXPORT Standard_Integer NamedEdges (TDF_LabelMap& theNamedEdges) const;
-  
-  Standard_EXPORT Standard_Integer NamedVertices (TDF_LabelMap& theNamedVertices) const;
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_ImportShape_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Intersection.cxx b/src/QANewBRepNaming/QANewBRepNaming_Intersection.cxx
deleted file mode 100644 (file)
index f82d0c3..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-// Created on: 2000-10-31
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 2000-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRepAlgoAPI_BooleanOperation.hxx>
-#include <QANewBRepNaming_Intersection.hxx>
-#include <QANewBRepNaming_Loader.hxx>
-#include <TDF_Label.hxx>
-#include <TNaming_Builder.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopOpeBRepBuild_HBuilder.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
-
-#ifdef OCCT_DEBUG
-#include <TDataStd_Name.hxx>
-#include <TNaming_NamedShape.hxx>
-#endif
-enum BoolArguments {
-  SOLID_SOLID,
-  SOLID_SHELL,
-  SOLID_WIRE,
-  SHELL_SOLID,
-  SHELL_SHELL,
-  SHELL_WIRE,
-  WIRE_SOLID,
-  WIRE_SHELL,
-  WIRE_WIRE,
-  UNEXPECTED
-};
-//=======================================================================
-//function : QANewBRepNaming_Intersection
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Intersection::QANewBRepNaming_Intersection() {}
-
-//=======================================================================
-//function : QANewBRepNaming_Intersection
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Intersection::QANewBRepNaming_Intersection(const TDF_Label& ResultLabel)
-     :QANewBRepNaming_BooleanOperation(ResultLabel) {}
-
-//=======================================================================
-//function : Load
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Intersection::Load(BRepAlgoAPI_BooleanOperation& MS) const {
-  TopoDS_Shape ResSh = MS.Shape();
-  if (ResSh.IsNull()) {
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Intersection::Load(): The result of the Intersection is null"<<endl;
-#endif
-    return;
-  }
-
-  const TopAbs_ShapeEnum& ResType = ShapeType(ResSh);
-  const TopoDS_Shape& ObjSh = MS.Shape1();
-  const TopoDS_Shape& ToolSh = MS.Shape2();
-
-  // If the shapes are the same - select the result and exit:
-  if (IsResultChanged(MS)) {
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Intersection::Load(): The object and the result of INTERSECTION operation are the same"<<endl;
-    // Not modified!
-#endif
-    if (ResType == TopAbs_COMPOUND) {
-      Standard_Integer nbSubResults = 0;
-      TopoDS_Iterator itr(MS.Shape());
-      for (; itr.More(); itr.Next()) nbSubResults++;
-      if (nbSubResults == 1) {
-       itr.Initialize(MS.Shape());
-       if (itr.More()) ResSh = itr.Value();
-      }
-    }    
-    TNaming_Builder aBuilder(ResultLabel());
-    aBuilder.Select(ResSh, ObjSh);
-    return;
-  }
-  
-  const TopAbs_ShapeEnum& anObjType = ShapeType(ObjSh);
-  const TopAbs_ShapeEnum& aToolType = ShapeType(ToolSh);
-  BoolArguments anArg;
-  switch (anObjType) 
-    {
-    case TopAbs_SOLID://1
-      switch (aToolType)
-       {
-       case TopAbs_WIRE:
-       case TopAbs_EDGE:
-         anArg = SOLID_WIRE;
-         break;
-       case TopAbs_SOLID:
-         anArg = SHELL_SHELL;
-         break;
-       default:
-         anArg = UNEXPECTED;
-       }
-      break;
-    case TopAbs_SHELL://2
-    case TopAbs_FACE:
-      switch (aToolType)
-       {
-       case TopAbs_SHELL:
-       case TopAbs_FACE:
-         anArg = SHELL_SHELL;
-         break;
-       case TopAbs_WIRE:
-       case TopAbs_EDGE:
-         anArg = SHELL_WIRE;
-         break;
-       default:
-         anArg = UNEXPECTED;
-       }
-      break;
-    case TopAbs_WIRE://3
-    case TopAbs_EDGE:
-      switch (aToolType)
-       {
-       case TopAbs_SOLID:
-         anArg = WIRE_SOLID;
-         break;
-       case TopAbs_SHELL:
-       case TopAbs_FACE:
-         anArg = WIRE_SHELL;
-         break;  
-       case TopAbs_WIRE:
-       case TopAbs_EDGE:
-         anArg = WIRE_WIRE;
-         break;
-       default:
-         anArg = UNEXPECTED;
-       }
-      break;
-    default:
-      anArg = UNEXPECTED;
-    }
-
-  if(anArg == UNEXPECTED) {
-#ifdef OCCT_DEBUG
-      cout <<"QANewBRepNaming_Intersection:: Unexpected Use Case" << endl;
-#endif
-      return;
-    } else
-      LoadResult(MS);   
-
-  // Naming of modified, deleted and new sub shapes:
-  if (anArg == SHELL_SHELL) { // Result Wire/Edge
-//Generated Edges and (may be) vertexes
-    if(MS.HasGenerated()) {  
-      TNaming_Builder nBuilder (NewShapes());
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ObjSh,  TopAbs_FACE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ToolSh, TopAbs_FACE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ObjSh,  TopAbs_EDGE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ToolSh, TopAbs_EDGE, nBuilder);
-    }
-    if(MS.HasDeleted()){ 
-      TNaming_Builder DelFBuilder(DeletedFaces());
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ObjSh,  TopAbs_FACE, DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ToolSh, TopAbs_FACE, DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ObjSh,  TopAbs_EDGE, DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ToolSh, TopAbs_EDGE, DelFBuilder);
-    }
-  }
-  else if (anArg == SOLID_WIRE || anArg == WIRE_SOLID || 
-          anArg == SHELL_WIRE || anArg == WIRE_SHELL) { // Result ==> Vertex
-    
-    if(MS.HasGenerated()) {  
-      TNaming_Builder nBuilder (NewShapes());
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ObjSh,  TopAbs_FACE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ToolSh, TopAbs_FACE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ObjSh,  TopAbs_EDGE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ToolSh, TopAbs_EDGE, nBuilder);
-    }
-    if(MS.HasDeleted()){ 
-      TNaming_Builder DelFBuilder(DeletedFaces());
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ObjSh,  TopAbs_FACE, DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ToolSh, TopAbs_FACE, DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ObjSh,  TopAbs_EDGE, DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ToolSh, TopAbs_EDGE, DelFBuilder);
-      if(anArg == SOLID_WIRE || anArg == SHELL_WIRE) {
-       QANewBRepNaming_Loader::LoadDeletedShapes(MS, ToolSh, TopAbs_VERTEX, DelFBuilder);
-      } else 
-       QANewBRepNaming_Loader::LoadDeletedShapes(MS, ObjSh, TopAbs_VERTEX, DelFBuilder);
-    }   
-  } else if (anArg == WIRE_WIRE) {
-    if(MS.HasGenerated()) {  
-      TNaming_Builder nBuilder (NewShapes());
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ObjSh,  TopAbs_EDGE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, ToolSh, TopAbs_EDGE, nBuilder);
-    }
-    if(MS.HasDeleted()){ 
-      TNaming_Builder DelFBuilder(DeletedFaces());
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ObjSh,  TopAbs_EDGE,   DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ToolSh, TopAbs_EDGE,   DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ToolSh, TopAbs_VERTEX, DelFBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, ObjSh,  TopAbs_VERTEX, DelFBuilder);
-    }
-  }
-
-  LoadDegenerated(MS);
-  
-  // Naming of the content:
-//    if (ShapeType(ResSh) == TopAbs_VERTEX) LoadContent(MS);
-}
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Intersection.hxx b/src/QANewBRepNaming/QANewBRepNaming_Intersection.hxx
deleted file mode 100644 (file)
index d81cc3d..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-// Created on: 2000-10-31
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 2000-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Intersection_HeaderFile
-#define _QANewBRepNaming_Intersection_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_BooleanOperation.hxx>
-class TDF_Label;
-class BRepAlgoAPI_BooleanOperation;
-
-
-
-class QANewBRepNaming_Intersection  : public QANewBRepNaming_BooleanOperation
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_Intersection();
-  
-  Standard_EXPORT QANewBRepNaming_Intersection(const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Load (BRepAlgoAPI_BooleanOperation& MakeShape) const;
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Intersection_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Limitation.cxx b/src/QANewBRepNaming/QANewBRepNaming_Limitation.cxx
deleted file mode 100644 (file)
index eb5face..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-// Created on: 2000-12-26
-// Created by: Vladislav ROMASHKO <vro@nnov.matra-dtv.fr>
-// Copyright (c) 2000-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRep_Tool.hxx>
-#include <QANewBRepNaming_Limitation.hxx>
-#include <QANewBRepNaming_Loader.hxx>
-#include <QANewModTopOpe_Limitation.hxx>
-#include <QANewModTopOpe_ModeOfLimitation.hxx>
-#include <TDataStd_Name.hxx>
-#include <TDF_Label.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TopExp.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
-#include <TopTools_IndexedMapOfShape.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
-
-// OCAF
-// Specific
-//=======================================================================
-//function : QANewBRepNaming_Limitation
-//purpose  : 
-//=======================================================================
-QANewBRepNaming_Limitation::QANewBRepNaming_Limitation() {}
-
-//=======================================================================
-//function : QANewBRepNaming_Limitation
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Limitation::QANewBRepNaming_Limitation(const TDF_Label& ResultLabel)
-     :QANewBRepNaming_BooleanOperation(ResultLabel) {}
-
-//=======================================================================
-//function : Load
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Limitation::Load(QANewModTopOpe_Limitation& MS) const {
-  TopoDS_Shape ResSh = MS.Shape();
-
-  const TopoDS_Shape& ObjSh = MS.Shape1();
-  const TopAbs_ShapeEnum& ObjType = ShapeType(ObjSh);
-
-  if (ResSh.IsNull()) {
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Limitation::Load(): The result of the boolean operation is null"<<endl;
-#endif
-    return;
-  }
-
-  if (MS.Shape().ShapeType() == TopAbs_COMPOUND) {
-    Standard_Integer nbSubResults = 0;
-    TopoDS_Iterator itr(MS.Shape());
-    for (; itr.More(); itr.Next()) nbSubResults++;
-    if (nbSubResults == 1) {
-      itr.Initialize(MS.Shape());
-      if (itr.More()) ResSh = itr.Value();
-    }
-  } 
-  if(MS.Shape1().IsSame(ResSh)) {
-// If the shapes are the same - select the result and exit:
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Limitation::Load(): The object and the result of LIMITATION operation are the same"<<endl;
-#endif
-    TNaming_Builder aBuilder(ResultLabel());
-    aBuilder.Select(ResSh, ObjSh);
-    return;
-  }
-  // Naming of the result:
-  LoadResult(MS);
-     
-  // Naming of the content:
-//  if (ResSh.ShapeType() == TopAbs_COMPOUND) {
-    
-//    LoadContent(MS);
-
-//  }
-  
-  // Naming of modified, deleted and new sub shapes:
-  if (ObjType == TopAbs_WIRE || ObjType == TopAbs_EDGE) {
-//    LoadWire(MS);
-    TNaming_Builder ModBuilder(ModifiedEdges()); 
-    QANewBRepNaming_Loader::LoadModifiedShapes (MS, MS.Shape1(), TopAbs_EDGE, ModBuilder, Standard_False);
-    if(MS.HasGenerated()) {  
-      TNaming_Builder nBuilder (NewShapes());
-//  generated Vertexes
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, MS.Shape1(), TopAbs_EDGE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, MS.Shape2(), TopAbs_FACE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, MS.Shape2(), TopAbs_EDGE, nBuilder);  
-    }
-    if(MS.HasDeleted()){ 
-      TNaming_Builder DelEBuilder(DeletedEdges());
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape1(), TopAbs_EDGE, DelEBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape2(), TopAbs_EDGE, DelEBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape1(), TopAbs_VERTEX, DelEBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape2(), TopAbs_VERTEX, DelEBuilder);      
-    }
-  }
-  else if (ObjType == TopAbs_SHELL || ObjType == TopAbs_FACE) {
-    //LoadShell(MS);
-    TNaming_Builder ModBuilder(ModifiedFaces()); 
-    QANewBRepNaming_Loader::LoadModifiedShapes (MS, MS.Shape1(), TopAbs_FACE, ModBuilder, Standard_False);
-    QANewBRepNaming_Loader::LoadModifiedShapes (MS, MS.Shape1(), TopAbs_EDGE, ModBuilder, Standard_False);
-
-    if(MS.HasGenerated()) {  
-      TNaming_Builder nBuilder (NewShapes());
-//  generated free Edges
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, MS.Shape1(), TopAbs_FACE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, MS.Shape2(), TopAbs_FACE, nBuilder);
-      QANewBRepNaming_Loader::LoadGeneratedShapes (MS, MS.Shape2(), TopAbs_EDGE, nBuilder);
-    }
-    if(MS.HasDeleted()){ 
-      TNaming_Builder DelEBuilder(DeletedFaces());
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape1(), TopAbs_FACE, DelEBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape2(), TopAbs_FACE, DelEBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape1(), TopAbs_EDGE, DelEBuilder); //free bound.
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape2(), TopAbs_EDGE, DelEBuilder);      
-    }    
-  }
-  else if(ObjType == TopAbs_SOLID) {
-    TNaming_Builder ModBuilder(ModifiedFaces()); 
-    QANewBRepNaming_Loader::LoadModifiedShapes (MS, MS.Shape1(), TopAbs_FACE, ModBuilder, Standard_False);
-    QANewBRepNaming_Loader::LoadModifiedShapes (MS, MS.Shape2(), TopAbs_FACE, ModBuilder, Standard_False);
-    
-    if(MS.HasDeleted()){ 
-      TNaming_Builder DelEBuilder(DeletedFaces());
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape1(), TopAbs_FACE, DelEBuilder);
-      QANewBRepNaming_Loader::LoadDeletedShapes(MS, MS.Shape2(), TopAbs_FACE, DelEBuilder);    
-    }        
-  }
-
-  LoadDegenerated(MS);
-
-}
-
-//=======================================================================
-//function : LoadResult
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Limitation::LoadResult(QANewModTopOpe_Limitation& MS) const {
-  Handle(TDF_TagSource) Tagger = TDF_TagSource::Set(ResultLabel());
-  if (Tagger.IsNull()) return;
-  Tagger->Set(0);
-  TNaming_Builder Builder (ResultLabel());
-  TopoDS_Shape aResult = MS.Shape();
-  if (aResult.ShapeType() == TopAbs_COMPOUND) {
-    Standard_Integer nbSubResults = 0;
-    TopoDS_Iterator itr(aResult);
-    for (; itr.More(); itr.Next()) nbSubResults++;
-    if (nbSubResults == 1) {
-      itr.Initialize(aResult);
-      if (itr.More()) aResult = itr.Value();
-    }
-  }
-  if (MS.Shape1().IsNull()) Builder.Generated(aResult);
-  else Builder.Modify(MS.Shape1(), aResult);  
-}
-
-//=======================================================================
-//function : LoadDegenerated
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Limitation::LoadDegenerated(QANewModTopOpe_Limitation& MS) const {
-  TopTools_IndexedMapOfShape allEdges;
-  TopExp::MapShapes(MS.Shape1(), TopAbs_EDGE, allEdges);
-  Standard_Integer i = 1;
-  for (; i <= allEdges.Extent(); i++) {
-    if (BRep_Tool::Degenerated(TopoDS::Edge(allEdges.FindKey(i)))) {
-      if (MS.IsDeleted(allEdges.FindKey(i))) {
-       TNaming_Builder DegeneratedBuilder(DeletedDegeneratedEdges()); 
-       DegeneratedBuilder.Generated(allEdges.FindKey(i));
-#ifdef OCCT_DEBUG
-       TDataStd_Name::Set(DegeneratedBuilder.NamedShape()->Label(), "DeletedDegenerated");
-#endif
-      }      
-    }
-  }
-}
-//=======================================================================
-//function : LoadContent
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Limitation::LoadContent(QANewModTopOpe_Limitation& MS) const {
-  if (MS.Shape().ShapeType() == TopAbs_COMPSOLID || MS.Shape().ShapeType() == TopAbs_COMPOUND) {
-    TopoDS_Iterator itr(MS.Shape());
-    Standard_Integer nbShapes = 0;
-    while (itr.More()) {
-      nbShapes++;
-      itr.Next();
-    }
-    if (nbShapes > 1) {
-      for (itr.Initialize(MS.Shape()); itr.More(); itr.Next()) {
-       TNaming_Builder bContent(Content());
-       bContent.Generated(MS.Shape1(),itr.Value());
-       bContent.Generated(MS.Shape2(),itr.Value());
-      }
-    }
-  } 
-} 
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Limitation.hxx b/src/QANewBRepNaming/QANewBRepNaming_Limitation.hxx
deleted file mode 100644 (file)
index fbbc46f..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-// Created on: 2000-10-31
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 2000-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Limitation_HeaderFile
-#define _QANewBRepNaming_Limitation_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_BooleanOperation.hxx>
-class TDF_Label;
-class QANewModTopOpe_Limitation;
-
-
-
-class QANewBRepNaming_Limitation  : public QANewBRepNaming_BooleanOperation
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_Limitation();
-  
-  Standard_EXPORT QANewBRepNaming_Limitation(const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Load (QANewModTopOpe_Limitation& MakeShape) const;
-
-
-
-
-protected:
-
-  
-  //! Loads the content of the result.
-  Standard_EXPORT void LoadContent (QANewModTopOpe_Limitation& MakeShape) const;
-  
-  //! Loads the result.
-  Standard_EXPORT void LoadResult (QANewModTopOpe_Limitation& MakeShape) const;
-  
-  //! Loads the deletion of the degenerated edges.
-  Standard_EXPORT void LoadDegenerated (QANewModTopOpe_Limitation& MakeShape) const;
-  
-  //! A default implementation for naming of a wire as an object of
-  //! a boolean operation.
-  Standard_EXPORT void LoadWire (QANewModTopOpe_Limitation& MakeShape) const;
-  
-  //! A default implementation for naming of a shell as an object of
-  //! a boolean operation.
-  Standard_EXPORT void LoadShell (QANewModTopOpe_Limitation& MakeShape) const;
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Limitation_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Loader.cxx b/src/QANewBRepNaming/QANewBRepNaming_Loader.cxx
deleted file mode 100644 (file)
index 91a078d..0000000
+++ /dev/null
@@ -1,424 +0,0 @@
-// Created on: 1999-10-25
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRepAlgoAPI_BooleanOperation.hxx>
-#include <BRepBuilderAPI_MakeShape.hxx>
-#include <QANewBRepNaming_Loader.hxx>
-#include <TDataStd_Name.hxx>
-#include <TDF_Label.hxx>
-#include <TNaming.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TopExp.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopLoc_Location.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopTools_DataMapIteratorOfDataMapOfShapeShape.hxx>
-#include <TopTools_DataMapOfShapeShape.hxx>
-#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
-#include <TopTools_ListOfShape.hxx>
-#include <TopTools_MapIteratorOfMapOfShape.hxx>
-#include <TopTools_MapOfShape.hxx>
-
-//=======================================================================
-//function : LoadGeneratedShapes
-//purpose  :   Load in   the naming data-structure   the  shape
-//           generated  from FACE,  EDGE, VERTEX,..., after the
-//           MakeShape   operation.  <ShapeIn>  is  the initial
-//           shape.   <GeneratedFrom>   defines  the   kind  of
-//           shape generation    to    record  in   the  naming
-//           data-structure. The <builder> is used to store the
-//           set of evolutions in the data-framework of TDF.
-//=======================================================================
-void QANewBRepNaming_Loader::LoadGeneratedShapes (BRepBuilderAPI_MakeShape& MS, 
-                                            const TopoDS_Shape&     ShapeIn,
-                                            const TopAbs_ShapeEnum  KindOfShape,
-                                            TNaming_Builder&        Builder)
-{
-  TopTools_MapOfShape View;
-  TopExp_Explorer ShapeExplorer (ShapeIn, KindOfShape);
-  for (; ShapeExplorer.More(); ShapeExplorer.Next ()) {
-    const TopoDS_Shape& Root = ShapeExplorer.Current ();
-    if (!View.Add(Root)) continue;
-    const TopTools_ListOfShape& Shapes = MS.Generated (Root);
-    TopTools_ListIteratorOfListOfShape ShapesIterator (Shapes);
-    for (;ShapesIterator.More (); ShapesIterator.Next ()) {
-      const TopoDS_Shape& newShape = ShapesIterator.Value ();
-      if (!Root.IsSame (newShape)) Builder.Generated (Root,newShape );
-    }
-  }
-}
-
-
-
-//=======================================================================
-//function : LoadAndOrientGeneratedShapes
-//purpose  : The same as LoadGeneratedShapes plus performs orientation of
-//           loaded shapes according orientation of SubShapes
-//=======================================================================
-
-void QANewBRepNaming_Loader::LoadAndOrientGeneratedShapes (BRepBuilderAPI_MakeShape&     MS,
-                                                     const TopoDS_Shape&           ShapeIn,
-                                                     const TopAbs_ShapeEnum        KindOfShape,
-                                                     TNaming_Builder&              Builder,
-                                                     const TopTools_DataMapOfShapeShape& SubShapes)
-{
-  TopTools_MapOfShape View;
-  TopExp_Explorer ShapeExplorer (ShapeIn, KindOfShape);
-  for (; ShapeExplorer.More(); ShapeExplorer.Next ()) {
-    const TopoDS_Shape& Root = ShapeExplorer.Current ();
-    if (!View.Add(Root)) continue;
-    const TopTools_ListOfShape& Shapes = MS.Generated (Root);
-    TopTools_ListIteratorOfListOfShape ShapesIterator (Shapes);
-    for (;ShapesIterator.More (); ShapesIterator.Next ()) {
-      TopoDS_Shape newShape = ShapesIterator.Value ();
-      if (SubShapes.IsBound(newShape)) {
-       newShape.Orientation((SubShapes(newShape)).Orientation());
-      }
-      if (!Root.IsSame (newShape)) Builder.Generated (Root,newShape );
-    }
-  }
-}
-
-//=======================================================================
-//function : LoadModifiedShapes
-//purpose  :   Load in  the naming data-structure     the shape
-//           modified from FACE, EDGE, VERTEX,...,    after the
-//           MakeShape operation.      <ShapeIn> is the initial
-//           shape. <ModifiedFrom> defines the kind of    shape
-//            modification    to      record  in   the   naming
-//           data-structure. The <builder> is used to store the
-//           set of evolutions in the data-framework of TDF.
-//=======================================================================
-
-void QANewBRepNaming_Loader::LoadModifiedShapes (BRepBuilderAPI_MakeShape&    MS,
-                                           const TopoDS_Shape&     ShapeIn,
-                                           const TopAbs_ShapeEnum  KindOfShape,
-                                           TNaming_Builder&        Builder,
-                                           const Standard_Boolean  theBool)
-{ 
-  TopTools_MapOfShape View;
-  TopExp_Explorer ShapeExplorer (ShapeIn, KindOfShape);
-  TopTools_ListOfShape Shapes;
-  BRepAlgoAPI_BooleanOperation* pMS = NULL;
-  if (theBool) 
-    pMS = (reinterpret_cast<BRepAlgoAPI_BooleanOperation *>(&MS));
-  for (; ShapeExplorer.More(); ShapeExplorer.Next ()) {
-    const TopoDS_Shape& Root = ShapeExplorer.Current ();
-    if (!View.Add(Root)) continue;
-//    const TopTools_ListOfShape& Shapes = MS.Modified (Root);
-    if (theBool) 
-      Shapes = pMS->Modified (Root);
-    else
-      Shapes = MS.Modified (Root);
-    TopTools_ListIteratorOfListOfShape ShapesIterator (Shapes);
-    for (;ShapesIterator.More (); ShapesIterator.Next ()) {
-      const TopoDS_Shape& newShape = ShapesIterator.Value ();
-      if (!Root.IsSame (newShape)) {
-       Builder.Modify (Root,newShape );
-      }
-    }
-  }
-}
-
-
-//=======================================================================
-//function : LoadAndOrientModifiedShapes
-//purpose  : The same as LoadModifiedShapes plus performs orientation of
-//           loaded shapes according orientation of SubShapes
-//=======================================================================
-
-void QANewBRepNaming_Loader::LoadAndOrientModifiedShapes (BRepBuilderAPI_MakeShape&     MS,
-                                                    const TopoDS_Shape&           ShapeIn,
-                                                    const TopAbs_ShapeEnum        KindOfShape,
-                                                    TNaming_Builder&              Builder,
-                                                    const TopTools_DataMapOfShapeShape& SubShapes)
-{
-  TopTools_MapOfShape View;
-  TopExp_Explorer ShapeExplorer (ShapeIn, KindOfShape);
-  for (; ShapeExplorer.More(); ShapeExplorer.Next ()) {
-    const TopoDS_Shape& Root = ShapeExplorer.Current ();
-    if (!View.Add(Root)) continue;
-    const TopTools_ListOfShape& Shapes = MS.Modified(Root); 
-    TopTools_ListIteratorOfListOfShape ShapesIterator (Shapes);
-    for (;ShapesIterator.More (); ShapesIterator.Next ()) {
-      TopoDS_Shape newShape = ShapesIterator.Value ();
-      if (SubShapes.IsBound(newShape)) {
-       newShape.Orientation((SubShapes(newShape)).Orientation());
-      }
-      if (!Root.IsSame (newShape)) Builder.Modify (Root,newShape );
-    }
-  }
-}
-
-
-//=======================================================================
-//function : LoadDeletedShapes
-//purpose  : Load in the naming data-structure the shape
-//             deleted after the MakeShape operation.
-//           <ShapeIn> is the initial shape.
-//           <KindOfDeletedShape> defines the kind of
-//             deletion to record in the naming data-structure.
-//           The <builder> is used to store the set of evolutions
-//             in the data-framework of TDF.
-//=======================================================================
-
-void QANewBRepNaming_Loader::LoadDeletedShapes (BRepBuilderAPI_MakeShape& MS,
-                                          const TopoDS_Shape&     ShapeIn,
-                                          const TopAbs_ShapeEnum  KindOfShape,
-                                          TNaming_Builder&        Builder)
-{  
-  TopTools_MapOfShape View;
-  TopExp_Explorer ShapeExplorer (ShapeIn, KindOfShape);
-  for (; ShapeExplorer.More(); ShapeExplorer.Next ()) {
-    const TopoDS_Shape& Root = ShapeExplorer.Current ();
-    if (!View.Add(Root)) continue;
-    if (MS.IsDeleted (Root)) Builder.Delete (Root);
-  }
-}
-
-
-//=======================================================================
-//function : ModifyPart
-//purpose  : Internal Tool
-//=======================================================================
-
-void QANewBRepNaming_Loader::ModifyPart (const TopoDS_Shape& PartShape,
-                                   const TopoDS_Shape& Primitive,
-                                   const TDF_Label&    Label) 
-{
-
-  TNaming_Builder Builder (Label);
-
-  TopLoc_Location PartLocation = PartShape.Location ();
-  if (!PartLocation.IsIdentity ()) {
-    TopLoc_Location Identity;
-    Builder.Modify (PartShape.Located(Identity), Primitive);
-    TNaming::Displace (Label, PartLocation);
-  }
-  else Builder.Modify (PartShape, Primitive);
-}
-
-//=======================================================================
-//function : HasDangleShapes
-//purpose  : 
-//=======================================================================
-
-Standard_Boolean QANewBRepNaming_Loader::HasDangleShapes(const TopoDS_Shape& ShapeIn) {
-  if (ShapeIn.ShapeType() == TopAbs_COMPOUND) {
-    TopoDS_Iterator itr(ShapeIn);
-    for (; itr.More(); itr.Next()) 
-      if (itr.Value().ShapeType() != TopAbs_SOLID) return Standard_True;
-    return Standard_False;
-  } else if (ShapeIn.ShapeType() == TopAbs_COMPSOLID || 
-            ShapeIn.ShapeType() == TopAbs_SOLID) {
-    return Standard_False;
-  } else if (ShapeIn.ShapeType() == TopAbs_SHELL ||
-            ShapeIn.ShapeType() == TopAbs_FACE ||
-            ShapeIn.ShapeType() == TopAbs_WIRE ||
-            ShapeIn.ShapeType() == TopAbs_EDGE ||
-            ShapeIn.ShapeType() == TopAbs_VERTEX)
-    return Standard_True;
-  return Standard_False;
-}
-
-//=======================================================================
-//function : GetDangleShapes
-//purpose  : Returns dangle sub shapes Generator - Dangle.
-//=======================================================================
-
-Standard_Boolean QANewBRepNaming_Loader::GetDangleShapes(const TopoDS_Shape& ShapeIn,
-                                                   const TopAbs_ShapeEnum GeneratedFrom,
-                                                   TopTools_DataMapOfShapeShape& Dangles) 
-{
-  Dangles.Clear();
-  TopTools_IndexedDataMapOfShapeListOfShape subShapeAndAncestors;
-  TopAbs_ShapeEnum GeneratedTo;
-  if (GeneratedFrom == TopAbs_FACE) GeneratedTo = TopAbs_EDGE;
-  else if (GeneratedFrom == TopAbs_EDGE) GeneratedTo = TopAbs_VERTEX;
-  else return Standard_False;
-  TopExp::MapShapesAndAncestors(ShapeIn, GeneratedTo, GeneratedFrom, subShapeAndAncestors);
-  for (Standard_Integer i = 1; i <= subShapeAndAncestors.Extent(); i++) {
-    const TopoDS_Shape& mayBeDangle = subShapeAndAncestors.FindKey(i);
-    const TopTools_ListOfShape& ancestors = subShapeAndAncestors.FindFromIndex(i);
-    if (ancestors.Extent() == 1) Dangles.Bind(ancestors.First(), mayBeDangle);
-  }
-  return !Dangles.IsEmpty();
-}
-
-//=======================================================================
-//function : GetDangleShapes
-//purpose  : Returns dangle sub shapes.
-//=======================================================================
-Standard_Boolean QANewBRepNaming_Loader::GetDangleShapes(const TopoDS_Shape& ShapeIn,
-                                                    const TopAbs_ShapeEnum GeneratedFrom,
-                                                    TopTools_MapOfShape& Dangles)
-{
-  Dangles.Clear();
-  TopTools_IndexedDataMapOfShapeListOfShape subShapeAndAncestors;
-  TopAbs_ShapeEnum GeneratedTo;
-  if (GeneratedFrom == TopAbs_FACE) GeneratedTo = TopAbs_EDGE;
-  else if (GeneratedFrom == TopAbs_EDGE) GeneratedTo = TopAbs_VERTEX;
-  else return Standard_False;
-  TopExp::MapShapesAndAncestors(ShapeIn, GeneratedTo, GeneratedFrom, subShapeAndAncestors);
-  for (Standard_Integer i = 1; i <= subShapeAndAncestors.Extent(); i++) {
-    const TopoDS_Shape& mayBeDangle = subShapeAndAncestors.FindKey(i);
-    const TopTools_ListOfShape& ancestors = subShapeAndAncestors.FindFromIndex(i);
-    if (ancestors.Extent() == 1) Dangles.Add(mayBeDangle);
-  }
-  return !Dangles.IsEmpty();
-}
-
-//=======================================================================
-//function : LoadGeneratedDangleShapes
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Loader::LoadGeneratedDangleShapes(const TopoDS_Shape&          ShapeIn,
-                                                 const TopAbs_ShapeEnum       GeneratedFrom,
-                                                 TNaming_Builder&             Builder)
-{
-  TopTools_DataMapOfShapeShape dangles;
-  if (!QANewBRepNaming_Loader::GetDangleShapes(ShapeIn, GeneratedFrom, dangles)) return;
-  TopTools_DataMapIteratorOfDataMapOfShapeShape itr(dangles);
-  for (; itr.More(); itr.Next()) Builder.Generated(itr.Key(), itr.Value());
-}
-
-//=======================================================================
-//function : LoadGeneratedDangleShapes
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Loader::LoadGeneratedDangleShapes(const TopoDS_Shape&          ShapeIn,
-                                                 const TopAbs_ShapeEnum       GeneratedFrom,
-                                                 const TopTools_MapOfShape&   OnlyThese,
-                                                 TNaming_Builder&             Builder)
-{
-  TopTools_DataMapOfShapeShape dangles;
-  if (!QANewBRepNaming_Loader::GetDangleShapes(ShapeIn, GeneratedFrom, dangles)) return;
-  TopTools_DataMapIteratorOfDataMapOfShapeShape itr(dangles);
-  for (; itr.More(); itr.Next()) {
-    if (!OnlyThese.Contains(itr.Value())) continue;
-    Builder.Generated(itr.Key(), itr.Value());
-  }
-}
-
-//=======================================================================
-//function : LoadModifiedDangleShapes
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Loader::LoadModifiedDangleShapes (BRepBuilderAPI_MakeShape& MS,
-                                                 const TopoDS_Shape&       ShapeIn,
-                                                 const TopAbs_ShapeEnum    KindOfShape,
-                                                 TNaming_Builder&          Builder)
-{ 
-  TopTools_MapOfShape OnlyThese;
-  TopAbs_ShapeEnum neighbour = TopAbs_EDGE;
-  if (KindOfShape == TopAbs_EDGE) neighbour = TopAbs_FACE;
-  if (!QANewBRepNaming_Loader::GetDangleShapes(ShapeIn, neighbour, OnlyThese)) return;
-
-  TopTools_MapOfShape View;
-  TopExp_Explorer ShapeExplorer (ShapeIn, KindOfShape);
-  for (; ShapeExplorer.More(); ShapeExplorer.Next ()) {
-    const TopoDS_Shape& Root = ShapeExplorer.Current ();
-    if (!View.Add(Root) || !OnlyThese.Contains(Root)) continue;
-    const TopTools_ListOfShape& Shapes = MS.Modified (Root);
-    TopTools_ListIteratorOfListOfShape ShapesIterator (Shapes);
-    for (;ShapesIterator.More (); ShapesIterator.Next ()) {
-      const TopoDS_Shape& newShape = ShapesIterator.Value ();
-      if (!Root.IsSame (newShape)) {
-       Builder.Modify (Root,newShape );
-      }
-    }
-  }
-}
-
-//=======================================================================
-//function : IsDangle
-//purpose  : Don't use this method inside an iteration process!
-//=======================================================================
-Standard_Boolean QANewBRepNaming_Loader::IsDangle (const TopoDS_Shape& theDangle, 
-                                             const TopoDS_Shape& theShape) {
-  TopTools_MapOfShape dangles;
-  TopAbs_ShapeEnum neighbour = TopAbs_EDGE;
-  if (theDangle.ShapeType() == TopAbs_EDGE) neighbour = TopAbs_FACE;
-  if (!QANewBRepNaming_Loader::GetDangleShapes(theShape, neighbour, dangles)) return Standard_False;
-  return dangles.Contains(theDangle);
-}  
-
-//=======================================================================
-//function : LoadDeletedDangleShapes
-//purpose  : 
-//=======================================================================
-void QANewBRepNaming_Loader::LoadDeletedDangleShapes (BRepBuilderAPI_MakeShape& MS,
-                                                const TopoDS_Shape&       ShapeIn,
-                                                const TopAbs_ShapeEnum    KindOfShape,
-                                                TNaming_Builder&          Builder)
-{ 
-  if (KindOfShape != TopAbs_EDGE && KindOfShape != TopAbs_VERTEX) return; // not implemented ...
-  TopTools_MapOfShape View;
-  TopExp_Explorer ShapeExplorer (ShapeIn, KindOfShape);
-  for (; ShapeExplorer.More(); ShapeExplorer.Next ()) {
-    const TopoDS_Shape& Root = ShapeExplorer.Current ();
-    if (!View.Add(Root)) continue;
-    if (!QANewBRepNaming_Loader::IsDangle(Root, ShapeIn)) continue;
-    if (MS.IsDeleted (Root)) Builder.Delete (Root);
-  }
-}  
-
-//=======================================================================
-//function : LoadDangleShapes
-//purpose  : 
-//=======================================================================
-void QANewBRepNaming_Loader::LoadDangleShapes(const TopoDS_Shape& theShape,const TDF_Label& theLabelGenerator) {
-  QANewBRepNaming_Loader::LoadDangleShapes(theShape, TopoDS_Shape(), theLabelGenerator);
-}
-
-//=======================================================================
-//function : LoadDangleShapes
-//purpose  : 
-//=======================================================================
-void QANewBRepNaming_Loader::LoadDangleShapes(const TopoDS_Shape& theShape,
-                                        const TopoDS_Shape& theIgnoredShape,
-                                        const TDF_Label& theLabelGenerator)
-{
-  TopTools_MapOfShape dangles, ignored;
-  TopAbs_ShapeEnum GeneratedFrom = TopAbs_EDGE; // theShape.ShapeType() == TopAbs_WIRE or TopAbs_EDGE
-  if (theShape.ShapeType() == TopAbs_SHELL || theShape.ShapeType() == TopAbs_FACE)
-    GeneratedFrom = TopAbs_FACE;
-  if (!QANewBRepNaming_Loader::GetDangleShapes(theShape, GeneratedFrom, dangles)) return;
-  if (!theIgnoredShape.IsNull()) {
-    TopoDS_Iterator itrI(theIgnoredShape);
-    for (; itrI.More(); itrI.Next()) {
-      TopoDS_Shape ignoredShape = itrI.Value();
-      ignored.Add(ignoredShape);
-    }
-  }
-  TopTools_MapIteratorOfMapOfShape itr (dangles);
-  for (; itr.More(); itr.Next()) {
-    const TopoDS_Shape& aDangle = itr.Key();
-    if (ignored.Contains(aDangle)) continue;
-    TNaming_Builder aBuilder(theLabelGenerator.NewChild());
-#ifdef OCCT_DEBUG
-    TDataStd_Name::Set(aBuilder.NamedShape()->Label(), "NewShapes");
-#endif
-    aBuilder.Generated(aDangle);
-  }
-}
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Loader.hxx b/src/QANewBRepNaming/QANewBRepNaming_Loader.hxx
deleted file mode 100644 (file)
index 8bacedc..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-// Created on: 1999-10-25
-// Created by: Sergey ZARITCHNY <szy@philipox.nnov.matra-dtv.fr>
-// Copyright (c) 1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Loader_HeaderFile
-#define _QANewBRepNaming_Loader_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <TopAbs_ShapeEnum.hxx>
-#include <Standard_Boolean.hxx>
-#include <TopTools_DataMapOfShapeShape.hxx>
-#include <TopTools_MapOfShape.hxx>
-class BRepBuilderAPI_MakeShape;
-class TopoDS_Shape;
-class TNaming_Builder;
-class TDF_Label;
-
-
-
-class QANewBRepNaming_Loader 
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  //! Load in   the naming data-structure   the  shape
-  //! generated  from FACE,  EDGE, VERTEX,..., after the
-  //! MakeShape   operation.  <ShapeIn>  is  the initial
-  //! shape.   <GeneratedFrom>   defines  the   kind  of
-  //! shape generation    to    record  in   the  naming
-  //! data-structure. The <builder> is used to store the
-  //! set of evolutions in the data-framework of TDF.
-  Standard_EXPORT static void LoadGeneratedShapes (BRepBuilderAPI_MakeShape& MakeShape, const TopoDS_Shape& ShapeIn, const TopAbs_ShapeEnum GeneratedFrom, TNaming_Builder& Buider);
-  
-  //! Load in the naming data-structure the shape
-  //! modified from FACE, EDGE, VERTEX,...,
-  //! after the MakeShape operation.
-  //! <ShapeIn> is the initial shape.
-  //! <ModifiedFrom> defines the kind of shape modification
-  //! to record in the naming data-structure.
-  //! The <builder> is used to store the set of evolutions
-  //! in the data-framework of TDF.
-  Standard_EXPORT static void LoadModifiedShapes (BRepBuilderAPI_MakeShape& MakeShape, const TopoDS_Shape& ShapeIn, const TopAbs_ShapeEnum ModifiedFrom, TNaming_Builder& Buider, const Standard_Boolean theBool = Standard_False);
-  
-  //! Load in the naming data-structure the shape
-  //! deleted after the MakeShape operation.
-  //! <ShapeIn> is the initial shape.
-  //! <KindOfDeletedShape> defines the kind of
-  //! deletion to record in the naming data-structure.
-  //! The <builder> is used to store the set of evolutions
-  //! in the data-framework of TDF.
-  Standard_EXPORT static void LoadDeletedShapes (BRepBuilderAPI_MakeShape& MakeShape, const TopoDS_Shape& ShapeIn, const TopAbs_ShapeEnum KindOfDeletedShape, TNaming_Builder& Buider);
-  
-  //! The same as LoadGeneratedShapes plus performs orientation of
-  //! loaded shapes according orientation of SubShapes
-  Standard_EXPORT static void LoadAndOrientGeneratedShapes (BRepBuilderAPI_MakeShape& MakeShape, const TopoDS_Shape& ShapeIn, const TopAbs_ShapeEnum GeneratedFrom, TNaming_Builder& Buider, const TopTools_DataMapOfShapeShape& SubShapesOfResult);
-  
-  //! The same as LoadModifiedShapes plus performs orientation of
-  //! loaded shapes according orientation of SubShapes
-  Standard_EXPORT static void LoadAndOrientModifiedShapes (BRepBuilderAPI_MakeShape& MakeShape, const TopoDS_Shape& ShapeIn, const TopAbs_ShapeEnum ModifiedFrom, TNaming_Builder& Buider, const TopTools_DataMapOfShapeShape& SubShapesOfResult);
-  
-  Standard_EXPORT static void ModifyPart (const TopoDS_Shape& PartShape, const TopoDS_Shape& Primitive, const TDF_Label& Label);
-  
-  Standard_EXPORT static Standard_Boolean HasDangleShapes (const TopoDS_Shape& ShapeIn);
-  
-  Standard_EXPORT static void LoadGeneratedDangleShapes (const TopoDS_Shape& ShapeIn, const TopAbs_ShapeEnum GeneratedFrom, TNaming_Builder& GenBuider);
-  
-  Standard_EXPORT static void LoadGeneratedDangleShapes (const TopoDS_Shape& ShapeIn, const TopAbs_ShapeEnum GeneratedFrom, const TopTools_MapOfShape& OnlyThese, TNaming_Builder& GenBuider);
-  
-  Standard_EXPORT static void LoadModifiedDangleShapes (BRepBuilderAPI_MakeShape& MakeShape, const TopoDS_Shape& ShapeIn, const TopAbs_ShapeEnum GeneratedFrom, TNaming_Builder& GenBuider);
-  
-  Standard_EXPORT static void LoadDeletedDangleShapes (BRepBuilderAPI_MakeShape& MakeShape, const TopoDS_Shape& ShapeIn, const TopAbs_ShapeEnum ShapeType, TNaming_Builder& DelBuider);
-  
-  Standard_EXPORT static void LoadDangleShapes (const TopoDS_Shape& theShape, const TDF_Label& theLabelGenerator);
-  
-  Standard_EXPORT static void LoadDangleShapes (const TopoDS_Shape& theShape, const TopoDS_Shape& ignoredShape, const TDF_Label& theLabelGenerator);
-  
-  //! Returns dangle sub shapes Generator - Dangle.
-  Standard_EXPORT static Standard_Boolean GetDangleShapes (const TopoDS_Shape& ShapeIn, const TopAbs_ShapeEnum GeneratedFrom, TopTools_DataMapOfShapeShape& Dangles);
-  
-  //! Returns dangle sub shapes.
-  Standard_EXPORT static Standard_Boolean GetDangleShapes (const TopoDS_Shape& ShapeIn, const TopAbs_ShapeEnum GeneratedFrom, TopTools_MapOfShape& Dangles);
-  
-  Standard_EXPORT static Standard_Boolean IsDangle (const TopoDS_Shape& theDangle, const TopoDS_Shape& theShape);
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Loader_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_LoaderParent.cxx b/src/QANewBRepNaming/QANewBRepNaming_LoaderParent.cxx
deleted file mode 100644 (file)
index 66c893a..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-// Created on: 1999-10-25
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRepBuilderAPI_MakeShape.hxx>
-#include <QANewBRepNaming_LoaderParent.hxx>
-#include <TDataStd_Name.hxx>
-#include <TDF_Label.hxx>
-#include <TNaming.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TopExp.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopLoc_Location.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopTools_DataMapIteratorOfDataMapOfShapeShape.hxx>
-#include <TopTools_DataMapOfShapeShape.hxx>
-#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
-#include <TopTools_ListOfShape.hxx>
-#include <TopTools_MapIteratorOfMapOfShape.hxx>
-#include <TopTools_MapOfShape.hxx>
-
-//=======================================================================
-//function : GetDangleShapes
-//purpose  : Returns dangle sub shapes Generator - Dangle.
-//=======================================================================
-Standard_Boolean QANewBRepNaming_LoaderParent::GetDangleShapes(const TopoDS_Shape& ShapeIn,
-                                                   const TopAbs_ShapeEnum GeneratedFrom,
-                                                   TopTools_DataMapOfShapeShape& Dangles) 
-{
-  Dangles.Clear();
-  TopTools_IndexedDataMapOfShapeListOfShape subShapeAndAncestors;
-  TopAbs_ShapeEnum GeneratedTo;
-  if (GeneratedFrom == TopAbs_FACE) GeneratedTo = TopAbs_EDGE;
-  else if (GeneratedFrom == TopAbs_EDGE) GeneratedTo = TopAbs_VERTEX;
-  else return Standard_False;
-  TopExp::MapShapesAndAncestors(ShapeIn, GeneratedTo, GeneratedFrom, subShapeAndAncestors);
-  for (Standard_Integer i = 1; i <= subShapeAndAncestors.Extent(); i++) {
-    const TopoDS_Shape& mayBeDangle = subShapeAndAncestors.FindKey(i);
-    const TopTools_ListOfShape& ancestors = subShapeAndAncestors.FindFromIndex(i);
-    if (ancestors.Extent() == 1) Dangles.Bind(ancestors.First(), mayBeDangle);
-  }
-  return !Dangles.IsEmpty();
-}
-
-//=======================================================================
-//function : GetDangleShapes
-//purpose  : Returns dangle sub shapes.
-//=======================================================================
-/*
-Standard_Boolean QANewBRepNaming_LoaderParent::GetDangleShapes(const TopoDS_Shape& ShapeIn,
-                                                   const TopAbs_ShapeEnum GeneratedFrom,
-                                                   TopTools_MapOfShape& Dangles) 
-{
-  Dangles.Clear();
-  TopTools_IndexedDataMapOfShapeListOfShape subShapeAndAncestors;
-  TopAbs_ShapeEnum GeneratedTo;
-  if (GeneratedFrom == TopAbs_FACE) GeneratedTo = TopAbs_EDGE;
-  else if (GeneratedFrom == TopAbs_EDGE) GeneratedTo = TopAbs_VERTEX;
-  else return Standard_False;
-  TopExp::MapShapesAndAncestors(ShapeIn, GeneratedTo, GeneratedFrom, subShapeAndAncestors);
-  for (Standard_Integer i = 1; i <= subShapeAndAncestors.Extent(); i++) {
-    const TopoDS_Shape& mayBeDangle = subShapeAndAncestors.FindKey(i);
-    const TopTools_ListOfShape& ancestors = subShapeAndAncestors.FindFromIndex(i);
-    if (ancestors.Extent() == 1) Dangles.Add(mayBeDangle);
-  }
-  return !Dangles.IsEmpty();
-}
-*/
-//=======================================================================
-//function : LoadGeneratedDangleShapes
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_LoaderParent::LoadGeneratedDangleShapes(const TopoDS_Shape&          ShapeIn,
-                                                 const TopAbs_ShapeEnum       GeneratedFrom,
-                                                 TNaming_Builder&             Builder)
-{
-  TopTools_DataMapOfShapeShape dangles;
-  if (!QANewBRepNaming_LoaderParent::GetDangleShapes(ShapeIn, GeneratedFrom, dangles)) return;
-  TopTools_DataMapIteratorOfDataMapOfShapeShape itr(dangles);
-  for (; itr.More(); itr.Next()) Builder.Generated(itr.Key(), itr.Value());
-}
-
diff --git a/src/QANewBRepNaming/QANewBRepNaming_LoaderParent.hxx b/src/QANewBRepNaming/QANewBRepNaming_LoaderParent.hxx
deleted file mode 100644 (file)
index fac9818..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-// Created on: 2003-05-21
-// Created by: Open CASCADE Support
-// Copyright (c) 2003-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_LoaderParent_HeaderFile
-#define _QANewBRepNaming_LoaderParent_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <TopAbs_ShapeEnum.hxx>
-#include <Standard_Boolean.hxx>
-#include <TopTools_DataMapOfShapeShape.hxx>
-class TopoDS_Shape;
-class TNaming_Builder;
-
-
-
-class QANewBRepNaming_LoaderParent 
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT static void LoadGeneratedDangleShapes (const TopoDS_Shape& ShapeIn, const TopAbs_ShapeEnum GeneratedFrom, TNaming_Builder& GenBuider);
-  
-  Standard_EXPORT static Standard_Boolean GetDangleShapes (const TopoDS_Shape& ShapeIn, const TopAbs_ShapeEnum GeneratedFrom, TopTools_DataMapOfShapeShape& Dangles);
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_LoaderParent_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Prism.cxx b/src/QANewBRepNaming/QANewBRepNaming_Prism.cxx
deleted file mode 100644 (file)
index 294384c..0000000
+++ /dev/null
@@ -1,247 +0,0 @@
-// Created on: 1999-11-05
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-// Modified by vro, Thu Dec 21 10:34:49 2000
-// Modified by vro, Thu Dec 21 10:34:59 2000
-
-#include <BRep_Tool.hxx>
-#include <BRepPrimAPI_MakePrism.hxx>
-#include <QANewBRepNaming_Loader.hxx>
-#include <QANewBRepNaming_Prism.hxx>
-#include <Standard_NullObject.hxx>
-#include <TColStd_ListOfInteger.hxx>
-#include <TDF_Label.hxx>
-#include <TDF_TagSource.hxx>
-#include <TNaming_Builder.hxx>
-#include <TopExp.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopTools_DataMapOfShapeShape.hxx>
-#include <TopTools_IndexedMapOfShape.hxx>
-
-#ifdef OCCT_DEBUG
-#include <TDataStd_Name.hxx>
-#endif
-
-//=======================================================================
-//function : QANewBRepNaming_Prism
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Prism::QANewBRepNaming_Prism() {}
-
-//=======================================================================
-//function : QANewBRepNaming_Prism
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Prism::QANewBRepNaming_Prism(const TDF_Label& Label):QANewBRepNaming_TopNaming(Label) {}
-
-//=======================================================================
-//function : Init
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Prism::Init(const TDF_Label& Label) {
-  if(Label.IsNull())
-    throw Standard_NullObject("QANewBRepNaming_Prism::Init The Result label is Null ...");
-  myResultLabel = Label;
-}
-
-//=======================================================================
-//function : Bottom
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Prism::Bottom() const {
-  const TDF_Label& L = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(L, "Bottom");
-#endif
-  return L;
-}
-
-//=======================================================================
-//function : Top
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Prism::Top() const {
-  const TDF_Label& L = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(L, "Top");
-#endif
-  return L;
-}
-
-//=======================================================================
-//function : Lateral
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Prism::Lateral() const {
-  const TDF_Label& L = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(L, "Lateral");
-#endif
-  return L;
-}
-
-//=======================================================================
-//function : Degenerated
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Prism::Degenerated() const {
-  const TDF_Label& L = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(L, "Degenerated");
-#endif
-  return L;
-}
-
-//=======================================================================
-//function : Dangle
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Prism::Dangle() const {
-  const TDF_Label& L = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(L, "Dangle");
-#endif
-  return L;
-}
-
-//=======================================================================
-//function : Content
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Prism::Content() const {
-  const TDF_Label& L = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(L, "Content");
-#endif
-  return L;
-}
-
-//=======================================================================
-//function : Load (Prism)
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Prism::Load (BRepPrimAPI_MakePrism& mkPrism, 
-                            const TopoDS_Shape& basis) const
-{
-  TopTools_DataMapOfShapeShape SubShapes;
-  for (TopExp_Explorer Exp(mkPrism.Shape(),TopAbs_FACE); Exp.More(); Exp.Next()) {
-    SubShapes.Bind(Exp.Current(),Exp.Current());
-  }
-  Handle(TDF_TagSource) Tagger = TDF_TagSource::Set(ResultLabel());
-  if (Tagger.IsNull()) return;
-  Tagger->Set(0);
-
-  TNaming_Builder Builder (ResultLabel());
-  Builder.Generated(basis, mkPrism.Shape()); //szy - 17.06.03
-  
-  //Insert lateral face : Face from Edge
-  TNaming_Builder LateralFaceBuilder(Lateral());
-  QANewBRepNaming_Loader::LoadAndOrientGeneratedShapes(mkPrism, basis, TopAbs_EDGE,
-                                                 LateralFaceBuilder, SubShapes);
-
-  Standard_Boolean makeTopBottom = Standard_True;
-  if (basis.ShapeType() == TopAbs_COMPOUND) {
-    TopoDS_Iterator itr(basis);
-    if (itr.More() && itr.Value().ShapeType() == TopAbs_WIRE) makeTopBottom = Standard_False;
-  } else if (basis.ShapeType() == TopAbs_WIRE || basis.ShapeType() == TopAbs_EDGE) {
-    makeTopBottom = Standard_False;
-  }
-  if (makeTopBottom) {
-    //Insert bottom face
-    TopoDS_Shape BottomFace = mkPrism.FirstShape();
-    if (!BottomFace.IsNull()) {
-      if (BottomFace.ShapeType() != TopAbs_COMPOUND) {
-       TNaming_Builder BottomBuilder(Bottom());  
-       if (SubShapes.IsBound(BottomFace)) {
-         BottomFace = SubShapes(BottomFace);
-       }
-       BottomBuilder.Generated(BottomFace);
-      } else {
-       TopoDS_Iterator itr(BottomFace);
-       for (; itr.More(); itr.Next()) {
-         TNaming_Builder BottomBuilder(Bottom());  
-         BottomBuilder.Generated(itr.Value());
-       }
-      }
-    }
-    
-    //Insert top face
-    TopoDS_Shape TopFace = mkPrism.LastShape();
-    if (!TopFace.IsNull()) {
-      if (TopFace.ShapeType() != TopAbs_COMPOUND) {
-       TNaming_Builder TopBuilder(Top());
-       if (SubShapes.IsBound(TopFace)) {
-         TopFace = SubShapes(TopFace);
-       }
-       TopBuilder.Generated(TopFace);
-      } else {
-       TopoDS_Iterator itr(TopFace);
-       for (; itr.More(); itr.Next()) {
-         TNaming_Builder TopBuilder(Top());  
-         TopBuilder.Generated(itr.Value());
-       }
-      }
-    }
-  }
-  
-  // Insert dangle edges and vertices:
-  if (QANewBRepNaming_Loader::HasDangleShapes(mkPrism.Shape())) {
-    if (mkPrism.Shape().ShapeType() == TopAbs_COMPOUND) {
-      TopoDS_Iterator itr(mkPrism.Shape());
-      for (; itr.More(); itr.Next()) {
-       QANewBRepNaming_Loader::LoadDangleShapes(itr.Value(), ResultLabel());
-      }
-    } else {
-      QANewBRepNaming_Loader::LoadDangleShapes(mkPrism.Shape(), ResultLabel());
-    }
-  }
-
-  // Insert degenerated shapes:
-  TopTools_IndexedMapOfShape allEdges;
-  TopExp::MapShapes(mkPrism.Shape(), TopAbs_EDGE, allEdges);
-  Standard_Integer i = 1;
-  TColStd_ListOfInteger goodEdges;
-  for (; i <= allEdges.Extent(); i++) {
-    if (BRep_Tool::Degenerated(TopoDS::Edge(allEdges.FindKey(i)))) {
-      TNaming_Builder DegeneratedBuilder(Degenerated()); 
-      DegeneratedBuilder.Generated(allEdges.FindKey(i));
-    }      
-  }
-
-  // The content of the result:
-  if (mkPrism.Shape().ShapeType() == TopAbs_COMPOUND) {
-    TopoDS_Iterator itr(mkPrism.Shape());
-    while (itr.More() && itr.Value().ShapeType() == TopAbs_SOLID) {
-      TNaming_Builder aContentBuilder(Content());
-      aContentBuilder.Generated(itr.Value());
-      itr.Next();
-    }
-  }
-}
-
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Prism.hxx b/src/QANewBRepNaming/QANewBRepNaming_Prism.hxx
deleted file mode 100644 (file)
index ef5aaa0..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-// Created on: 1999-11-05
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Prism_HeaderFile
-#define _QANewBRepNaming_Prism_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_TopNaming.hxx>
-class TDF_Label;
-class BRepPrimAPI_MakePrism;
-class TopoDS_Shape;
-
-
-//! To load the Prism results
-class QANewBRepNaming_Prism  : public QANewBRepNaming_TopNaming
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_Prism();
-  
-  Standard_EXPORT QANewBRepNaming_Prism(const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Init (const TDF_Label& ResultLabel);
-  
-  //! Loads the prism in the data framework
-  Standard_EXPORT void Load (BRepPrimAPI_MakePrism& mkPrism, const TopoDS_Shape& basis) const;
-  
-  //! Returns the insertion label of the bottom face of the Prism.
-  Standard_EXPORT TDF_Label Bottom() const;
-  
-  //! Returns  the insertion label of the  top face of the Prism.
-  Standard_EXPORT TDF_Label Top() const;
-  
-  //! Returns the insertion label of the lateral face of the Prism.
-  Standard_EXPORT TDF_Label Lateral() const;
-  
-  //! Returns the insertion label of the degenerated face of the Prism.
-  Standard_EXPORT TDF_Label Degenerated() const;
-  
-  //! Returns the insertion label of the degenerated face of the Prism.
-  Standard_EXPORT TDF_Label Dangle() const;
-  
-  //! Returns the insertion label of the degenerated face of the Prism.
-  Standard_EXPORT TDF_Label Content() const;
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Prism_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Revol.cxx b/src/QANewBRepNaming/QANewBRepNaming_Revol.cxx
deleted file mode 100644 (file)
index 855a4e8..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-// Created on: 1999-11-05
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRep_Tool.hxx>
-#include <BRepPrimAPI_MakeRevol.hxx>
-#include <QANewBRepNaming_Loader.hxx>
-#include <QANewBRepNaming_Revol.hxx>
-#include <Standard_NullObject.hxx>
-#include <TColStd_ListOfInteger.hxx>
-#include <TDataStd_Name.hxx>
-#include <TDF_Label.hxx>
-#include <TNaming_Builder.hxx>
-#include <TopExp.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopTools_DataMapOfShapeShape.hxx>
-
-//=======================================================================
-//function : QANewBRepNaming_Revol
-//purpose  : 
-//=======================================================================
-QANewBRepNaming_Revol::QANewBRepNaming_Revol()
-{}
-
-//=======================================================================
-//function : QANewBRepNaming_Revol
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Revol::QANewBRepNaming_Revol(const TDF_Label& Label)
-     : QANewBRepNaming_TopNaming(Label)
-{}
-
-//=======================================================================
-//function : Init
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Revol::Init(const TDF_Label& Label)
-{
-  if(Label.IsNull())
-    throw Standard_NullObject("QANewBRepNaming_Revol::Init The Result label is Null ...");
-  myResultLabel = Label;
-}
-
-//=======================================================================
-//function : Start
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Revol::Start () const
-{
-  return ResultLabel().FindChild(1,Standard_True);
-}
-
-//=======================================================================
-//function : End
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Revol::End () const
-{
-  return ResultLabel().FindChild(2,Standard_True);
-}
-
-//=======================================================================
-//function : Lateral
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Revol::Lateral () const
-{
-  return ResultLabel().FindChild(3,Standard_True);
-}
-
-
-//=======================================================================
-//function : Degenerated
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Revol::Degenerated() const {
-  //const TDF_Label& L = ResultLabel().NewChild();
-  const TDF_Label& L = ResultLabel().FindChild(4, Standard_True);
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(L, "Degenerated");
-#endif
-  return L;
-}
-
-
-//=======================================================================
-//function : Content
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Revol::Content() const {
-  //const TDF_Label& L = ResultLabel().NewChild();
-  const TDF_Label& L = ResultLabel().FindChild(5, Standard_True);
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(L, "Content");
-#endif
-  return L;
-}
-
-
-//=======================================================================
-//function : Load (Revol)
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Revol::Load (BRepPrimAPI_MakeRevol& mkRevol, 
-                            const TopoDS_Shape& basis) const
-
-{
-/*  TopTools_DataMapOfShapeShape SubShapes;
-  for (TopExp_Explorer Exp(mkRevol.Shape(), TopAbs_FACE); Exp.More(); Exp.Next()) {
-    SubShapes.Bind(Exp.Current(),Exp.Current());
-  }
-
-  TNaming_Builder Builder(ResultLabel());
-  Builder.Generated(mkRevol.Shape());
-  
-  //Insert lateral faces : Face from Edge
-  TNaming_Builder LateralFaceBuilder(Lateral());
-  QANewBRepNaming_Loader::LoadAndOrientGeneratedShapes(mkRevol, basis, TopAbs_EDGE,
-                                                 LateralFaceBuilder, SubShapes);
-
-  //Insert Start Face
-  TNaming_Builder StartBuilder(Start());
-  TopoDS_Shape StartFace = mkRevol.FirstShape();
-  if (!StartFace.IsNull()) {
-    if (SubShapes.IsBound(StartFace)) {
-      StartFace = SubShapes(StartFace);
-    }
-    StartBuilder.Generated(StartFace);
-  }
-
-  //Insert End shapes
-  TNaming_Builder EndBuilder(End());
-  TopoDS_Shape EndFace = mkRevol.LastShape();
-  if (!EndFace.IsNull()) {
-    if (SubShapes.IsBound(EndFace)) {
-      EndFace = SubShapes(EndFace);
-    }
-    EndBuilder.Generated(EndFace);
-  }*/
-  TopTools_DataMapOfShapeShape SubShapes;
-  for (TopExp_Explorer Exp(mkRevol.Shape(), TopAbs_FACE); Exp.More(); Exp.Next()) {
-    SubShapes.Bind(Exp.Current(),Exp.Current());
-  }
-
-  Handle(TDF_TagSource) Tagger = TDF_TagSource::Set(ResultLabel());
-  if (Tagger.IsNull()) return;
-  Tagger->Set(0);
-
-  TNaming_Builder Builder(ResultLabel());
-  Builder.Generated(basis,mkRevol.Shape());
-  
-  //Insert lateral faces : Face from Edge
-  TNaming_Builder LateralFaceBuilder(Lateral());
-  QANewBRepNaming_Loader::LoadAndOrientGeneratedShapes(mkRevol, basis, TopAbs_EDGE,
-                                                 LateralFaceBuilder, SubShapes);
-
-  Standard_Boolean makeTopBottom = Standard_True;
-  if (basis.ShapeType() == TopAbs_COMPOUND) {
-    TopoDS_Iterator itr(basis);
-    if (itr.More() && itr.Value().ShapeType() == TopAbs_WIRE) makeTopBottom = Standard_False;
-  } else if (basis.ShapeType() == TopAbs_WIRE || basis.ShapeType() == TopAbs_EDGE) {
-    makeTopBottom = Standard_False;
-  }
-  if (makeTopBottom) {
-    //Insert start face
-    TopoDS_Shape StartFace = mkRevol.FirstShape();
-    if (!StartFace.IsNull()) {
-      if (StartFace.ShapeType() != TopAbs_COMPOUND) {
-       TNaming_Builder StartBuilder(Start());  
-       if (SubShapes.IsBound(StartFace)) {
-         StartFace = SubShapes(StartFace);
-       }
-       StartBuilder.Generated(StartFace);
-      } else {
-       TopoDS_Iterator itr(StartFace);
-       for (; itr.More(); itr.Next()) {
-         TNaming_Builder StartBuilder(Start());  
-         StartBuilder.Generated(itr.Value());
-       }
-      }
-    }
-    
-    //Insert end face
-    TopoDS_Shape EndFace = mkRevol.LastShape();
-    if (!EndFace.IsNull()) {
-      if (EndFace.ShapeType() != TopAbs_COMPOUND) {
-       TNaming_Builder EndBuilder(End());
-       if (SubShapes.IsBound(EndFace)) {
-         EndFace = SubShapes(EndFace);
-       }
-       EndBuilder.Generated(EndFace);
-      } else {
-       TopoDS_Iterator itr(EndFace);
-       for (; itr.More(); itr.Next()) {
-         TNaming_Builder EndBuilder(End());  
-         EndBuilder.Generated(itr.Value());
-       }
-      }
-    }
-  }
-
-  // Insert dangle edges and vertices:
-  if (QANewBRepNaming_Loader::HasDangleShapes(mkRevol.Shape())) {
-    if (mkRevol.Shape().ShapeType() == TopAbs_COMPOUND) {
-      TopoDS_Iterator itr(mkRevol.Shape());
-      for (; itr.More(); itr.Next()) {
-       QANewBRepNaming_Loader::LoadDangleShapes(itr.Value(), ResultLabel());
-      }
-    } else {
-      QANewBRepNaming_Loader::LoadDangleShapes(mkRevol.Shape(), ResultLabel());
-    }
-  }
-
-  // Insert degenerated shapes:
-  TopTools_IndexedMapOfShape allEdges;
-  TopExp::MapShapes(mkRevol.Shape(), TopAbs_EDGE, allEdges);
-  Standard_Integer i = 1;
-  TColStd_ListOfInteger goodEdges;
-  for (; i <= allEdges.Extent(); i++) {
-    if (BRep_Tool::Degenerated(TopoDS::Edge(allEdges.FindKey(i)))) {
-      TNaming_Builder DegeneratedBuilder(Degenerated()); 
-      DegeneratedBuilder.Generated(allEdges.FindKey(i));
-    }      
-  }
-
-  // The content of the result:
-  if (mkRevol.Shape().ShapeType() == TopAbs_COMPOUND) {
-    TopoDS_Iterator itr(mkRevol.Shape());
-    while (itr.More() && itr.Value().ShapeType() == TopAbs_SOLID) {
-      TNaming_Builder aContentBuilder(Content());
-      aContentBuilder.Generated(itr.Value());
-      itr.Next();
-    }
-  }
-}  
-
-
-
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Revol.hxx b/src/QANewBRepNaming/QANewBRepNaming_Revol.hxx
deleted file mode 100644 (file)
index 72cf0b1..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-// Created on: 1999-11-05
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Revol_HeaderFile
-#define _QANewBRepNaming_Revol_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_TopNaming.hxx>
-class TDF_Label;
-class BRepPrimAPI_MakeRevol;
-class TopoDS_Shape;
-
-
-//! To load the Revol results
-class QANewBRepNaming_Revol  : public QANewBRepNaming_TopNaming
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_Revol();
-  
-  Standard_EXPORT QANewBRepNaming_Revol(const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Init (const TDF_Label& ResultLabel);
-  
-  //! Loads the revol in the data framework
-  Standard_EXPORT void Load (BRepPrimAPI_MakeRevol& mkRevol, const TopoDS_Shape& basis) const;
-  
-  //! Returns the insertion label of the start face of the Revol.
-  Standard_EXPORT TDF_Label Start() const;
-  
-  //! Returns the insertion label of the end face of the Revol.
-  Standard_EXPORT TDF_Label End() const;
-  
-  //! Returns the insertion label of the lateral faces of the Revol.
-  Standard_EXPORT TDF_Label Lateral() const;
-  
-  //! Returns the label of degenerated edges.
-  Standard_EXPORT TDF_Label Degenerated() const;
-  
-  //! Returns the label of the content of the result.
-  Standard_EXPORT TDF_Label Content() const;
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Revol_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Sphere.cxx b/src/QANewBRepNaming/QANewBRepNaming_Sphere.cxx
deleted file mode 100644 (file)
index dea2ed1..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-// Created on: 1999-11-05
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRep_Tool.hxx>
-#include <BRepPrimAPI_MakeSphere.hxx>
-#include <QANewBRepNaming_Loader.hxx>
-#include <QANewBRepNaming_Sphere.hxx>
-#include <Standard_NullObject.hxx>
-#include <TColStd_ListOfInteger.hxx>
-#include <TDF_Label.hxx>
-#include <TDF_TagSource.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TopExp.hxx>
-#include <TopoDS.hxx>
-#include <TopoDS_Edge.hxx>
-#include <TopoDS_Shell.hxx>
-#include <TopoDS_Solid.hxx>
-#include <TopTools_IndexedMapOfShape.hxx>
-
-#ifdef OCCT_DEBUG
-#include <TDataStd_Name.hxx>
-#endif
-
-
-//=======================================================================
-//function : QANewBRepNaming_Sphere
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Sphere::QANewBRepNaming_Sphere() {}
-
-//=======================================================================
-//function : QANewBRepNaming_Sphere
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_Sphere::QANewBRepNaming_Sphere(const TDF_Label& ResultLabel):QANewBRepNaming_TopNaming(ResultLabel) {}
-
-//=======================================================================
-//function : Init
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Sphere::Init(const TDF_Label& ResultLabel) {
-  if(ResultLabel.IsNull())
-    throw Standard_NullObject("QANewBRepNaming_Sphere::Init The Result label is Null ...");
-  myResultLabel = ResultLabel;
-}   
-
-//=======================================================================
-//function : Bottom
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Sphere::Bottom() const {
-  const TDF_Label& BottomL = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(BottomL, "Bottom");
-#endif
-  return BottomL;
-}
-
-//=======================================================================
-//function : Top
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Sphere::Top() const {
-  const TDF_Label& TopL = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(TopL, "Top");
-#endif
-  return TopL;
-}
-
-//=======================================================================
-//function : Lateral
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Sphere::Lateral() const {
-  const TDF_Label& LateralL = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(LateralL, "Lateral");
-#endif
-  return LateralL;
-}
-
-//=======================================================================
-//function : StartSide
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Sphere::StartSide() const {
-  const TDF_Label& StartSideL = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(StartSideL, "StartSide");
-#endif
-  return StartSideL;
-}
-
-//=======================================================================
-//function : EndSide
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Sphere::EndSide() const {
-  const TDF_Label& EndSideL = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(EndSideL, "EndSide");
-#endif
-  return EndSideL;
-}
-
-//=======================================================================
-//function : Meridian
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Sphere::Meridian() const {
-  const TDF_Label& MeridianL = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(MeridianL, "Meridian");
-#endif
-  return MeridianL;
-}
-
-//=======================================================================
-//function : Degenerated
-//purpose  : 
-//=======================================================================
-
-TDF_Label QANewBRepNaming_Sphere::Degenerated() const {
-  const TDF_Label& DegeneratedL = ResultLabel().NewChild();
-#ifdef OCCT_DEBUG
-  TDataStd_Name::Set(DegeneratedL, "Degenerated");
-#endif
-  return DegeneratedL;
-}
-
-//=======================================================================
-//function : Load (Sphere)
-//purpose  : 
-//=======================================================================
-
-void QANewBRepNaming_Sphere::Load (BRepPrimAPI_MakeSphere& mkSphere, 
-                             const QANewBRepNaming_TypeOfPrimitive3D Type) const
-{
-  BRepPrim_Sphere& S = mkSphere.Sphere();
-
-  Handle(TDF_TagSource) Tagger = TDF_TagSource::Set(ResultLabel());
-  if (Tagger.IsNull()) return;
-  Tagger->Set(0);
-
-  TNaming_Builder Builder (ResultLabel());
-  if (Type == QANewBRepNaming_SOLID) Builder.Generated (mkSphere.Solid());
-  else if (Type == QANewBRepNaming_SHELL) Builder.Generated (mkSphere.Shell());
-  else {
-#ifdef OCCT_DEBUG
-    cout<<"QANewBRepNaming_Sphere::Load(): Unexpected type of result"<<endl;
-    Builder.Generated (mkSphere.Shape());
-#endif
-  }
-
-  if (S.HasBottom()) {
-    TopoDS_Face BottomFace = S.BottomFace();
-    TNaming_Builder BottomFaceIns(Bottom()); 
-    BottomFaceIns.Generated(BottomFace); 
-  }
-
-  if (S.HasTop()) {
-    TopoDS_Face TopFace = S.TopFace();
-    TNaming_Builder TopFaceIns(Top()); 
-    TopFaceIns.Generated (TopFace); 
-  }
-
-  TopoDS_Face LateralFace = S.LateralFace();
-  TNaming_Builder LateralFaceIns(Lateral()); 
-  LateralFaceIns.Generated(LateralFace); 
-
-  if (S.HasSides()) {
-    TopoDS_Face StartFace = S.StartFace();
-    TNaming_Builder StartFaceIns(StartSide()); 
-    StartFaceIns.Generated(StartFace); 
-    TopoDS_Face EndFace = S.EndFace();
-    TNaming_Builder EndFaceIns(EndSide()); 
-    EndFaceIns.Generated(EndFace); 
-  }
-
-  TopTools_IndexedMapOfShape LateralEdges;
-  TopExp::MapShapes(LateralFace, TopAbs_EDGE, LateralEdges);
-  Standard_Integer i = 1;
-  TColStd_ListOfInteger goodEdges;
-  for (; i <= LateralEdges.Extent(); i++) {
-    if (!BRep_Tool::Degenerated(TopoDS::Edge(LateralEdges.FindKey(i)))) goodEdges.Append(i);
-    else {
-      TNaming_Builder DegeneratedBuilder(Degenerated()); 
-      DegeneratedBuilder.Generated(LateralEdges.FindKey(i));
-    }      
-  }
-  if (goodEdges.Extent() == 1) {
-    const TopoDS_Edge& aLateralEdge = TopoDS::Edge(LateralEdges.FindKey(goodEdges.First()));
-    TNaming_Builder MeridianBuilder(Meridian());
-    MeridianBuilder.Generated(LateralFace, aLateralEdge);
-  }
-
-}
-
diff --git a/src/QANewBRepNaming/QANewBRepNaming_Sphere.hxx b/src/QANewBRepNaming/QANewBRepNaming_Sphere.hxx
deleted file mode 100644 (file)
index c143204..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-// Created on: 1997-08-22
-// Created by: VAUTHIER Jean-Claude
-// Copyright (c) 1997-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_Sphere_HeaderFile
-#define _QANewBRepNaming_Sphere_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <QANewBRepNaming_TopNaming.hxx>
-#include <QANewBRepNaming_TypeOfPrimitive3D.hxx>
-class TDF_Label;
-class BRepPrimAPI_MakeSphere;
-
-
-//! To load the Sphere results
-class QANewBRepNaming_Sphere  : public QANewBRepNaming_TopNaming
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT QANewBRepNaming_Sphere();
-  
-  Standard_EXPORT QANewBRepNaming_Sphere(const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Init (const TDF_Label& ResultLabel);
-  
-  Standard_EXPORT void Load (BRepPrimAPI_MakeSphere& mkSphere, const QANewBRepNaming_TypeOfPrimitive3D Type) const;
-  
-  //! Returns the label of the bottom
-  //! face of the Sphere.
-  Standard_EXPORT TDF_Label Bottom() const;
-  
-  //! Returns the label of the top
-  //! face of the Sphere.
-  Standard_EXPORT TDF_Label Top() const;
-  
-  //! Returns the label of the lateral
-  //! face of the Sphere.
-  Standard_EXPORT TDF_Label Lateral() const;
-  
-  //! Returns the label of the first
-  //! side of the Sphere.
-  Standard_EXPORT TDF_Label StartSide() const;
-  
-  //! Returns the label of the second
-  //! side of the Sphere.
-  Standard_EXPORT TDF_Label EndSide() const;
-  
-  //! Returns the label of the meridian
-  //! edges of the Sphere.
-  Standard_EXPORT TDF_Label Meridian() const;
-  
-  //! Returns the label of the degenerated
-  //! edges of the Sphere.
-  Standard_EXPORT TDF_Label Degenerated() const;
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewBRepNaming_Sphere_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_TopNaming.cxx b/src/QANewBRepNaming/QANewBRepNaming_TopNaming.cxx
deleted file mode 100644 (file)
index db99974..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// Created on: 1999-09-24
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <QANewBRepNaming_TopNaming.hxx>
-#include <Standard_NullObject.hxx>
-#include <TDF_Label.hxx>
-
-//=======================================================================
-//function : QANewBRepNaming_TopNaming
-//purpose  : 
-//=======================================================================
-QANewBRepNaming_TopNaming::QANewBRepNaming_TopNaming()
-{}
-
-//=======================================================================
-//function : QANewBRepNaming_TopNaming
-//purpose  : 
-//=======================================================================
-
-QANewBRepNaming_TopNaming::QANewBRepNaming_TopNaming(const TDF_Label& Label)
-{
-  if(Label.IsNull())
-    throw Standard_NullObject("QANewBRepNaming_TopNaming:: The Result label is Null ...");
-  myResultLabel = Label;
-}
-
diff --git a/src/QANewBRepNaming/QANewBRepNaming_TopNaming.hxx b/src/QANewBRepNaming/QANewBRepNaming_TopNaming.hxx
deleted file mode 100644 (file)
index 0a46d2c..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-// Created on: 1999-09-24
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_TopNaming_HeaderFile
-#define _QANewBRepNaming_TopNaming_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <TDF_Label.hxx>
-class TDF_Label;
-
-
-//! The root class for all the primitives, features, ...
-class QANewBRepNaming_TopNaming 
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  //! Returns the result label.
-    const TDF_Label& ResultLabel() const;
-
-
-
-
-protected:
-
-  
-  Standard_EXPORT QANewBRepNaming_TopNaming();
-  
-  Standard_EXPORT QANewBRepNaming_TopNaming(const TDF_Label& Label);
-
-
-  TDF_Label myResultLabel;
-
-
-private:
-
-
-
-
-
-};
-
-
-#include <QANewBRepNaming_TopNaming.lxx>
-
-
-
-
-
-#endif // _QANewBRepNaming_TopNaming_HeaderFile
diff --git a/src/QANewBRepNaming/QANewBRepNaming_TopNaming.lxx b/src/QANewBRepNaming/QANewBRepNaming_TopNaming.lxx
deleted file mode 100644 (file)
index 0c5813d..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// Created on: 1999-10-25
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-//=======================================================================
-//function : ResultLabel
-//purpose  : 
-//=======================================================================
-
-inline const TDF_Label& QANewBRepNaming_TopNaming::ResultLabel() const
-{
-  return myResultLabel;
-}
diff --git a/src/QANewBRepNaming/QANewBRepNaming_TypeOfPrimitive3D.hxx b/src/QANewBRepNaming/QANewBRepNaming_TypeOfPrimitive3D.hxx
deleted file mode 100644 (file)
index 0d7d0e7..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-// Created on: 1999-09-24
-// Created by: Sergey ZARITCHNY
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewBRepNaming_TypeOfPrimitive3D_HeaderFile
-#define _QANewBRepNaming_TypeOfPrimitive3D_HeaderFile
-
-
-enum QANewBRepNaming_TypeOfPrimitive3D
-{
-QANewBRepNaming_SHELL,
-QANewBRepNaming_SOLID
-};
-
-#endif // _QANewBRepNaming_TypeOfPrimitive3D_HeaderFile
diff --git a/src/QANewDBRepNaming/FILES b/src/QANewDBRepNaming/FILES
deleted file mode 100755 (executable)
index 427cfdb..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-QANewDBRepNaming.cxx
-QANewDBRepNaming.hxx
-QANewDBRepNaming_FeatureCommands.cxx
-QANewDBRepNaming_PrimitiveCommands.cxx
diff --git a/src/QANewDBRepNaming/QANewDBRepNaming.cxx b/src/QANewDBRepNaming/QANewDBRepNaming.cxx
deleted file mode 100644 (file)
index c17e32c..0000000
+++ /dev/null
@@ -1,381 +0,0 @@
-// Created on: 1999-12-08
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRep_Tool.hxx>
-#include <BRepTools.hxx>
-#include <DBRep.hxx>
-#include <DDF.hxx>
-#include <Draw.hxx>
-#include <gp_Pnt.hxx>
-#include <gp_Trsf.hxx>
-#include <gp_Vec.hxx>
-#include <gp_XYZ.hxx>
-#include <Precision.hxx>
-#include <QANewDBRepNaming.hxx>
-#include <Standard_ErrorHandler.hxx>
-#include <TDF_ChildIterator.hxx>
-#include <TDF_Data.hxx>
-#include <TDF_Label.hxx>
-#include <TDF_LabelMap.hxx>
-#include <TNaming.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_Name.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TNaming_Naming.hxx>
-#include <TNaming_NamingTool.hxx>
-#include <TNaming_Selector.hxx>
-#include <TNaming_Tool.hxx>
-#include <TopExp.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopoDS_Vertex.hxx>
-#include <TopTools_IndexedMapOfShape.hxx>
-#include <TopTools_MapOfShape.hxx>
-#include <ViewerTest.hxx>
-
-#include <stdio.h>
-//////#include <Draw_PluginMacro.hxx>
-//////#include <DBrowser.hxx>
-static Standard_Integer QANewDBRepNaming_CheckNaming(Draw_Interpretor&,Standard_Integer,const char ** a);
-
-//static Standard_Integer QANewDBRepNaming_myCheckNaming(Draw_Interpretor&,Standard_Integer,const char ** a);
-
-static Standard_Integer QANewDBRepNaming_CheckSelectShape(Draw_Interpretor&,Standard_Integer,const char ** a);
-
-static Standard_Integer QANewDBRepNaming_CheckSolve(Draw_Interpretor&,Standard_Integer,const char ** a);
-
-#include <QADNaming.hxx>
-
-//=======================================================================
-//function : AllCommands
-//purpose  : 
-//=======================================================================
-
-void  QANewDBRepNaming::AllCommands(Draw_Interpretor& theCommands)
-{
-  static Standard_Boolean done = Standard_False;
-  if (done) return;
-  done = Standard_True;
-
-  QANewDBRepNaming::PrimitiveCommands (theCommands);
-  QANewDBRepNaming::FeatureCommands (theCommands);
-
-  const char* g = "Check Naming command" ;
-
-  theCommands.Add ("CheckNaming", 
-                   "CheckNaming Doc TestLabel Full(1/0) (Label/Viewer) [Label] [DX[DY[DZ]]]",
-                  __FILE__, QANewDBRepNaming_CheckNaming, g); 
-
-  theCommands.Add ("CheckSelectShape", 
-                   "CheckSelectShape Doc Label SubShapeType",
-                  __FILE__, QANewDBRepNaming_CheckSelectShape, g); 
-
-  theCommands.Add ("CheckSolve", 
-                   "CheckSolve Doc Label",
-                  __FILE__, QANewDBRepNaming_CheckSolve, g);   
-
-  const char* com = "set Draw_NamingData 1";
-  theCommands.Eval(com);
-}
-
-//=======================================================================
-//function : CheckNaming
-//purpose  : "CheckNaming Doc TestLabel Full(1/0) ShapeFrom(Viewer/Label) [ShapeLabel]" 
-//=======================================================================
-
-static Standard_Integer QANewDBRepNaming_CheckNaming(Draw_Interpretor& di,Standard_Integer nb, const char ** a)
-{
-  Handle(TDF_Data) DF;
-  if(!DDF::GetDF(a[1], DF)) return 1;
-  TDF_Label L;
-  DDF::AddLabel(DF, a[2], L);
-
-//  cout<<"SELECT A SHAPE ..."<<endl; 
-  Handle(TNaming_NamedShape) amyNS;
-  TopoDS_Shape aSelectedShape;
-  if (!strcmp(a[4],"Label")){
-    Handle(TNaming_NamedShape) atiNS=new TNaming_NamedShape;
-    TDF_Label L2;
-    DDF::AddLabel(DF, a[5], L2);
-    if (!L2.FindAttribute(TNaming_NamedShape::GetID(), atiNS)) {
-      di<<"Error: Cannot find shape on label.\n";
-      return 1;
-    }
-    amyNS = atiNS;
-    aSelectedShape=TNaming_Tool::GetShape(atiNS);
-  }
-  else
-  if (!strcmp(a[4],"Viewer"))
-    aSelectedShape = ViewerTest::PickShape(TopAbs_SHAPE);
-  else{
-    di<<"Error: Incorrect argument #4\n";
-    return 1;
-  }
-
-  if (aSelectedShape.IsNull()) {
-    di<<"Nothing has been selected ... try again\n";
-    return 1;
-  }
-
-  TopTools_IndexedMapOfShape allSubShapes;
-  TopExp::MapShapes(aSelectedShape, allSubShapes);
-
-  Standard_Integer i;
-
-  for (i = 1; i <= allSubShapes.Extent(); i++) {
-    const TDF_Label& aSubLabel = L.FindChild(i);
-    const TopoDS_Shape& aSubShape = allSubShapes(i);
-//    cout<<i<<"  ";TopAbs::Print(aSubShape.ShapeType(), cout); cout<<"  ";
-    
-//     DBRep::Set("Selected", aSubShape);
-
-    TNaming_Selector SL (aSubLabel);
-      
-//    cout << i << " ";TopAbs::Print(aSelectedShape.ShapeType(), cout); cout<<"  ";
-    try {
-      OCC_CATCH_SIGNALS
-      if(SL.Select(aSubShape, aSelectedShape) == Standard_False) {
-       //    if(SL.Select(aSubShape, amyNS->Get()) == Standard_False) 
-       di << "Selection error!!!\n";
-       return 1;
-      }
-      Handle(TNaming_NamedShape) aNS;
-      if (!aSubLabel.FindAttribute(TNaming_NamedShape::GetID(), aNS)) {
-       di<<"Selection didn't produced a Named Shape ...\n";
-       return 1;
-      }
-      const TopoDS_Shape& aResultOfSelection = TNaming_Tool::GetShape(aNS);
-      if (!aSubShape.IsSame(aResultOfSelection)) {
-       di<<"Failure of selection\n";
-       return 1;
-      } 
-    } catch (Standard_Failure) {
-      di<<"!!! Solving Failed !!!\n";
-      continue;
-    }
-    
-  }
-
-// ***
-
-  if (!Draw::Atoi(a[3])) return 0;
-  Standard_Real aDX = 100.0;
-  Standard_Real aDY = 100.0;
-  Standard_Real aDZ = 100.0;
-  if(nb > 6) {
-    aDX = Draw::Atof(a[6]);
-    if(nb > 7) aDY = Draw::Atof(a[7]);
-    if(nb > 8) aDZ = Draw::Atof(a[8]);
-  }
-//  cout<<endl;
-//  cout<<"TRANSLATION ... DX = "<<aDX <<" DY = "<< aDY <<" DZ = " << aDZ <<endl;
-  gp_Vec aTranslation(aDX, aDY, aDZ);
-  gp_Trsf aTrsf;
-  aTrsf.SetTranslation(aTranslation);
-  TopLoc_Location aLoc(aTrsf);
-  const TDF_Label& anOriginLabel = TNaming_Tool::NamedShape(aSelectedShape, L)->Label();
-  if (anOriginLabel.IsNull()) di<<"Origin is null\n";
-//  TNaming::Displace(anOriginLabel, aLoc);
-//  cout<<"Translate label ";anOriginLabel.EntryDump(cout);cout<<endl;
-  TDF_ChildIterator Labelitr(L.Root(), Standard_False);
-  for (; Labelitr.More(); Labelitr.Next()) {
-//    if (Labelitr.Value() == anOriginLabel) break;
-//    cout<<"Translate label ";Labelitr.Value().EntryDump(cout);cout<<endl;
-    TNaming::Displace(Labelitr.Value(), aLoc);
-  }
-
-
-  {
-    Handle(TNaming_NamedShape) aNS;
-    if (!anOriginLabel.FindAttribute(TNaming_NamedShape::GetID(), aNS)) return 1;
-    aSelectedShape = TNaming_Tool::GetShape(aNS);
-  }    
-  TopTools_IndexedMapOfShape allTranslatedSubShapes;
-  TopExp::MapShapes(aSelectedShape, allTranslatedSubShapes);
-
-  Standard_Boolean isFailured = Standard_False;
-
-//  cout<<"SOLVING ..."<<endl;
-  TDF_LabelMap scope;
-  TDF_ChildIterator itr(L.Root(), Standard_True);
-  i = 1;
-  TCollection_AsciiString aNotSolved;
-  for (itr.Initialize(L, Standard_False); itr.More(); itr.Next(), i++) {
-    Handle(TNaming_NamedShape) aNS;
-    if (!itr.Value().FindAttribute(TNaming_NamedShape::GetID(), aNS)) {
-//      cout<<"Wrong selection ..."<<endl;
-      return 1;
-    }
-//    cout<<i<<"  ";TopAbs::Print(TypeOfNaming, cout); cout<<"  ";
-//     DBRep::Set("Solved", aNS->Get());
-    TNaming_Selector SLSolving(itr.Value());
-    if (!SLSolving.Solve(scope)) {
-      isFailured = Standard_True;
-      aNotSolved += " ";
-      aNotSolved += i;
-      continue;
-    }
-    const Handle(TNaming_NamedShape)& aResultOfSolving = SLSolving.NamedShape();
-    if (aResultOfSolving.IsNull()) {
-//       cout<<"Failure of Solving: it didn't produced a shape!"<<endl;
-//       return 1;
-      isFailured = Standard_True;
-      aNotSolved += " ";
-      aNotSolved += i;
-      continue;
-    }      
-    TopoDS_Shape aRes;
-/*    if (TypeOfNaming == TopAbs_WIRE || TypeOfNaming == TopAbs_SHELL) {
-      TopoDS_Iterator itr(aResultOfSolving->Get());
-      TopoDS_Shape aSubShape;
-      if (itr.More()) aSubShape = itr.Value();
-      TDF_LabelMap one,two;
-      TNaming_Tool::FindShape(one, two, aResultOfSolving, aRes);
-      if (aRes.IsNull()) {
-//     cout<<"Failure of TNaming_Tool::FindShape()!"<<endl;
-//     return 1;
-       Sprintf(aNotSolved,"%s %d",aNotSolved,i);
-       isFailured = Standard_True;
-//     break;
-       continue;
-      }
-    } else */
-    aRes = aResultOfSolving->Get();
-    if (!aRes.IsSame(allTranslatedSubShapes(i))) {
-//       cout<<"Failure of solving of "<<i<<"-th sub label"<<endl;
-//       TNaming::DumpShape(aRes);
-//       TNaming::DumpShape(allTranslatedSubShapes(i));
-//       return 1;
-      gp_XYZ aCoord1(0,0,0),aCoord2(0,0,0);
-      TopTools_MapOfShape aVertices;
-      if (aRes.ShapeType()==TopAbs_VERTEX) aCoord1=BRep_Tool::Pnt(TopoDS::Vertex(aRes)).Coord(); else {
-       TopExp_Explorer anExp(aRes,TopAbs_VERTEX);
-       for(;anExp.More();anExp.Next()) {
-         // mpv: that's only stub for the seam edges bug
-         if (aVertices.Contains(anExp.Current())) continue;
-         aVertices.Add(anExp.Current());
-         
-         aCoord1.Add(BRep_Tool::Pnt(TopoDS::Vertex(anExp.Current())).Coord());
-//       gp_XYZ a = BRep_Tool::Pnt(TopoDS::Vertex(anExp.Current())).Coord();
-//       cout<<"a1 ("<<a.X()<<" "<<a.Y()<<" "<<a.Z()<<")"<<endl;
-       }
-      }
-      if (allTranslatedSubShapes(i).ShapeType()==TopAbs_VERTEX)
-       aCoord2=BRep_Tool::Pnt(TopoDS::Vertex(allTranslatedSubShapes(i))).Coord();
-      else {
-       aVertices.Clear();
-       TopExp_Explorer anExp(allTranslatedSubShapes(i),TopAbs_VERTEX);
-       for(;anExp.More();anExp.Next()) {
-         // mpv: that's only stub for the seam edges bug
-         if (aVertices.Contains(anExp.Current())) continue;
-         aVertices.Add(anExp.Current());
-
-         aCoord2.Add(BRep_Tool::Pnt(TopoDS::Vertex(anExp.Current())).Coord());
-//       gp_XYZ a = BRep_Tool::Pnt(TopoDS::Vertex(anExp.Current())).Coord();
-//       cout<<"a1 ("<<a.X()<<" "<<a.Y()<<" "<<a.Z()<<")"<<endl;
-       }
-      }
-      if (!aCoord1.IsEqual(aCoord2,Precision::Confusion()) || aRes.ShapeType() != allTranslatedSubShapes(i).ShapeType()) {
-           aNotSolved += " ";
-        aNotSolved += i;
-           isFailured = Standard_True;
-           continue;
-      }
-    }    
-//    cout<<endl;
-  }
-
-  if (isFailured) {
-    di<<aNotSolved;
-//mpv: let's no catch returns 1 in tclsh    return 1;
-  }
-//  cout<<"Good!"<<endl;
-  return 0;  
-}
-  
-//=======================================================================
-//function : CheckSelectShape
-//purpose  : "CheckSelectShape Doc Label SubShapeType" 
-//=======================================================================
-
-static Standard_Integer QANewDBRepNaming_CheckSelectShape(Draw_Interpretor& di, Standard_Integer /*nb*/, const char ** a)
-{
-  Handle(TDF_Data) DF;
-  if(!DDF::GetDF(a[1], DF)) return 1;
-  TDF_Label L;
-  DDF::AddLabel(DF, a[2], L);
-
-  di<<"SELECT A SUB-SHAPE ...\n"; 
-  TopoDS_Shape aSelectedShape = ViewerTest::PickShape((TopAbs_ShapeEnum)Draw::Atoi(a[3]));
-  if (aSelectedShape.IsNull()) {
-    di<<"QANewDBRepNaming_CheckSelectShape(): Nothing is selected ...\n";
-    return 1;
-  }
-  // Find the context:
-  TopoDS_Shape aContext;
-  TDF_ChildIterator itr(L.Root());
-  Standard_Boolean contextFound = Standard_False;
-  for (; itr.More(); itr.Next()) {
-    Handle(TNaming_NamedShape) NS;
-    if (itr.Value().FindAttribute(TNaming_NamedShape::GetID(), NS)) {
-      aContext = NS->Get();
-      TopExp_Explorer expl(aContext, (TopAbs_ShapeEnum)Draw::Atoi(a[3]));
-      for (; expl.More(); expl.Next()) {
-       if (expl.Current().IsSame(aSelectedShape)) {
-         di<<"QANewDBRepNaming_CheckSelectShape(): The context is found at ";
-
-         //NS->Label().EntryDump(cout);
-          Standard_SStream aSStream;
-         NS->Label().EntryDump(aSStream);
-          di << aSStream;
-          di<<"\n";
-         contextFound = Standard_True;
-         break;
-       }
-      }
-      if (contextFound) break;
-    }
-    aContext = TopoDS_Shape();
-  }
-  // Selection:
-  TNaming_Selector aSelector(L);
-  if (aContext.IsNull()) {
-    aSelector.Select(aSelectedShape);
-  } else {
-    aSelector.Select(aSelectedShape, aContext);
-  }
-  return 0;
-}
-
-//=======================================================================
-//function : CheckSelectShape
-//purpose  : "CheckSelectShape Doc Label SubShapeType" 
-//=======================================================================
-
-static Standard_Integer QANewDBRepNaming_CheckSolve(Draw_Interpretor&,Standard_Integer /*nb*/, const char ** a)
-{
-  Handle(TDF_Data) DF;
-  if(!DDF::GetDF(a[1], DF)) return 1;
-  TDF_Label L;
-  DDF::AddLabel(DF, a[2], L);
-  Handle(TNaming_NamedShape) aNS;
-  L.FindAttribute(TNaming_NamedShape::GetID(), aNS);
-
-  return 0;
-}
diff --git a/src/QANewDBRepNaming/QANewDBRepNaming.hxx b/src/QANewDBRepNaming/QANewDBRepNaming.hxx
deleted file mode 100644 (file)
index cd38c04..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-// Created on: 1999-12-08
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewDBRepNaming_HeaderFile
-#define _QANewDBRepNaming_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <Draw_Interpretor.hxx>
-
-
-//! To test topological naming
-class QANewDBRepNaming 
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  Standard_EXPORT static void AllCommands (Draw_Interpretor& Di);
-  
-  Standard_EXPORT static void PrimitiveCommands (Draw_Interpretor& DI);
-  
-  Standard_EXPORT static void FeatureCommands (Draw_Interpretor& DI);
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-
-};
-
-
-
-
-
-
-
-#endif // _QANewDBRepNaming_HeaderFile
diff --git a/src/QANewDBRepNaming/QANewDBRepNaming_FeatureCommands.cxx b/src/QANewDBRepNaming/QANewDBRepNaming_FeatureCommands.cxx
deleted file mode 100644 (file)
index 28614e2..0000000
+++ /dev/null
@@ -1,393 +0,0 @@
-// Created on: 1999-12-23
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRep_Tool.hxx>
-#include <BRepAdaptor_Curve.hxx>
-#include <BRepAdaptor_Surface.hxx>
-#include <BRepAlgoAPI_Common.hxx>
-#include <BRepAlgoAPI_Cut.hxx>
-#include <BRepAlgoAPI_Fuse.hxx>
-#include <BRepAlgoAPI_Section.hxx>
-#include <BRepBuilderAPI_MakeEdge.hxx>
-#include <BRepBuilderAPI_MakeFace.hxx>
-#include <BRepBuilderAPI_MakeWire.hxx>
-#include <BRepLib.hxx>
-#include <BRepTools.hxx>
-#include <DBRep.hxx>
-#include <DDF.hxx>
-#include <DDocStd.hxx>
-#include <Draw.hxx>
-#include <Draw_Interpretor.hxx>
-#include <GCE2d_MakeLine.hxx>
-#include <gp_Ax1.hxx>
-#include <gp_Dir.hxx>
-#include <gp_Pnt.hxx>
-#include <gp_Vec.hxx>
-#include <QANewBRepNaming_Common.hxx>
-#include <QANewBRepNaming_Cut.hxx>
-#include <QANewBRepNaming_Fuse.hxx>
-#include <QANewBRepNaming_Gluing.hxx>
-#include <QANewBRepNaming_Intersection.hxx>
-#include <QANewBRepNaming_Limitation.hxx>
-#include <QANewDBRepNaming.hxx>
-#include <QANewModTopOpe_Glue.hxx>
-#include <QANewModTopOpe_Intersection.hxx>
-#include <QANewModTopOpe_Limitation.hxx>
-#include <Standard_Assert.hxx>
-#include <TColgp_Array1OfPnt.hxx>
-#include <TDataXtd_Geometry.hxx>
-#include <TDF_LabelMap.hxx>
-#include <TDocStd_Document.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TNaming_Tool.hxx>
-#include <TopExp.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS.hxx>
-#include <TopoDS_Edge.hxx>
-#include <TopoDS_Face.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopoDS_Wire.hxx>
-#include <TopTools_MapIteratorOfMapOfShape.hxx>
-#include <TopTools_MapOfShape.hxx>
-
-//==============================================================
-//function : QANewDBRepNaming_NameBooleanOperation
-//purpose  : NameBooleanOperation Doc Label Op = 1(Fuse), 2(Cut), 3(Common), 4(Inserction) 5(Limitation) DrawShape1 DrawShape2 [Forward = 0 || Reversed = 1 || BothSides = 2] 
-//==============================================================
-static Standard_Integer QANewDBRepNaming_NameBooleanOperation (Draw_Interpretor& di,
-                                                             Standard_Integer nb, 
-                                                             const char ** arg)
-{
-  if (nb != 6 && nb != 7) {
-    di <<  "QANewDBRepNaming_NameBooleanOperation : Error"  << "\n";
-    return 1;
-  }
-
-  Handle(TDocStd_Document) D;
-  if (!DDocStd::GetDocument(arg[1],D)) return 1;   
-  TDF_Label L;
-  if (!DDF::AddLabel(D->GetData(), arg[2], L)) return 1;  
-  
-  const Standard_Integer Op = (Standard_Integer)Draw::Atoi(arg[3]);
-  const TopoDS_Shape& S1 = DBRep::Get(arg[4]);
-  const TopoDS_Shape& S2 = DBRep::Get(arg[5]);
-
-  Standard_Integer Orientation = 0;
-  if (nb == 7) Orientation = Draw::Atoi(arg[6]);
-
-  switch (Op) {
-  case 1: {
-    di <<  "BRepAlgoAPI_Fuse"  << "\n";
-    BRepAlgoAPI_Fuse mkFuse(S1, S2);
-
-    Standard_ASSERT_RAISE(mkFuse.IsDone(), "Fuse failed");
-    QANewBRepNaming_Fuse nameBool(L);
-    nameBool.Load(mkFuse);
-    break;
-  }
-  case 2: {
-    di <<  "BRepAlgoAPI_Cut"  << "\n";
-    BRepAlgoAPI_Cut mkCut(S1, S2);
-
-    Standard_ASSERT_RAISE(mkCut.IsDone(), "Cut failed");
-    QANewBRepNaming_Cut nameBool(L);
-    nameBool.Load(mkCut);
-    break; 
-  }
-  case 3: {
-    di <<  "BRepAlgoAPI_Common"  << "\n";
-    BRepAlgoAPI_Common mkCommon(S1, S2);
-
-    Standard_ASSERT_RAISE(mkCommon.IsDone(), "Common failed");
-    QANewBRepNaming_Common nameBool(L);
-    nameBool.Load(mkCommon);
-    break;
-  }
-  case 4: {
-    QANewModTopOpe_Intersection mkSection(S1, S2);
-    Standard_ASSERT_RAISE(mkSection.IsDone(), "Section failed");
-    QANewBRepNaming_Intersection nameBool(L);
-    nameBool.Load(mkSection);
-    break;
-  }    
-  case 5: {
-    QANewModTopOpe_Limitation mkLimit(S1, S2);
-    const QANewModTopOpe_ModeOfLimitation aMode = (QANewModTopOpe_ModeOfLimitation) Orientation;
-    mkLimit.SetMode(aMode);
-    mkLimit.Cut();
-//     if (Orientation = 0) mkLimit.CutForward();
-//     else if (Orientation = 1) mkLimit.CutReversed();
-//     else if (Orientation = 2) mkLimit.CutBothSides();
-    Standard_ASSERT_RAISE(mkLimit.IsDone(),"Limit failed");
-    QANewBRepNaming_Limitation nameBool(L);
-    nameBool.Load(mkLimit);
-    break;
-  }  
-  default:
-    di<<"QANewDBRepNaming_NameBooleanOperation The type of operation must be 1 - fuse, 2 - cut or 3 - common\n";
-  }
-
-  return 0;
-}    
-
-//==============================================================
-//function : QANewDBRepNaming_NameFuse
-//purpose  : NameFuse Doc Label DrawShape1 DrawShape2
-//==============================================================
-
-static Standard_Integer QANewDBRepNaming_NameFuse (Draw_Interpretor& di,
-                                             Standard_Integer nb, 
-                                             const char ** arg)
-{
-  if (nb != 5) {
-    di <<  "QANewDBRepNaming_NameFuse : Error"  << "\n";
-    return 1;
-  }
-
-  Handle(TDocStd_Document) D;
-  if (!DDocStd::GetDocument(arg[1],D)) return 1;   
-  TDF_Label L;
-  if (!DDF::AddLabel(D->GetData(), arg[2], L)) return 1;  
-  const TopoDS_Shape& S1 = DBRep::Get(arg[3]);
-  const TopoDS_Shape& S2 = DBRep::Get(arg[4]);
-  QANewBRepNaming_Fuse nameBool(L);
-
-  di <<  "BRepAlgoAPI_Fuse"  << "\n";
-  BRepAlgoAPI_Fuse mkFuse(S1, S2);
-
-  Standard_ASSERT_RAISE(mkFuse.IsDone(), "Fuse failed");
-  nameBool.Load(mkFuse);
-  return 0;
-}    
-
-//==============================================================
-//function : QANewDBRepNaming_NameCut
-//purpose  : NameCut Doc Label DrawShape1 DrawShape2
-//==============================================================
-
-static Standard_Integer QANewDBRepNaming_NameCut (Draw_Interpretor& di,
-                                            Standard_Integer nb, 
-                                            const char ** arg)
-{
-  if (nb != 5) {
-    di <<  "QANewDBRepNaming_NameCut : Error"  << "\n";
-    return 1;
-  }
-
-  Handle(TDocStd_Document) D;
-  if (!DDocStd::GetDocument(arg[1],D)) return 1;   
-  TDF_Label L;
-  if (!DDF::AddLabel(D->GetData(), arg[2], L)) return 1;  
-  const TopoDS_Shape& S1 = DBRep::Get(arg[3]);
-  const TopoDS_Shape& S2 = DBRep::Get(arg[4]);
-// DBRep::Set("aShape", S1);
-  QANewBRepNaming_Cut nameBool(L);
-// DBRep::Set("S1", S1);
-// DBRep::Set("S2", S2);
-
-  di <<  "BRepAlgoAPI_Cut"  << "\n";
-  BRepAlgoAPI_Cut mkCut(S1, S2);
-
-// DBRep::Set("CutRes", mkCut.Shape());
-// DBRep::Set("Shape1", mkCut.Shape1());
-// DBRep::Set("Shape2", mkCut.Shape2());
-// BRepTools::Write(mkCut.Shape1(), "/dn04/OS/SAMTECH/env/S1.brep");
-  Standard_ASSERT_RAISE(mkCut.IsDone(), "Cut failed");
-  nameBool.Load(mkCut);
-// BRepTools::Write(mkCut.Shape1(), "/dn04/OS/SAMTECH/env/S2.brep");
-  return 0;
-}    
-
-//==============================================================
-//function : QANewDBRepNaming_NameCommon
-//purpose  : NameCommon Doc Label DrawShape1 DrawShape2
-//==============================================================
-
-static Standard_Integer QANewDBRepNaming_NameCommon (Draw_Interpretor& di,
-                                               Standard_Integer nb, 
-                                               const char ** arg)
-{
-  if (nb != 5) {
-    di <<  "QANewDBRepNaming_NameCommon : Error"  << "\n";
-    return 1;
-  }
-
-  Handle(TDocStd_Document) D;
-  if (!DDocStd::GetDocument(arg[1],D)) return 1;   
-  TDF_Label L;
-  if (!DDF::AddLabel(D->GetData(), arg[2], L)) return 1;  
-  const TopoDS_Shape& S1 = DBRep::Get(arg[3]);
-  const TopoDS_Shape& S2 = DBRep::Get(arg[4]);
-  QANewBRepNaming_Common nameBool(L);
-
-  di <<  "BRepAlgoAPI_Common"  << "\n";
-  BRepAlgoAPI_Common mkCommon(S1, S2);
-
-  Standard_ASSERT_RAISE(mkCommon.IsDone(), "Common failed");
-  nameBool.Load(mkCommon);
-  return 0;
-}    
-
-//==============================================================
-//function : QANewDBRepNaming_NameIntersection
-//purpose  : NameIntersection Doc Label DrawShape1 DrawShape2
-//==============================================================
-
-static Standard_Integer QANewDBRepNaming_NameIntersection (Draw_Interpretor& di,
-                                                     Standard_Integer nb, 
-                                                     const char ** arg)
-{
-  if (nb != 5) {
-    di <<  "QANewDBRepNaming_NameIntersection : Error"  << "\n";
-    return 1;
-  }
-
-  Handle(TDocStd_Document) D;
-  if (!DDocStd::GetDocument(arg[1],D)) return 1;   
-  TDF_Label L;
-  if (!DDF::AddLabel(D->GetData(), arg[2], L)) return 1;  
-  const TopoDS_Shape& S1 = DBRep::Get(arg[3]);
-  const TopoDS_Shape& S2 = DBRep::Get(arg[4]);
-  QANewBRepNaming_Intersection nameBool(L);
-  QANewModTopOpe_Intersection mkIntersection(S1, S2);
-  Standard_ASSERT_RAISE(mkIntersection.IsDone(), "Section failed");
-  nameBool.Load(mkIntersection);
-  return 0;
-}    
-
-//==============================================================
-//function : QANewDBRepNaming_NameLimit
-//purpose  : NameLimit Doc Label DrawShape1 DrawShape2 [Orientation (Forward - 0, Reversed - 1 or BothSise - 2)]
-//==============================================================
-
-static Standard_Integer QANewDBRepNaming_NameLimit (Draw_Interpretor& di,
-                                              Standard_Integer nb, 
-                                              const char ** arg)
-{
-  if (nb != 5 && nb != 6) {
-    di <<  "QANewDBRepNaming_NameLimit : Error"  << "\n";
-    return 1;
-  }
-
-  Handle(TDocStd_Document) D;
-  if (!DDocStd::GetDocument(arg[1],D)) return 1;   
-  TDF_Label L;
-  if (!DDF::AddLabel(D->GetData(), arg[2], L)) return 1;  
-  const TopoDS_Shape& S1 = DBRep::Get(arg[3]);
-  const TopoDS_Shape& S2 = DBRep::Get(arg[4]);
-  Standard_Integer Orientation = 0;
-  if (nb == 6) {
-    Orientation = Draw::Atoi(arg[5]);
-  }
-  QANewBRepNaming_Limitation nameBool(L);
-  const QANewModTopOpe_ModeOfLimitation aMode = (QANewModTopOpe_ModeOfLimitation) Orientation;
-  QANewModTopOpe_Limitation mkLimit(S1, S2, aMode);
-  mkLimit.Cut();
- //  if (Orientation == 0) mkLimit.CutForward();
-//   else if (Orientation == 1) mkLimit.CutReversed();
-//   else if (Orientation == 2) mkLimit.CutBothSides();
-  Standard_ASSERT_RAISE(mkLimit.IsDone(), "Limit failed");
-  nameBool.Load(mkLimit);
-  return 0;
-}    
-
-//==============================================================
-//function : QANewDBRepNaming_NameGlue
-//purpose  : NameGlue Doc Label ObjectLabel ToolLabel [auxiliary valid labels]
-//==============================================================
-
-static Standard_Integer QANewDBRepNaming_NameGlue (Draw_Interpretor& di,
-                                             Standard_Integer nb, 
-                                             const char ** arg)
-{
-  if (nb < 5) {
-    di <<  "QANewDBRepNaming_NameGlue : Error"  << "\n";
-    return 1;
-  }
-
-  Handle(TDocStd_Document) D;
-  if (!DDocStd::GetDocument(arg[1],D)) return 1;   
-  TDF_Label L,OL,TL;
-  if (!DDF::AddLabel(D->GetData(), arg[2], L)) return 1;  
-  if (!DDF::AddLabel(D->GetData(), arg[3], OL)) return 1;  
-  if (!DDF::AddLabel(D->GetData(), arg[4], TL)) return 1;  
-  TDF_LabelMap aLog;
-  for(Standard_Integer i=5;i<nb;i++) {
-    TDF_Label aLabel;
-    if (!DDF::AddLabel(D->GetData(), arg[i], aLabel)) return 1;
-    aLog.Add(aLabel);
-  }
-  Handle(TNaming_NamedShape) anObjectNS,aToolNS;
-  if (!OL.FindAttribute(TNaming_NamedShape::GetID(),anObjectNS)) return 1;
-  if (!TL.FindAttribute(TNaming_NamedShape::GetID(),aToolNS)) return 1;
-
-  QANewModTopOpe_Glue aMKGlue(TNaming_Tool::CurrentShape(anObjectNS),TNaming_Tool::CurrentShape(aToolNS));
-  if (!aMKGlue.IsDone()) return 1;
-  aMKGlue.Build();
-  if (!aMKGlue.IsDone()) return 1;
-
-  QANewBRepNaming_Gluing aGlue(L);
-  aGlue.SetContext(TNaming_Tool::CurrentShape(anObjectNS),TNaming_Tool::CurrentShape(aToolNS));
-  aGlue.SetLog(aLog);
-  aGlue.Load(aMKGlue);
-  return 0;
-}    
-
-//=======================================================================
-//function : FeatureCommands
-//purpose  : 
-//=======================================================================
-
-void QANewDBRepNaming::FeatureCommands (Draw_Interpretor& theCommands)
-{  
-  static Standard_Boolean done = Standard_False;
-  if (done) return;
-  done = Standard_True;
-  const char* g = "Naming algorithm commands for Booleans";
-
-
-  theCommands.Add ("NameBooleanOperation", 
-                  "NameBooleanOperation Doc Label Operation(1, 2, 3, 4 or 5) DrawShape1 DrawShape2 [Forward = 0 || Reversed = 1 || BothSides = 2] ",
-                  __FILE__, QANewDBRepNaming_NameBooleanOperation, g);
-
-  theCommands.Add ("NameFuse", 
-                  "NameFuse Doc Label DrawShape1 DrawShape2",
-                  __FILE__, QANewDBRepNaming_NameFuse, g);
-
-  theCommands.Add ("NameCut", 
-                  "NameCut Doc Label DrawShape1 DrawShape2",
-                  __FILE__, QANewDBRepNaming_NameCut, g);
-
-  theCommands.Add ("NameCommon", 
-                  "NameCommon Doc Label DrawShape1 DrawShape2",
-                  __FILE__, QANewDBRepNaming_NameCommon, g);
-
-  theCommands.Add ("NameIntersection", 
-                  "NameIntersection Doc Label DrawShape1 DrawShape2",
-                  __FILE__, QANewDBRepNaming_NameIntersection, g);
-
-  theCommands.Add ("NameLimit", 
-                  "NameLimit Doc Label DrawShape1 DrawShape2 [Orientation (Forward - 0, Reversed - 1 or BothSise - 2)]",
-                  __FILE__, QANewDBRepNaming_NameLimit, g);
-
-  theCommands.Add ("NameGlue", 
-                  "NameGlue Doc Label ObjectLabel ToolLabel [auxiliary valid labels]",
-                  __FILE__, QANewDBRepNaming_NameGlue, g);
-
-}
diff --git a/src/QANewDBRepNaming/QANewDBRepNaming_PrimitiveCommands.cxx b/src/QANewDBRepNaming/QANewDBRepNaming_PrimitiveCommands.cxx
deleted file mode 100644 (file)
index 25e85d7..0000000
+++ /dev/null
@@ -1,455 +0,0 @@
-// Created on: 1999-12-23
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 1999-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRep_Tool.hxx>
-#include <BRepAdaptor_Surface.hxx>
-#include <BRepFilletAPI_MakeChamfer.hxx>
-#include <BRepFilletAPI_MakeFillet.hxx>
-#include <BRepPrimAPI_MakeBox.hxx>
-#include <BRepPrimAPI_MakeCylinder.hxx>
-#include <BRepPrimAPI_MakePrism.hxx>
-#include <BRepPrimAPI_MakeRevol.hxx>
-#include <BRepPrimAPI_MakeSphere.hxx>
-#include <DBRep.hxx>
-#include <DDF.hxx>
-#include <Draw.hxx>
-#include <Draw_Interpretor.hxx>
-#include <gp_Pln.hxx>
-#include <QADNaming.hxx>
-#include <QANewBRepNaming_Box.hxx>
-#include <QANewBRepNaming_Chamfer.hxx>
-#include <QANewBRepNaming_Cylinder.hxx>
-#include <QANewBRepNaming_Fillet.hxx>
-#include <QANewBRepNaming_ImportShape.hxx>
-#include <QANewBRepNaming_Prism.hxx>
-#include <QANewBRepNaming_Revol.hxx>
-#include <QANewBRepNaming_Sphere.hxx>
-#include <QANewDBRepNaming.hxx>
-#include <TDataXtd_Geometry.hxx>
-#include <TNaming_Builder.hxx>
-#include <TNaming_NamedShape.hxx>
-#include <TNaming_Tool.hxx>
-#include <TopExp.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS.hxx>
-#include <TopoDS_Edge.hxx>
-#include <TopoDS_Face.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopoDS_Wire.hxx>
-
-//=======================================================================
-//function : QANewDBRepNaming_NameBox
-//purpose  : NameCylinder Doc Label dx dy dz
-//=======================================================================
-static Standard_Integer QANewDBRepNaming_NameBox (Draw_Interpretor& di,
-                                                 Standard_Integer nb, 
-                                                 const char ** arg)
-{
-  if(nb == 6) {
-    TDF_Label L;
-    if (!QADNaming::Entry(arg, L)) return 1;
-
-    BRepPrimAPI_MakeBox mkBox(Draw::Atof(arg[3]), Draw::Atof(arg[4]), Draw::Atof(arg[5]));
-    mkBox.Build();
-
-    if(!mkBox.IsDone()) {
-      di << "The box hasn't been built"  << "\n";
-      return 1;
-    }
-
-    QANewBRepNaming_Box nameBox(L);
-    nameBox.Load(mkBox,QANewBRepNaming_SOLID);
-    return 0;
-  }
-  di <<  "QANewDBRepNaming_NameBox : Error"  << "\n";
-  return 1;
-}           
-
-//=======================================================================
-//function : QANewDBRepNaming_NameCylinder
-//purpose  : NameCylinder Doc Label R H Angle [ShapeType(Shell/Solid)]
-//=======================================================================
-
-static Standard_Integer QANewDBRepNaming_NameCylinder (Draw_Interpretor& di,
-                                                 Standard_Integer nb, 
-                                                 const char ** arg)
-{
-  if(nb == 6 || nb == 7) {
-    TDF_Label L;
-    if (!QADNaming::Entry(arg, L)) return 1;
-
-    BRepPrimAPI_MakeCylinder mkCylinder(Draw::Atof(arg[3]), Draw::Atof(arg[4]));
-    if (Draw::Atof(arg[5]) != 0.) {
-      // for Mandrake-10 - mkv,02.06.06 - mkCylinder = BRepPrimAPI_MakeCylinder(Draw::Atof(arg[3]), Draw::Atof(arg[4]), Draw::Atof(arg[5]));
-      BRepPrimAPI_MakeCylinder MakeCylinder(Draw::Atof(arg[3]), Draw::Atof(arg[4]), Draw::Atof(arg[5]));
-      mkCylinder = MakeCylinder;
-    }
-    mkCylinder.Build();
-
-    if(!mkCylinder.IsDone()) {
-      di << "The cylinder hasn't been built"  << "\n";
-      return 1;
-    }
-
-    QANewBRepNaming_Cylinder nameCylinder(L);
-    if (nb == 6) nameCylinder.Load(mkCylinder, QANewBRepNaming_SHELL);
-    else if (Draw::Atoi(arg[6]) == 0) nameCylinder.Load(mkCylinder, QANewBRepNaming_SHELL);
-    else nameCylinder.Load(mkCylinder, QANewBRepNaming_SOLID);
-
-    return 0;
-  }
-  di <<  "QANewDBRepNaming_NameCylinder : Error"  << "\n";
-  return 1;
-}           
-
-
-//=======================================================================
-//function : QANewDBRepNaming_NameSphere
-//purpose  : NameSphere Doc Label R X Y Z Angle1 Angle2 Angle3 [ShapeType(Shell/Solid)]
-//=======================================================================
-
- static Standard_Integer QANewDBRepNaming_NameSphere (Draw_Interpretor& di,
-                                               Standard_Integer nb, 
-                                               const char ** arg)
- {
-   TDF_Label L;
-   if (!QADNaming::Entry(arg, L)) return 1;
-   Standard_Real R = Draw::Atof(arg[3]);
-   Standard_Real X = Draw::Atof(arg[4]);
-   Standard_Real Y = Draw::Atof(arg[5]);
-   Standard_Real Z = Draw::Atof(arg[6]);
-   Standard_Real DX = Draw::Atof(arg[7]);
-   Standard_Real DY = Draw::Atof(arg[8]);
-   Standard_Real DZ = Draw::Atof(arg[9]);
-   QANewBRepNaming_TypeOfPrimitive3D type = QANewBRepNaming_SHELL;
-   if (nb == 11) type = (QANewBRepNaming_TypeOfPrimitive3D) Draw::Atoi(arg[10]);
-   
-   QANewBRepNaming_Sphere nameSphere(L); 
-   BRepPrimAPI_MakeSphere mkSphere(R);
-   if (DX == 0 && DY == 0 && DZ == 0) {
-     // for Mandrake-10 - mkv,02.06.06 - mkSphere = BRepPrimAPI_MakeSphere(gp_Pnt(X, Y, Z), R);
-     BRepPrimAPI_MakeSphere MakeSphere1(gp_Pnt(X, Y, Z), R);
-     mkSphere = MakeSphere1;
-   } else {
-     // for Mandrake-10 - mkv,02.06.06 - mkSphere = BRepPrimAPI_MakeSphere(gp_Pnt(X, Y, Z), R, DX, DY, DZ);
-     BRepPrimAPI_MakeSphere MakeSphere2(gp_Pnt(X, Y, Z), R, DX, DY, DZ);
-     mkSphere = MakeSphere2;
-   }
-   mkSphere.Build();
-   if(!mkSphere.IsDone()) {
-     di << "The sphere hasn't been built"  << "\n";
-     return 1;
-   }
-   nameSphere.Load(mkSphere, type);
-   return 0;
- }           
-
-//===========================================================================
-//function : QANewDBRepNaming_NamePrism
-//purpose  : NamePrism Doc Label BasisLabel H Direction(X Y Z) [Inf/Semi-Inf]
-//===========================================================================
-
-static Standard_Integer QANewDBRepNaming_NamePrism (Draw_Interpretor& di,
-                                              Standard_Integer nb, 
-                                              const char ** arg)
-{
-  if (nb < 5 || nb > 9 || nb == 6 || nb == 7) {
-    di <<  "QANewDBRepNaming_NamePrism : Error"  << "\n";
-    return 1;
-  }
-
-  TDF_Label L,BL;
-  if (!QADNaming::Entry(arg, L)) return 1;
-  if (!DDF::AddLabel(L.Data(), arg[3], BL)) return 1;  
-
-  Standard_Real H = Draw::Atof(arg[4]);
-
-  Handle(TNaming_NamedShape) BasisNS;
-  if (!BL.FindAttribute(TNaming_NamedShape::GetID(), BasisNS)) return 1;
-  const TopoDS_Shape& Basis = TNaming_Tool::CurrentShape(BasisNS);
-
-  QANewBRepNaming_Prism namePrism(L);
-
-  if (nb >= 8) {
-    gp_Dir Direction(Draw::Atof(arg[5]), Draw::Atof(arg[6]), Draw::Atof(arg[7]));
-    gp_Vec Vector(Direction);
-    Vector.Normalize();
-    Vector *= H;
-
-    if (nb == 8) {
-      BRepPrimAPI_MakePrism mkPrism(Basis, Vector);  
-      mkPrism.Build();
-      
-      if(!mkPrism.IsDone()) {
-       di << "The prism hasn't been built"  << "\n";
-       return 1;
-      }
-      
-      namePrism.Load(mkPrism, Basis);
-    }      
-    else if (nb == 9) {
-      BRepPrimAPI_MakePrism mkPrism(Basis, Direction, Draw::Atoi(arg[8]) != 0);  
-      mkPrism.Build();
-      
-      if(!mkPrism.IsDone()) {
-       di << "The prism hasn't been built"  << "\n";
-       return 1;
-      }
-      
-      namePrism.Load(mkPrism, Basis);
-    }
-  }
-  
-  return 0;
-}           
-
-//===========================================================================
-//function : QANewDBRepNaming_NameRevol
-//purpose  : NameRevol Doc Label BasisLabel AxisLabel Angle 
-//===========================================================================
-
-static Standard_Integer QANewDBRepNaming_NameRevol (Draw_Interpretor& di,
-                                              Standard_Integer nb, 
-                                              const char ** arg)
-{
-  if (nb < 5 || nb > 6) {
-    di <<  "QANewDBRepNaming_NameRevol : Error"  << "\n";
-    return 1;
-  }
-
-  TDF_Label L, BL, AL;
-  if (!QADNaming::Entry(arg, L)) return 1;
-
-  if (!DDF::AddLabel(L.Data(), arg[3], BL)) return 1;  
-  if (!DDF::AddLabel(L.Data(), arg[4], AL)) return 1;  
-
-  Handle(TNaming_NamedShape) BasisNS, AxisNS;
-  if (!BL.FindAttribute(TNaming_NamedShape::GetID(), BasisNS)) return 1;
-  if (!AL.FindAttribute(TNaming_NamedShape::GetID(), AxisNS)) return 1;
-  const TopoDS_Shape& Basis = TNaming_Tool::CurrentShape(BasisNS);
-  const TopoDS_Shape& Axis = TNaming_Tool::CurrentShape(AxisNS);
-
-  if (Axis.ShapeType() != TopAbs_EDGE) return 1;
-
-  gp_Ax1 axis;
-  TopoDS_Vertex fV = TopExp::FirstVertex(TopoDS::Edge(Axis), Standard_True);
-  TopoDS_Vertex lV = TopExp::LastVertex(TopoDS::Edge(Axis), Standard_True);
-  if (!fV.IsNull() || !lV.IsNull()) {
-    gp_Vec alocalV(BRep_Tool::Pnt(fV),BRep_Tool::Pnt(lV));
-    gp_Dir Direction(alocalV);
-//    gp_Dir Direction(gp_Vec(BRep_Tool::Pnt(fV), BRep_Tool::Pnt(lV)));
-    axis.SetLocation(BRep_Tool::Pnt(fV));
-    axis.SetDirection(Direction);
-  }
-  else {
-    TDataXtd_Geometry::Axis(AL, axis);
-  }
-
-  QANewBRepNaming_Revol nameRevol(L);
-
-  if(nb == 5) {
-
-    BRepPrimAPI_MakeRevol mkRevol(Basis, axis);  
-    mkRevol.Build();
-
-    if(!mkRevol.IsDone()) {
-      di << "The revol hasn't been built"  << "\n";
-      return 1;
-    }
-
-    nameRevol.Load(mkRevol, Basis);
-  }
-  else if (nb == 6) {
-
-    Standard_Real Angle = Draw::Atof(arg[5]);
-
-    BRepPrimAPI_MakeRevol mkRevol(Basis, axis, Angle);  
-    mkRevol.Build();
-
-    if(!mkRevol.IsDone()) {
-      di << "The revol hasn't been built"  << "\n";
-      return 1;
-    }
-
-    nameRevol.Load(mkRevol, Basis);    
-
-  }
-  
-  return 0;
-}           
-
-//===========================================================================
-//function : QANewDBRepNaming_NameFillet
-//purpose  : NameFillet Doc Label SourceShapeLabel PathLabel Radius
-//===========================================================================
-
-static Standard_Integer QANewDBRepNaming_NameFillet (Draw_Interpretor& di,
-                                               Standard_Integer nb, 
-                                               const char ** arg)
-{
-  if (nb != 6) {
-    di <<  "QANewDBRepNaming_NameFillet : Error"  << "\n";
-    return 1;
-  }
-
-  TDF_Label L, BL, PL;
-  if (!QADNaming::Entry(arg, L)) return 1;
-
-  if (!DDF::AddLabel(L.Data(), arg[3], BL)) return 1;  
-  if (!DDF::AddLabel(L.Data(), arg[4], PL)) return 1;  
-  Standard_Real aRadius = Draw::Atoi(arg[5]);
-  Handle(TNaming_NamedShape) BasisNS, PathNS;
-  if (!BL.FindAttribute(TNaming_NamedShape::GetID(), BasisNS)) return 1;
-  if (!PL.FindAttribute(TNaming_NamedShape::GetID(), PathNS)) return 1;
-  const TopoDS_Shape& Basis = TNaming_Tool::CurrentShape(BasisNS);
-  const TopoDS_Shape& Path = TNaming_Tool::CurrentShape(PathNS);
-
-  BRepFilletAPI_MakeFillet aFillet(Basis);
-  TopExp_Explorer anExp(Path,TopAbs_EDGE);
-  if (anExp.More()) {
-    for(;anExp.More();anExp.Next()) {
-      aFillet.Add(aRadius,TopoDS::Edge(anExp.Current()));
-    }
-  } else aFillet.Add(aRadius,TopoDS::Edge(Path));
-  aFillet.Build();
-  if (!aFillet.IsDone()) return 1;
-  QANewBRepNaming_Fillet aNaming(L);
-  aNaming.Load(Basis, aFillet);
-  return 0;
-}
-
-//===========================================================================
-//function : QANewDBRepNaming_NameChamfer
-//purpose  : NameChamfer Doc Label SourceShapeLabel EdgeLabel FaceLabel Distance1 Distance2
-//===========================================================================
-
-static Standard_Integer QANewDBRepNaming_NameChamfer (Draw_Interpretor& di,
-                                                Standard_Integer nb, 
-                                                const char ** arg)
-{
-  if (nb != 8) {
-    di <<  "QANewDBRepNaming_NameChamfer : Error"  << "\n";
-    return 1;
-  }
-
-  TDF_Label L, BL, EL, FL;
-  Standard_Real aDist1, aDist2;
-
-  if (!QADNaming::Entry(arg, L)) return 1;
-
-  if (!DDF::AddLabel(L.Data(), arg[3], BL)) return 1;  
-  if (!DDF::AddLabel(L.Data(), arg[4], EL)) return 1;  
-  if (!DDF::AddLabel(L.Data(), arg[5], FL)) return 1;  
-  aDist1 = Draw::Atoi(arg[6]);
-  aDist2 = Draw::Atoi(arg[7]);
-
-  Handle(TNaming_NamedShape) BasisNS, EdgeNS, FaceNS;
-  if (!BL.FindAttribute(TNaming_NamedShape::GetID(), BasisNS)) return 1;
-  if (!EL.FindAttribute(TNaming_NamedShape::GetID(), EdgeNS)) return 1;
-  if (!FL.FindAttribute(TNaming_NamedShape::GetID(), FaceNS)) return 1;
-  const TopoDS_Shape& Basis = TNaming_Tool::CurrentShape(BasisNS);
-  const TopoDS_Shape& Edge = TNaming_Tool::CurrentShape(EdgeNS);
-  const TopoDS_Shape& Face = TNaming_Tool::CurrentShape(FaceNS);
-
-  BRepFilletAPI_MakeChamfer aChamfer(Basis);
-  TopExp_Explorer anExp(Edge,TopAbs_EDGE);
-  if (anExp.More()) {
-    for(;anExp.More();anExp.Next()) {
-      aChamfer.Add(aDist1,aDist2,TopoDS::Edge(anExp.Current()),TopoDS::Face(Face));
-    }
-  } else {aChamfer.Add(aDist1,aDist2,TopoDS::Edge(Edge),TopoDS::Face(Face));}
-  aChamfer.Build();
-  if (!aChamfer.IsDone()) return 1;
-  QANewBRepNaming_Chamfer aNaming(L);
-  aNaming.Load(Basis, aChamfer);
-  return 0;
-}
-
-//==============================================================
-//function : QANewDBRepNaming_NameImportShape
-//purpose  : NameImportShape Doc Label DrawShape 
-//==============================================================
-
-static Standard_Integer QANewDBRepNaming_NameImportShape (Draw_Interpretor& di,
-                                                    Standard_Integer nb, 
-                                                    const char ** arg)
-{
-  if (nb != 4) {
-    di <<  "QANewDBRepNaming_NameImportShape : Error"  << "\n";
-    return 1;
-  }
-
-  Handle(TDF_Data) D;
-  if (!DDF::GetDF(arg[1],D)) return 1;   
-  TDF_Label L;
-  if (!DDF::AddLabel(D, arg[2], L)) return 1;  
-  
-  const TopoDS_Shape& S = DBRep::Get(arg[3]);
-
-  QANewBRepNaming_ImportShape nameIS(L);
-  nameIS.Load(S);
-
-  return 0;
-}    
-
-
-//=======================================================================
-//function : PrimitiveCommands
-//purpose  : 
-//=======================================================================
-
-void QANewDBRepNaming::PrimitiveCommands (Draw_Interpretor& theCommands)
-{  
-  static Standard_Boolean done = Standard_False;
-  if (done) return;
-  done = Standard_True;
-  const char* g = "Naming algorithm commands for primitives" ;
-  
-
-  theCommands.Add ("NameBox", 
-                  "NameBox Doc Label dx dy dz",
-                  __FILE__, QANewDBRepNaming_NameBox, g);
-
-  theCommands.Add ("NameCylinder", 
-                  "NameCylinder Doc Label R H Angle [ShapeType(Shell/Solid)]",
-                  __FILE__, QANewDBRepNaming_NameCylinder, g);
-
-  theCommands.Add ("NameSphere", 
-                  "NameSphere Doc Label R X Y Z Angle1 Angle2 Angle3 [ShapeType(Shell/Solid)]",
-                  __FILE__, QANewDBRepNaming_NameSphere, g);
-
-  theCommands.Add ("NamePrism", 
-                  "NamePrism Doc Label BasisLabel H Direction(X Y Z) Inf(1/0, by feafault = 0)",
-                  __FILE__, QANewDBRepNaming_NamePrism, g);
-
-  theCommands.Add ("NameRevol", 
-                  "NameRevol Doc Label BasisLabel AxisLabel Angle",
-                  __FILE__, QANewDBRepNaming_NameRevol, g);
-
-  theCommands.Add ("NameFillet", 
-                  "NameFillet Doc Label SourceShapeLabel PathLabel Radius",
-                  __FILE__, QANewDBRepNaming_NameFillet, g);
-
-  theCommands.Add ("NameChamfer", 
-                  "NameChamfer Doc Label SourceShapeLabel EdgeLabel FaceLabel Distance1 Distance2",
-                  __FILE__, QANewDBRepNaming_NameChamfer, g);
-
-  theCommands.Add ("NameImportShape", 
-                  "NameImportShape Doc Label DrawShape",
-                  __FILE__, QANewDBRepNaming_NameImportShape, g);
-
-}
diff --git a/src/QANewModTopOpe/FILES b/src/QANewModTopOpe/FILES
deleted file mode 100755 (executable)
index 23da8dc..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-QANewModTopOpe.cxx
-QANewModTopOpe.hxx
-QANewModTopOpe_CommonPtr.hxx
-QANewModTopOpe_CutPtr.hxx
-QANewModTopOpe_Glue.cxx
-QANewModTopOpe_Glue.hxx
-QANewModTopOpe_Glue_SDFaces.cxx
-QANewModTopOpe_Glue_shell.cxx
-QANewModTopOpe_Glue_util.cxx
-QANewModTopOpe_Glue_vertex.cxx
-QANewModTopOpe_Glue_wire.cxx
-QANewModTopOpe_Intersection.cxx
-QANewModTopOpe_Intersection.hxx
-QANewModTopOpe_Limitation.cxx
-QANewModTopOpe_Limitation.hxx
-QANewModTopOpe_ModeOfLimitation.hxx
-QANewModTopOpe_ReShaper.cxx
-QANewModTopOpe_ReShaper.hxx
-QANewModTopOpe_Tools.cxx
-QANewModTopOpe_Tools.hxx
diff --git a/src/QANewModTopOpe/QANewModTopOpe.cxx b/src/QANewModTopOpe/QANewModTopOpe.cxx
deleted file mode 100644 (file)
index e1a5d6c..0000000
+++ /dev/null
@@ -1,653 +0,0 @@
-// Created on: 2002-01-28
-// Created by: Igor FEOKTISTOV
-// Copyright (c) 2002-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRepCheck.hxx>
-#include <BRepCheck_Analyzer.hxx>
-#include <BRepCheck_ListIteratorOfListOfStatus.hxx>
-#include <BRepCheck_Result.hxx>
-#include <BRepCheck_Shell.hxx>
-#include <BRepCheck_Wire.hxx>
-#include <BRepTools_Substitution.hxx>
-#include <math_Matrix.hxx>
-#include <QANewModTopOpe.hxx>
-#include <TopAbs.hxx>
-#include <TopExp.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS.hxx>
-#include <TopoDS_Compound.hxx>
-#include <TopoDS_Edge.hxx>
-#include <TopoDS_Face.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopoDS_Shell.hxx>
-#include <TopTools_DataMapOfShapeInteger.hxx>
-#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
-#include <TopTools_ListOfShape.hxx>
-#include <TopTools_MapIteratorOfMapOfShape.hxx>
-#include <TopTools_MapOfShape.hxx>
-
-static Standard_Boolean NoInternalVertices(const TopoDS_Shape& TheS);
-static Standard_Boolean CorrectOrientation(const TopoDS_Shell& TheS);
-
-static TopoDS_Shape RemoveIntExtEdges(const TopoDS_Shape& TheS) 
-{
-
-  TopoDS_Shape aCopy = TheS;
-  BRepTools_Substitution aSubst;
-  TopTools_ListOfShape anEmptyList;
-  TopAbs_Orientation anOr;
-
-  TopExp_Explorer anExp(aCopy, TopAbs_EDGE);
-  for(; anExp.More(); anExp.Next()) {
-    anOr = anExp.Current().Orientation();
-    if(anOr == TopAbs_INTERNAL || anOr == TopAbs_EXTERNAL) {
-      if(!aSubst.IsCopied(anExp.Current())) {
-       aSubst.Substitute(anExp.Current(), anEmptyList);
-      }
-    }
-  }
-
-  aSubst.Build(aCopy);
-
-  if(aSubst.IsCopied(aCopy)) {
-    aCopy = aSubst.Copy(aCopy).First();
-  }
-
-  return aCopy;
-}
-
-Standard_Boolean QANewModTopOpe::IsValid(const TopoDS_Shape& TheS, const Standard_Boolean GeomControls)
-{
-
-  TopExp_Explorer anExp, anExp1;  
-  TopoDS_Shape aCopy;
-
-  anExp.Init(TheS, TopAbs_SOLID);
-  for(; anExp.More(); anExp.Next()) {
-
-    aCopy = RemoveIntExtEdges(anExp.Current());
-
-    BRepCheck_Analyzer anAnlz(aCopy, GeomControls);
-
-    if(anAnlz.IsValid()) continue;
-    else return Standard_False;
-
-  }
-
-  anExp.Init(TheS, TopAbs_SHELL, TopAbs_SOLID);
-  for(; anExp.More(); anExp.Next()) {
-
-    aCopy = RemoveIntExtEdges(anExp.Current());
-
-    Handle(BRepCheck_Shell) aChkSh = new BRepCheck_Shell(TopoDS::Shell(aCopy));
-    aChkSh->Minimum();
-    aChkSh->Closed(Standard_True);
-    aChkSh->Orientation(Standard_True);
-    BRepCheck_ListIteratorOfListOfStatus anItl(aChkSh->Status());
-    for (;anItl.More(); anItl.Next()) {
-      if((anItl.Value() == BRepCheck_NoError) ||
-        (anItl.Value() == BRepCheck_InvalidMultiConnexity) ||
-        (anItl.Value() == BRepCheck_NotClosed) ||
-        (anItl.Value() == BRepCheck_BadOrientationOfSubshape)) continue;
-      return Standard_False;
-    }
-
-    anExp1.Init(anExp.Current(), TopAbs_FACE);
-    for(; anExp1.More(); anExp1.Next()) {
-      if(IsValid(anExp1.Current())) continue;
-      else return Standard_False;
-    }
-  }
-
-  anExp.Init(TheS, TopAbs_FACE, TopAbs_SHELL);
-  for(; anExp.More(); anExp.Next()) {
-
-    aCopy = RemoveIntExtEdges(anExp.Current());
-
-    BRepCheck_Analyzer anAnlz(aCopy, GeomControls);
-
-    if(anAnlz.IsValid()) continue;
-    else return Standard_False;
-
-  }
-
-  anExp.Init(TheS, TopAbs_WIRE, TopAbs_FACE);
-  for(; anExp.More(); anExp.Next()) {
-
-    BRepCheck_Analyzer anAnlz(anExp.Current(), GeomControls);
-
-    Handle(BRepCheck_Result) aChkWr = anAnlz.Result(anExp.Current());
-    BRepCheck_ListIteratorOfListOfStatus anItl(aChkWr->Status());
-    for (;anItl.More(); anItl.Next()) {
-
-      if(anItl.Value() == BRepCheck_NoError || 
-        anItl.Value() == BRepCheck_BadOrientationOfSubshape) continue;
-
-      return Standard_False;
-
-    }
-
-  }
-
-  anExp.Init(TheS, TopAbs_EDGE, TopAbs_WIRE);
-  for(; anExp.More(); anExp.Next()) {
-
-    BRepCheck_Analyzer anAnlz(anExp.Current(), GeomControls);
-
-    if(anAnlz.IsValid()) continue;
-    else return Standard_False;
-
-  }
-
-  return Standard_True;
-}
-
-Standard_Boolean QANewModTopOpe::IsManifold(const TopoDS_Shape& TheS)
-{
-
-  Standard_Boolean aRes = Standard_False;
-
-  if(TheS.IsNull()) return aRes;
-
-  TopAbs_ShapeEnum aType = TheS.ShapeType();
-  
-  switch (aType) {
-
-  case TopAbs_COMPOUND :
-    {
-      TopoDS_Iterator anIter(TheS);
-      if(!anIter.More()) return aRes;
-      const TopoDS_Shape& aS = anIter.Value();
-      anIter.Next();
-      if(anIter.More()) aRes = IsCompoundManifold(TopoDS::Compound(TheS));
-      else aRes = IsManifold(aS);
-    }
-    break;
-  case TopAbs_COMPSOLID :
-    aRes = Standard_False;
-    break;
-  case TopAbs_SOLID :
-    {
-      aRes = NoInternalVertices(TheS);
-    }
-    break;
-  case TopAbs_SHELL :
-    {
-      aRes = NoInternalVertices(TheS);
-      if(aRes) aRes = CorrectOrientation(TopoDS::Shell(TheS));
-    }
-    break;
-  case TopAbs_FACE :
-    {
-      aRes = NoInternalVertices(TheS);
-    }
-    break;
-  case TopAbs_WIRE :
-    {
-      aRes = NoInternalVertices(TheS);
-    }
-    break;
-  case TopAbs_EDGE :
-    aRes = NoInternalVertices(TheS);
-    break;
-  case TopAbs_VERTEX :
-    aRes = Standard_True;
-    break;
-  case TopAbs_SHAPE :
-  default :
-    ;
-  }
-      
-
-  return aRes;
-
-}
-
-static Standard_Boolean NoInternalVertices(const TopoDS_Shape& TheS)
-{
-
-  TopAbs_Orientation anOrnt;
-  TopExp_Explorer anExp(TheS, TopAbs_VERTEX);
-  for(; anExp.More(); anExp.Next()) {
-
-    anOrnt = anExp.Current().Orientation();
-
-    if(anOrnt == TopAbs_FORWARD) continue; 
-    if(anOrnt == TopAbs_REVERSED) continue;
-
-    return Standard_False;
-
-  }
-    
-  return Standard_True;
-
-}
-
-static Standard_Boolean CorrectOrientation(const TopoDS_Shell& TheS)
-{
-
-  TopoDS_Iterator anIter(TheS);
-
-  if(!anIter.More()) return Standard_False; //Empty shell;
-  anIter.Next();
-  if(!anIter.More()) return Standard_True; // only one face
-
-
-  TopTools_IndexedDataMapOfShapeListOfShape aMapEdgeFace;
-  TopExp::MapShapesAndAncestors(TheS, TopAbs_EDGE, TopAbs_FACE, aMapEdgeFace);
-
-  Standard_Integer i, nbEdgs = aMapEdgeFace.Extent();
-  TopExp_Explorer anExp;
-  TopAbs_Orientation anOrnt = TopAbs_FORWARD;
-
-  for(i = 1; i <= nbEdgs; i++) {
-
-    const TopTools_ListOfShape& aL = aMapEdgeFace(i);
-
-    if(aL.Extent() > 2) return Standard_False;
-    if(aL.Extent() == 1) continue;
-
-    const TopoDS_Shape& anE = aMapEdgeFace.FindKey(i);
-    
-    anExp.Init(aL.First(), TopAbs_EDGE);
-    for(; anExp.More(); anExp.Next()) {
-      if(anE.IsSame(anExp.Current())) {
-       anOrnt = anExp.Current().Orientation();
-       break;
-      }
-    }
-
-    anExp.Init(aL.Last(), TopAbs_EDGE);
-    for(; anExp.More(); anExp.Next()) {
-      if(anE.IsSame(anExp.Current())) {
-       if(anOrnt == anExp.Current().Orientation()) return Standard_False;
-       break;
-      }
-    }
-
-  }
-    
-  return Standard_True;
-
-}
-
-Standard_Boolean QANewModTopOpe::IsCompoundManifold(const TopoDS_Compound& TheS)
-{
-  Standard_Boolean aRes = Standard_True;
-
-  TopExp_Explorer anExp;
-
-  anExp.Init(TheS, TopAbs_COMPSOLID);
-  if(anExp.More()) {
-
-    aRes = Standard_False;
-    return aRes;
-
-  }
-
-  TopTools_ListOfShape aList;
-  TopExp_Explorer anExp1;
-  TopTools_DataMapOfShapeInteger aMap;
-  Standard_Integer n = 0, connect;
-
-  anExp.Init(TheS, TopAbs_SOLID);
-  for(; anExp.More(); anExp.Next()) {
-    aRes = IsManifold(anExp.Current());
-    if(!aRes) return aRes;
-    ++n;
-    anExp1.Init(anExp.Current(), TopAbs_FACE);
-    for(; anExp1.More(); anExp1.Next()) {
-      if(aMap.IsBound(anExp1.Current())) {
-       connect = aMap(anExp1.Current());
-       if(n != connect) {
-         aRes = Standard_False;
-         return aRes;
-       }
-      }
-      else {
-       aMap.Bind(anExp1.Current(), n);
-      }
-    }
-
-    anExp1.Init(anExp.Current(), TopAbs_EDGE);
-    for(; anExp1.More(); anExp1.Next()) {
-      if(aMap.IsBound(anExp1.Current())) {
-       connect = aMap(anExp1.Current());
-       if(n != connect) {
-         aRes = Standard_False;
-         return aRes;
-       }
-      }
-      else {
-       aMap.Bind(anExp1.Current(), n);
-      }
-    }
-
-    anExp1.Init(anExp.Current(), TopAbs_VERTEX);
-    for(; anExp1.More(); anExp1.Next()) {
-      if(aMap.IsBound(anExp1.Current())) {
-       connect = aMap(anExp1.Current());
-       if(n != connect) {
-         aRes = Standard_False;
-         return aRes;
-       }
-      }
-      else {
-       aMap.Bind(anExp1.Current(), n);
-      }
-    }
-  }
-
-  anExp.Init(TheS, TopAbs_SHELL, TopAbs_SOLID);
-  for(; anExp.More(); anExp.Next()) {
-    aRes = IsManifold(anExp.Current());
-    if(!aRes) return aRes;
-    ++n;
-    anExp1.Init(anExp.Current(), TopAbs_FACE);
-    for(; anExp1.More(); anExp1.Next()) {
-      if(aMap.IsBound(anExp1.Current())) {
-       connect = aMap(anExp1.Current());
-       if(n != connect) {
-         aRes = Standard_False;
-         return aRes;
-       }
-      }
-      else {
-       aMap.Bind(anExp1.Current(), n);
-      }
-    }
-
-    anExp1.Init(anExp.Current(), TopAbs_EDGE);
-    for(; anExp1.More(); anExp1.Next()) {
-      if(aMap.IsBound(anExp1.Current())) {
-       connect = aMap(anExp1.Current());
-       if(n != connect) {
-         aRes = Standard_False;
-         return aRes;
-       }
-      }
-      else {
-       aMap.Bind(anExp1.Current(), n);
-      }
-    }
-
-    anExp1.Init(anExp.Current(), TopAbs_VERTEX);
-    for(; anExp1.More(); anExp1.Next()) {
-      if(aMap.IsBound(anExp1.Current())) {
-       connect = aMap(anExp1.Current());
-       if(n != connect) {
-         aRes = Standard_False;
-         return aRes;
-       }
-      }
-      else {
-       aMap.Bind(anExp1.Current(), n);
-      }
-    }
-  }
-
-  anExp.Init(TheS, TopAbs_FACE, TopAbs_SHELL);
-  for(; anExp.More(); anExp.Next()) {
-    aRes = IsManifold(anExp.Current());
-    if(!aRes) return aRes;
-    ++n;
-
-    anExp1.Init(anExp.Current(), TopAbs_EDGE);
-    for(; anExp1.More(); anExp1.Next()) {
-      if(aMap.IsBound(anExp1.Current())) {
-       connect = aMap(anExp1.Current());
-       if(n != connect) {
-         aRes = Standard_False;
-         return aRes;
-       }
-      }
-      else {
-       aMap.Bind(anExp1.Current(), n);
-      }
-    }
-
-    anExp1.Init(anExp.Current(), TopAbs_VERTEX);
-    for(; anExp1.More(); anExp1.Next()) {
-      if(aMap.IsBound(anExp1.Current())) {
-       connect = aMap(anExp1.Current());
-       if(n != connect) {
-         aRes = Standard_False;
-         return aRes;
-       }
-      }
-      else {
-       aMap.Bind(anExp1.Current(), n);
-      }
-    }
-  }
-
-  anExp.Init(TheS, TopAbs_WIRE, TopAbs_FACE);
-  for(; anExp.More(); anExp.Next()) {
-    aRes = IsManifold(anExp.Current());
-    if(!aRes) return aRes;
-    ++n;
-
-    anExp1.Init(anExp.Current(), TopAbs_EDGE);
-    for(; anExp1.More(); anExp1.Next()) {
-      if(aMap.IsBound(anExp1.Current())) {
-       connect = aMap(anExp1.Current());
-       if(n != connect) {
-         aRes = Standard_False;
-         return aRes;
-       }
-      }
-      else {
-       aMap.Bind(anExp1.Current(), n);
-      }
-    }
-
-    anExp1.Init(anExp.Current(), TopAbs_VERTEX);
-    for(; anExp1.More(); anExp1.Next()) {
-      if(aMap.IsBound(anExp1.Current())) {
-       connect = aMap(anExp1.Current());
-       if(n != connect) {
-         aRes = Standard_False;
-         return aRes;
-       }
-      }
-      else {
-       aMap.Bind(anExp1.Current(), n);
-      }
-    }
-  }
-
-  anExp.Init(TheS, TopAbs_EDGE, TopAbs_WIRE);
-  for(; anExp.More(); anExp.Next()) {
-    aRes = IsManifold(anExp.Current());
-    if(!aRes) return aRes;
-    ++n;
-
-    anExp1.Init(anExp.Current(), TopAbs_VERTEX);
-    for(; anExp1.More(); anExp1.Next()) {
-      if(aMap.IsBound(anExp1.Current())) {
-       connect = aMap(anExp1.Current());
-       if(n != connect) {
-         aRes = Standard_False;
-         return aRes;
-       }
-      }
-      else {
-       aMap.Bind(anExp1.Current(), n);
-      }
-    }
-  }
-
-  anExp.Init(TheS, TopAbs_VERTEX, TopAbs_EDGE);
-  for(; anExp.More(); anExp.Next()) {
-    ++n;
-
-    if(aMap.IsBound(anExp.Current())) {
-      connect = aMap(anExp.Current());
-      if(n != connect) {
-       aRes = Standard_False;
-       return aRes;
-      }
-    }
-    else {
-      aMap.Bind(anExp.Current(), n);
-    }
-  }
-
-  return aRes;
-}
-
-
-TopAbs_ShapeEnum  QANewModTopOpe::TypeOfShape(const TopoDS_Shape& TheS)
-{
-  if(TheS.ShapeType() != TopAbs_COMPOUND) return TheS.ShapeType();
-
-  TopAbs_ShapeEnum aType = TopAbs_COMPOUND;
-
-  TopoDS_Iterator anIter(TheS);
-
-  if(!anIter.More()) return aType;
-
-  aType = TypeOfShape(anIter.Value());
-
-  if(aType == TopAbs_COMPOUND) return aType;
-
-  anIter.Next();
-
-  for(; anIter.More(); anIter.Next()) {
-
-    if(TypeOfShape(anIter.Value()) != aType) return TopAbs_COMPOUND;
-
-  }
-
-  return aType;
-  
-}
-
-
-Standard_Boolean QANewModTopOpe::IsConnected(const TopoDS_Shape& TheS)
-{
-  cout << "QANewModTopOpe::IsConnected BEGIN" << endl;
-  Standard_Boolean aRes = Standard_True;
-
-  if(TheS.IsNull()) return aRes;
-
-  TopAbs_ShapeEnum aType = TheS.ShapeType();
-
-  if(aType != TopAbs_COMPOUND) return aRes;
-      
-  TopTools_ListOfShape aCompList;
-  TopTools_DataMapOfShapeInteger aMap;
-  TopTools_MapOfShape aSMap;
-  TopoDS_Iterator anTDIter;
-  TopExp_Explorer anExp;
-
-  anTDIter.Initialize(TheS);
-  for(; anTDIter.More(); anTDIter.Next()) {
-    if(anTDIter.Value().ShapeType() == TopAbs_COMPOUND) aCompList.Append(anTDIter.Value());
-    else aSMap.Add(anTDIter.Value());
-  }
-
-  TopTools_ListIteratorOfListOfShape anIter(aCompList);
-  for(;anIter.More(); anIter.Next()) {
-    anTDIter.Initialize(anIter.Value());
-    for(; anTDIter.More(); anTDIter.Next()) {
-      if(anTDIter.Value().ShapeType() == TopAbs_COMPOUND) aCompList.Append(anTDIter.Value());
-      else aSMap.Add(anTDIter.Value());
-    }
-  }
-  //cout << "QANewModTopOpe::IsConnected(2)" << endl;
-   
-
-  Standard_Integer nbs = aSMap.Extent();
-  if(nbs <= 1) return aRes;
-
-  math_Matrix aMat(1, nbs, 1, nbs, 0);
-
-  TopTools_MapIteratorOfMapOfShape anMIter(aSMap);
-  Standard_Integer n = 1;
-  Standard_Integer connect;
-  const TopoDS_Shape& aFirstShape = anMIter.Key();
-
-  aMat(n,n) = 1;
-
-  anExp.Init(aFirstShape, TopAbs_VERTEX);
-  for(; anExp.More(); anExp.Next()) {
-    aMap.Bind(anExp.Current(), n);
-  }
-
-  anMIter.Next();
-
-  for(; anMIter.More(); anMIter.Next()) {
-    ++n;
-    aMat(n,n) = 1;
-
-    const TopoDS_Shape& aShape = anMIter.Key();
-
-    anExp.Init(aShape, TopAbs_VERTEX);
-    for(; anExp.More(); anExp.Next()) {
-      if(aMap.IsBound(anExp.Current()))
-      {
-        connect = aMap(anExp.Current());
-        aMat(n, connect) = 1;
-        aMat(connect, n) = 1;
-      }
-      else
-      {
-        aMap.Bind(anExp.Current(), n);
-      }
-    }
-  }
-  //cout << "QANewModTopOpe::IsConnected(3)Lnbs=" <<nbs<< endl;
-
-  Standard_Integer k,i;
-  Standard_Real p; 
-  Standard_Boolean aNotChanged;
-
-  for (k = 1; k <= nbs; k++)
-  {
-    aRes = Standard_True;
-    aNotChanged = Standard_True;
-    for (n = 1; n <= nbs; n++)
-    {
-      if (aMat(1, n) == 0)
-      {
-        p = 0;
-        for (i = 1; i <= nbs; i++)
-        {
-          if (aMat(1, i) == 1 && aMat(i, n) == 1)
-          {
-            p = 1;
-            break;
-          }
-        }
-        if (p > 0)
-        {
-          aMat(1, n) = 1;
-          aMat(n, 1) = 1;
-          aNotChanged = Standard_False;
-        }
-        aRes = Standard_False;
-      }
-    }
-    if(aNotChanged) break;
-    if(aRes) break;
-  }
-
-  cout << "QANewModTopOpe::IsConnected END: aRes="<<aRes <<endl;
-  return aRes;
-
-}
diff --git a/src/QANewModTopOpe/QANewModTopOpe.hxx b/src/QANewModTopOpe/QANewModTopOpe.hxx
deleted file mode 100644 (file)
index cd89852..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-// Created on: 2001-05-03
-// Created by: Igor FEOKTISTOV
-// Copyright (c) 2001-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewModTopOpe_HeaderFile
-#define _QANewModTopOpe_HeaderFile
-
-#include <Standard.hxx>
-#include <Standard_DefineAlloc.hxx>
-#include <Standard_Handle.hxx>
-
-#include <Standard_Boolean.hxx>
-#include <TopAbs_ShapeEnum.hxx>
-class TopoDS_Shape;
-class TopoDS_Compound;
-class QANewModTopOpe_Tools;
-class QANewModTopOpe_Limitation;
-class QANewModTopOpe_Intersection;
-class QANewModTopOpe_Glue;
-class QANewModTopOpe_ReShaper;
-
-
-//! QANewModTopOpe  package  provides  classes  for  limitation, gluing
-//! and removing "floating" shapes.
-class QANewModTopOpe 
-{
-public:
-
-  DEFINE_STANDARD_ALLOC
-
-  
-  //! to remove  "floating" objects from compound.
-  //! "floating" objects are wires, edges, vertices that do not belong
-  //! solids, shells or faces.
-  //! to check if TheS is valid or not.
-  //! in difference with BRepCheck_Analizer, this method allows
-  //! some  kind of  non-manifold shapes
-  Standard_EXPORT static Standard_Boolean IsValid (const TopoDS_Shape& TheS, const Standard_Boolean GeomControls = Standard_True);
-  
-  //! to check if TheS is manifol or not.
-  //! manifold shape is valid SOLID, SHELL, WIRE, EDGE, VERTEX without internal
-  //! subshapes - faces, wires, edges and vertices that have INTERNAL orientation
-  //! For SHELL there are additional conditions: orientations of faces must
-  //! corresponds each other, each edge must be shared not more then two faces.
-  //! COMPSOLID is non manifold by default.
-  //! COMPOUND conciders to  be manifold if:
-  //! 1) all shapes in compound are manifold (see above mentioned definitions)
-  //! 2) all shapes are fully disconnected - there are any shapes in  compound that
-  //! share common subshapes.
-  Standard_EXPORT static Standard_Boolean IsManifold (const TopoDS_Shape& TheS);
-  
-  //! to check if TheS is manifol or not.
-  //! compound conciders to  be manifold if:
-  //! 1) all shapes in compound are manifold (see comments for method IsManifold)
-  //! 2) all shapes are fully disconnected - there are any shapes in  compound that
-  //! share common subshapes.
-  Standard_EXPORT static Standard_Boolean IsCompoundManifold (const TopoDS_Compound& TheS);
-  
-  //! to define if COMPOUND is homogeneous
-  //! (consists of shapes of the same type) and return this shape type.
-  //! If COMPOUND is mixed, method returns TopAbs_COMPOUND.
-  //! If TheS is single shape (not COMPOUND), method returns its type.
-  //! If COMPOUND contains nested compounds, it concideres to be homogeneous
-  //! if all compounds consist of shapes of the same type.
-  Standard_EXPORT static TopAbs_ShapeEnum TypeOfShape (const TopoDS_Shape& TheS);
-  
-  //! to check if all subshapes in TheS, when TheS is COMPOUND, COMPSOLID, SHELL or WIRE,
-  //! are linked through common faces, edges or  vertices.
-  //! SOLID, FACE, EDGE, VERTEX concider to be connected by default.
-  Standard_EXPORT static Standard_Boolean IsConnected (const TopoDS_Shape& TheS);
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
-friend class QANewModTopOpe_Tools;
-friend class QANewModTopOpe_Limitation;
-friend class QANewModTopOpe_Intersection;
-friend class QANewModTopOpe_Glue;
-friend class QANewModTopOpe_ReShaper;
-
-};
-
-
-
-
-
-
-
-#endif // _QANewModTopOpe_HeaderFile
diff --git a/src/QANewModTopOpe/QANewModTopOpe_CommonPtr.hxx b/src/QANewModTopOpe/QANewModTopOpe_CommonPtr.hxx
deleted file mode 100644 (file)
index 4cd09e9..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Created on: 2001-05-03
-// Created by: Igor FEOKTISTOV
-// Copyright (c) 2001-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewModTopOpe_CommonPtr_HeaderFile
-#define _QANewModTopOpe_CommonPtr_HeaderFile
-
-class BRepAlgoAPI_Common;
-typedef BRepAlgoAPI_Common* QANewModTopOpe_CommonPtr;
-
-#endif // _QANewModTopOpe_CommonPtr_HeaderFile
diff --git a/src/QANewModTopOpe/QANewModTopOpe_CutPtr.hxx b/src/QANewModTopOpe/QANewModTopOpe_CutPtr.hxx
deleted file mode 100644 (file)
index 4fbff5a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Created on: 2001-05-03
-// Created by: Igor FEOKTISTOV
-// Copyright (c) 2001-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef _QANewModTopOpe_CutPtr_HeaderFile
-#define _QANewModTopOpe_CutPtr_HeaderFile
-
-class BRepAlgoAPI_Cut;
-typedef BRepAlgoAPI_Cut* QANewModTopOpe_CutPtr;
-
-#endif // _QANewModTopOpe_CutPtr_HeaderFile
diff --git a/src/QANewModTopOpe/QANewModTopOpe_Glue.cxx b/src/QANewModTopOpe/QANewModTopOpe_Glue.cxx
deleted file mode 100644 (file)
index 32a6f17..0000000
+++ /dev/null
@@ -1,566 +0,0 @@
-// Created on: 2000-12-08
-// Created by: Michael SAZONOV
-// Copyright (c) 2000-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-
-#include <BRep_Builder.hxx>
-#include <gp_Pnt.hxx>
-#include <QANewModTopOpe_Glue.hxx>
-#include <TopExp_Explorer.hxx>
-#include <TopoDS.hxx>
-#include <TopoDS_Edge.hxx>
-#include <TopoDS_Face.hxx>
-#include <TopoDS_Iterator.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopoDS_Vertex.hxx>
-#include <TopTools_DataMapIteratorOfDataMapOfShapeListOfShape.hxx>
-#include <TopTools_ListIteratorOfListOfShape.hxx>
-
-static TopoDS_Shape RemoveCompounds(const TopoDS_Shape& TheS)
-{
-
-  if(TheS.IsNull()) return TheS;
-
-  TopAbs_ShapeEnum aType = TheS.ShapeType();
-
-  if(aType != TopAbs_COMPOUND) return TheS;
-
-  TopTools_MapOfShape aMap;
-  TopoDS_Shape aResult;
-
-  BRep_Builder aBld;
-  aBld.MakeCompound(TopoDS::Compound(aResult));
-  Standard_Integer n = 0;
-  TopExp_Explorer anExp;
-
-  anExp.Init(TheS, TopAbs_COMPSOLID);
-  for(; anExp.More(); anExp.Next()) {
-    n++;
-    if(aMap.Add(anExp.Current())) aBld.Add(aResult, anExp.Current());
-  }
-
-  anExp.Init(TheS, TopAbs_SOLID, TopAbs_COMPSOLID);
-  for(; anExp.More(); anExp.Next()) {
-    n++;
-    if(aMap.Add(anExp.Current())) aBld.Add(aResult, anExp.Current());
-  }
-
-  anExp.Init(TheS, TopAbs_SHELL, TopAbs_SOLID);
-  for(; anExp.More(); anExp.Next()) {
-    n++;
-    if(aMap.Add(anExp.Current())) aBld.Add(aResult, anExp.Current());
-  }
-
-  anExp.Init(TheS, TopAbs_FACE, TopAbs_SHELL);
-  for(; anExp.More(); anExp.Next()) {
-    n++;
-    if(aMap.Add(anExp.Current())) aBld.Add(aResult, anExp.Current());
-  }
-
-  anExp.Init(TheS, TopAbs_WIRE, TopAbs_FACE);
-  for(; anExp.More(); anExp.Next()) {
-    n++;
-    if(aMap.Add(anExp.Current())) aBld.Add(aResult, anExp.Current());
-  }
-
-  anExp.Init(TheS, TopAbs_EDGE, TopAbs_WIRE);
-  for(; anExp.More(); anExp.Next()) {
-    n++;
-    if(aMap.Add(anExp.Current())) aBld.Add(aResult, anExp.Current());
-  }
-
-  if(n == 1) {
-    TopoDS_Iterator anIter(aResult);
-    aResult = anIter.Value();
-  }
-
-  if(n == 0) aResult.Nullify();
-
-  return aResult;
-}
-
-
-//=======================================================================
-//function : QANewModTopOpe_Glue
-//purpose  : 
-//=======================================================================
-QANewModTopOpe_Glue::QANewModTopOpe_Glue(const TopoDS_Shape& theS1,
-                              const TopoDS_Shape& theS2,
-                              const Standard_Boolean theAllowCutting,
-                              const Standard_Boolean thePerformNow)
-: BRepAlgoAPI_BooleanOperation (theS1,theS2, BOPAlgo_FUSE),
-  myCompleted (Standard_False),
-  myAllowCutting (theAllowCutting)
-{
-  NotDone();
-  myGenerated.Clear();
-  myMapModif.Clear();
-  myMapGener.Clear();
-  if (thePerformNow)
-    Build();
-}
-//=======================================================================
-//function : Build
-//purpose  : 
-//=======================================================================
-
-void QANewModTopOpe_Glue::Build() 
-{
-  TopoDS_Shape& myS1=myArguments.First();
-  TopoDS_Shape& myS2=myTools.First();
-
-  if (myCompleted) return;
-
-  TopAbs_ShapeEnum aType1, aType2;
-  aType1 = myS1.ShapeType();
-  aType2 = myS2.ShapeType();
-
-  TopoDS_Shape aCopyS1 = myS1;
-  TopoDS_Shape aCopyS2 = myS2;
-  TopoDS_Shape aResult;
-
-  if(aType2 == TopAbs_VERTEX) {
-    PerformVertex();
-
-    myCompleted = Standard_True;
-    return;
-
-  } else if (aType1 == TopAbs_VERTEX) {
-
-    myS2 = aCopyS1;
-    myS1 = aCopyS2;
-
-    PerformVertex();
-
-    myCompleted = Standard_True;
-    myS1 = aCopyS1;
-    myS2 = aCopyS2;
-    return;
-  }
-
-  Standard_Boolean aContains1 = Standard_False;
-  Standard_Boolean aContains2 = Standard_False;
-
-  TopExp_Explorer anExp(myS1, TopAbs_FACE);
-  aContains1 = anExp.More();
-  anExp.Init(myS2, TopAbs_FACE);
-  aContains2 = anExp.More();
-
-  if(aContains1 && aContains2) {
-
-    if(myS1.ShapeType() == TopAbs_FACE) {
-      BRep_Builder aBld;
-      TopoDS_Shape aCmp;
-      aBld.MakeCompound(TopoDS::Compound(aCmp));
-      aBld.Add(aCmp, myS1);
-      myS1 =  aCmp;
-    }
-    if(myS2.ShapeType() == TopAbs_FACE) {
-      BRep_Builder aBld;
-      TopoDS_Shape aCmp;
-      aBld.MakeCompound(TopoDS::Compound(aCmp));
-      aBld.Add(aCmp, myS2);
-      myS2 =  aCmp;
-    }
-
-    mySubst.Clear();
-    PerformSDFaces();
-
-    if(!myShape.IsNull()) {
-
-      TopoDS_Iterator anIter(myShape);
-      if(anIter.More()) {
-       myS1 = anIter.Value();
-       anIter.Next();
-       myS2 = anIter.Value();
-      }
-
-      aResult = myShape;
-      myShape.Nullify();
-
-    }
-    
-    mySubst.Clear();
-    PerformShell();
-    if(!myShape.IsNull()) {
-
-      TopoDS_Iterator anIter(myShape);
-      if(anIter.More()) {
-       myS1 = anIter.Value();
-       anIter.Next();
-       myS2 = anIter.Value();
-      }
-
-      aResult = myShape;
-      myShape.Nullify();
-     
-    }
-    
-  }
-
-  if(aContains1 || aContains2) {
-    BRep_Builder aBld;
-    TopoDS_Shape aS1, aS2;
-    TopoDS_Shape aCpS1 = myS1, aCpS2 = myS2;
-    aBld.MakeCompound(TopoDS::Compound(aS1));
-    aBld.MakeCompound(TopoDS::Compound(aS2));
-
-    anExp.Init(myS1, TopAbs_WIRE, TopAbs_FACE);
-    for(; anExp.More(); anExp.Next()) {
-      aBld.Add(aS1, anExp.Current());
-    }
-  
-    anExp.Init(myS1, TopAbs_EDGE, TopAbs_WIRE);
-    for(; anExp.More(); anExp.Next()) {
-      aBld.Add(aS1, anExp.Current());
-    }
-
-    anExp.Init(myS2, TopAbs_WIRE, TopAbs_FACE);
-    for(; anExp.More(); anExp.Next()) {
-      aBld.Add(aS2, anExp.Current());
-    }
-  
-    anExp.Init(myS2, TopAbs_EDGE, TopAbs_WIRE);
-    for(; anExp.More(); anExp.Next()) {
-      aBld.Add(aS2, anExp.Current());
-    }
-
-    TopoDS_Iterator anIt1(aS1);
-    TopoDS_Iterator anIt2(aS2);
-
-    Standard_Boolean aShellWire = Standard_False;
-
-    if(anIt1.More() && anIt2.More()) {
-      aShellWire = Standard_True;
-      myS1 = aS1;
-      myS2 = aS2;
-      mySubst.Clear();
-
-      PerformWires();
-
-      myS1 = aCpS1;
-      myS2 = aCpS2;
-
-      if(!myShape.IsNull()) {
-       aS2 = myShape;
-       aS1.Nullify();
-       aBld.MakeCompound(TopoDS::Compound(aS1));
-      }
-      else {
-       for(; anIt1.More(); anIt1.Next()) aBld.Add(aS2, anIt1.Value());
-       aS1.Nullify();
-       aBld.MakeCompound(TopoDS::Compound(aS1));
-      }
-    }
-    else if(anIt1.More()) {
-      aShellWire = Standard_True;
-      aS2 = aS1;
-      aS1.Nullify();
-      aBld.MakeCompound(TopoDS::Compound(aS1));
-    }
-    else if(anIt2.More()) {
-      aShellWire = Standard_True;
-    }
-
-    if(aShellWire) {
-
-      if(aContains1) {
-
-       anExp.Init(myS1, TopAbs_COMPSOLID);
-       for(; anExp.More(); anExp.Next()) {
-         aBld.Add(aS1, anExp.Current());
-       }
-
-       anExp.Init(myS1, TopAbs_SOLID, TopAbs_COMPSOLID);
-       for(; anExp.More(); anExp.Next()) {
-         aBld.Add(aS1, anExp.Current());
-       }
-
-       anExp.Init(myS1, TopAbs_SHELL, TopAbs_SOLID);
-       for(; anExp.More(); anExp.Next()) {
-         aBld.Add(aS1, anExp.Current());
-       }
-
-       anExp.Init(myS1, TopAbs_FACE, TopAbs_SHELL);
-       for(; anExp.More(); anExp.Next()) {
-         aBld.Add(aS1, anExp.Current());
-       }
-
-      }
-
-      if(aContains2) {
-  
-       anExp.Init(myS2, TopAbs_COMPSOLID);
-       for(; anExp.More(); anExp.Next()) {
-         aBld.Add(aS1, anExp.Current());
-       }
-       
-       anExp.Init(myS2, TopAbs_SOLID, TopAbs_COMPSOLID);
-       for(; anExp.More(); anExp.Next()) {
-         aBld.Add(aS1, anExp.Current());
-       }
-