Salome HOME
Merge branch 'master' into V9_dev
authorrnv <rnv@opencascade.com>
Wed, 19 Jul 2017 15:22:32 +0000 (18:22 +0300)
committerrnv <rnv@opencascade.com>
Wed, 19 Jul 2017 15:22:32 +0000 (18:22 +0300)
1  2 
src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx

index d6666d83a0ccd2087f0b3b6455f199ef9e0d075f,509972da10cacdb8d05fb64dd8f3dd06cede0154..e562e5c70e900320037ba527d1bdabff7c9b7b9b
@@@ -146,7 -146,8 +146,7 @@@ namespac
    static PyTypeObject PyStdOut_Type = {
      /* The ob_type field must be initialized in the module init function
       * to be portable to Windows without using C++. */
 -    PyObject_HEAD_INIT(NULL)
 -    0,                            /*ob_size*/
 +    PyVarObject_HEAD_INIT(NULL, 0)
      "PyOut",                      /*tp_name*/
      sizeof(PyStdOut),             /*tp_basicsize*/
      0,                            /*tp_itemsize*/
@@@ -241,9 -242,10 +241,9 @@@ bool HasSizeMapOnVertex=false
  //=============================================================================
  
  BLSURFPlugin_BLSURF::BLSURFPlugin_BLSURF(int        hypId,
 -                                         int        studyId,
                                           SMESH_Gen* gen,
                                           bool       theHasGEOM)
 -  : SMESH_2D_Algo(hypId, studyId, gen)
 +  : SMESH_2D_Algo(hypId, gen)
  {
    _name = theHasGEOM ? "MG-CADSurf" : "MG-CADSurf_NOGEOM";//"BLSURF";
    _shapeType = (1 << TopAbs_FACE); // 1 bit /shape type
    _supportSubmeshes = true;
    _requireShape = theHasGEOM;
  
 -  smeshGen_i = SMESH_Gen_i::GetSMESHGen();
 -  CORBA::Object_var anObject = smeshGen_i->GetNS()->Resolve("/myStudyManager");
 -  SALOMEDS::StudyManager_var aStudyMgr = SALOMEDS::StudyManager::_narrow(anObject);
 -
 -  myStudy = NULL;
 -  myStudy = aStudyMgr->GetStudyByID(_studyId);
 -
    /* Initialize the Python interpreter */
    assert(Py_IsInitialized());
    PyGILState_STATE gstate;
@@@ -477,7 -486,7 +477,7 @@@ projectionPoint getProjectionPoint(Topo
        throw SMESH_ComputeError(COMPERR_BAD_PARMETERS,
                                 "getProjectionPoint: can't project a vertex to a face");
  
-     Quantity_Parameter u,v;
+     Standard_Real u,v;
      projector.LowerDistanceParameters(u,v);
      myPoint.uv = gp_XY(u,v);
      gp_Pnt aPnt = projector.NearestPoint();
  /////////////////////////////////////////////////////////
  TopoDS_Shape BLSURFPlugin_BLSURF::entryToShape(std::string entry)
  {
 -  TopoDS_Shape S;
 -  if ( !entry.empty() )
 -  {
 -    GEOM::GEOM_Object_var aGeomObj;
 -    SALOMEDS::SObject_var aSObj = myStudy->FindObjectID( entry.c_str() );
 -    if (!aSObj->_is_nil()) {
 -      CORBA::Object_var obj = aSObj->GetObject();
 -      aGeomObj = GEOM::GEOM_Object::_narrow(obj);
 -      aSObj->UnRegister();
 -    }
 -    if ( !aGeomObj->_is_nil() )
 -      S = smeshGen_i->GeomObjectToShape( aGeomObj.in() );
 +  GEOM::GEOM_Object_var aGeomObj;
 +  TopoDS_Shape S = TopoDS_Shape();
 +  SALOMEDS::SObject_var aSObj = SMESH_Gen_i::getStudyServant()->FindObjectID( entry.c_str() );
 +  if (!aSObj->_is_nil()) {
 +    CORBA::Object_var obj = aSObj->GetObject();
 +    aGeomObj = GEOM::GEOM_Object::_narrow(obj);
 +    aSObj->UnRegister();
    }
 +  if ( !aGeomObj->_is_nil() )
 +    S = SMESH_Gen_i::GetSMESHGen()->GeomObjectToShape( aGeomObj.in() );
    return S;
  }