]> OCCT Git - occt-copy.git/commitdiff
0022742: Not all constructors defined in TNaming_Identifier.cdl are implemented.
authorSZY <>
Fri, 11 Nov 2011 13:52:53 +0000 (13:52 +0000)
committerbugmaster <bugmaster@opencascade.com>
Mon, 5 Mar 2012 15:31:04 +0000 (19:31 +0400)
src/TNaming/TNaming_Identifier.cdl
src/TNaming/TNaming_Identifier.cxx

index f4b55f58a169c31a5a3767ab8d2efb94dc49e3dc..a5c0e9ebcf1f9b62b7f2892b96ed777c1605ed34 100755 (executable)
@@ -22,14 +22,14 @@ is
 
     Create (Lab     : Label   from TDF;
            S       : Shape   from TopoDS;
-           Context : Shape   from TopoDS;
-           Geom    : Boolean from Standard)
+           Context     : Shape   from TopoDS;
+           Geom        : Boolean from Standard)
     returns Identifier from TNaming;       
     
     Create (Lab     : Label      from TDF;
            S       : Shape      from TopoDS;
-           Context : NamedShape from TNaming;
-           Geom    : Boolean    from Standard)
+           ContextNS   : NamedShape from TNaming;
+           Geom        : Boolean    from Standard)
     returns Identifier from TNaming;       
     
     
@@ -80,6 +80,9 @@ is
                   Localizer : in out Localizer  from TNaming;  
                   NS        :        NamedShape from TNaming);
 
+
+    Init(me : in out; Context : Shape   from TopoDS) is private;
+                 
 fields
     
     myTDFAcces       : Label   from TDF;       
index ccb90eb6bdbcd77abcd391d6e8e448feac12d0a1..d2dc5930e47a6bd5a32d3a07d805a6ba1baf026b 100755 (executable)
@@ -64,17 +64,43 @@ TNaming_Identifier::TNaming_Identifier(const TDF_Label&        LabAcces,
 :myTDFAcces(LabAcces), myShape(S), myOneOnly(OneOnly),
 myDone(Standard_False),myIsFeature(Standard_False)
 
+{
+  Init(Context); 
+}
+
+//=======================================================================
+//function : TNaming_Identifier
+//purpose  : 
+//=======================================================================
+
+TNaming_Identifier::TNaming_Identifier(const TDF_Label&        LabAcces,
+                                      const TopoDS_Shape&                     S,
+                                      const Handle(TNaming_NamedShape)&       ContextNS,
+                                      const Standard_Boolean                  OneOnly)
+:myTDFAcces(LabAcces), myShape(S), myOneOnly(OneOnly),
+myDone(Standard_False),myIsFeature(Standard_False)
+
+{
+  const TopoDS_Shape& aContext = TNaming_Tool::GetShape (ContextNS);
+  Init(aContext); 
+}
+
+//=======================================================================
+//function : Init
+//purpose  : 
+//=======================================================================                                         
+void TNaming_Identifier::Init(const TopoDS_Shape&     Context)
 {
   Handle(TNaming_UsedShapes) US;
-  LabAcces.Root().FindAttribute(TNaming_UsedShapes::GetID(),US);
+  myTDFAcces.Root().FindAttribute(TNaming_UsedShapes::GetID(),US);
   
   TNaming_Localizer Localizer;
-  Localizer.Init (US,LabAcces.Transaction());
+  Localizer.Init (US,myTDFAcces.Transaction());
   
   Handle(TNaming_NamedShape) NS;
-  NS   = TNaming_Tool::NamedShape(S,LabAcces);
+  NS   = TNaming_Tool::NamedShape(myShape, myTDFAcces);
   if (NS.IsNull()) {
-    AncestorIdentification(Localizer,Context);
+    AncestorIdentification(Localizer, Context);
     return;
   }
 #ifdef MDTV_DEB_IDF
@@ -95,9 +121,7 @@ myDone(Standard_False),myIsFeature(Standard_False)
   else {
     Identification(Localizer,NS);
   }
-}
-
-
+}                                         
 
 //=======================================================================
 //function : Type