]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Provide for new OCAF document reading for OCCT7.0.0 skv/new_caf
authorskv <skv@opencascade.com>
Fri, 24 Jul 2015 08:38:57 +0000 (11:38 +0300)
committerskv <skv@opencascade.com>
Fri, 24 Jul 2015 08:38:57 +0000 (11:38 +0300)
resources/GEOMDS_Resources
resources/Plugin.in
src/GEOM/GEOM_Application.cxx
src/GEOM_I/GEOM_Gen_i.cc [changed mode: 0755->0644]

index 06f018f225acb4068bc3a986243d3edb2c1aedf5..deb6655f92d9cf684edeed5edf7e33338638dfb2 100644 (file)
@@ -1,5 +1,7 @@
-formatlist:SALOME_GEOM
-
+formatlist:SALOME_GEOM|BinOcaf
+!
+! SALOME_GEOM format
+!
 SALOME_GEOM.Description: GEOM Document Version 1.0
 SALOME_GEOM.FileExtension: sgd
 SALOME_GEOM.StoragePlugin: ad696000-5b34-11d1-b5ba-00a0c9064368
@@ -7,4 +9,10 @@ SALOME_GEOM.RetrievalPlugin: ad696001-5b34-11d1-b5ba-00a0c9064368
 SALOME_GEOMSchema: ad696002-5b34-11d1-b5ba-00a0c9064368
 SALOME_GEOM.AttributeStoragePlugin: 47b0b826-d931-11d1-b5da-00a0c9064368
 SALOME_GEOM.AttributeRetrievalPlugin: 47b0b827-d931-11d1-b5da-00a0c9064368
-
+!
+! BinOcaf format
+!
+BinOcaf.Description: Bin Ocaf Document Version 1.0
+BinOcaf.FileExtension: cbf
+BinOcaf.StoragePlugin: 03a56835-8269-11d5-aab2-0050044b1af1
+BinOcaf.RetrievalPlugin: 03a56836-8269-11d5-aab2-0050044b1af1
index 3d4fad5e55716194f9a958e863fea2e138470b0a..2d5485bf942a9de50cc9e1beef821bd0ef43e531 100644 (file)
@@ -8,3 +8,8 @@ a148e300-5740-11d1-a904-080036aaa103.Location: FWOSPlugin
 ad696000-5b34-11d1-b5ba-00a0c9064368.Location: @CAS_STDPLUGIN@
 ad696001-5b34-11d1-b5ba-00a0c9064368.Location: @CAS_STDPLUGIN@
 ad696002-5b34-11d1-b5ba-00a0c9064368.Location: @CAS_STDPLUGIN@
+!
+! BinOcaf Document Plugin
+!
+03a56835-8269-11d5-aab2-0050044b1af1.Location: @CAS_BINPLUGIN@
+03a56836-8269-11d5-aab2-0050044b1af1.Location: @CAS_BINPLUGIN@
index abd56e3f754e494cdace847953bc0a948f91c043..fd20c57d156633fdd3951ec8081a8494f9446918 100644 (file)
@@ -53,6 +53,9 @@ GEOM_Application::~GEOM_Application()
 void GEOM_Application::Formats(TColStd_SequenceOfExtendedString& Formats) 
 {  
   Formats.Append(TCollection_ExtendedString ("SALOME_GEOM"));
+#if OCC_VERSION_LARGE > 0x06090000
+  Formats.Append(TCollection_ExtendedString ("BinOcaf"));
+#endif
 }
 
 
old mode 100755 (executable)
new mode 100644 (file)
index 7a824de..04d0352
@@ -602,7 +602,11 @@ SALOMEDS::TMPFile* GEOM_Gen_i::Save(SALOMEDS::SComponent_ptr theComponent,
   if (isMultiFile)
     aNameWithExt = TCollection_AsciiString((char*)(SALOMEDS_Tool::GetNameFromPath
                                                    (theComponent->GetStudy()->URL())).c_str());
+#if OCC_VERSION_LARGE > 0x06090000
+  aNameWithExt += TCollection_AsciiString("_GEOM.cbf");
+#else
   aNameWithExt += TCollection_AsciiString("_GEOM.sgd");
+#endif
   aSeq[0] = CORBA::string_dup(aNameWithExt.ToCString());
   // Build a full file name of temporary file
   TCollection_AsciiString aFullName = TCollection_AsciiString((char*)aTmpDir.c_str()) + aNameWithExt;
@@ -664,11 +668,32 @@ CORBA::Boolean GEOM_Gen_i::Load(SALOMEDS::SComponent_ptr theComponent,
   // Prepare a file name to open
   TCollection_AsciiString aNameWithExt("");
   SALOMEDS::Study_var study = theComponent->GetStudy();
+
+#if OCC_VERSION_LARGE > 0x06090000
+  // Get the file name.
+  int         i;
+  int         aLength  = aSeq->length();
+  const char *aGeomSgd = "_GEOM.sgd";
+  const char *aGeomcbf = "_GEOM.cbf";
+
+  for(i = 0; i < aLength; i++) {
+    std::string aName(aSeq[i]);
+
+    if (aName.rfind(aGeomSgd) != std::string::npos ||
+        aName.rfind(aGeomcbf) != std::string::npos) {
+      aNameWithExt = aName.c_str();
+      break;
+    }
+  }
+#else
   if (isMultiFile) {
     CORBA::String_var url = study->URL();
     aNameWithExt = (char*)SALOMEDS_Tool::GetNameFromPath(url.in()).c_str();
   }
+
   aNameWithExt += "_GEOM.sgd";
+#endif
+
   TCollection_AsciiString aFullName = (TCollection_AsciiString((char*)aTmpDir.c_str()) + aNameWithExt);
 
   // Open document