X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOM_PY%2Fgeomtools.py;h=f5c61f2460052a4fd1be7a2ccf37097736873dbf;hb=bbafce4b04731f9219f75dc124ec2429d994c202;hp=09fba1f7b44c5c86a34326049ecb986cbdf34aff;hpb=bd2042b4d19d69deaf182edda40bbff83e53490a;p=modules%2Fgeom.git diff --git a/src/GEOM_PY/geomtools.py b/src/GEOM_PY/geomtools.py index 09fba1f7b..f5c61f246 100644 --- a/src/GEOM_PY/geomtools.py +++ b/src/GEOM_PY/geomtools.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -38,9 +38,10 @@ from salome.kernel.logger import Logger from salome.kernel import termcolor logger = Logger("salome.geom.geomtools", color = termcolor.RED) -from salome.kernel.studyedit import getActiveStudyId, getStudyEditor +from salome.kernel.studyedit import getStudyEditor from salome.kernel.services import IDToObject, IDToSObject from salome.kernel.deprecation import is_called_by_sphinx +from salome.geom import geomBuilder try: if not is_called_by_sphinx(): @@ -50,29 +51,16 @@ try: except: pass -_geompys = {} +_geompy = geomBuilder.New() -## Return an object behaving exactly like geompy module, except that it is -# associated with the study \em studyId. If \em studyId is \b None, return -# a pseudo geompy object for the current study. +## Return an object behaving exactly like geompy module. # \ingroup geomtools -def getGeompy(studyId = None): +def getGeompy(): """ - Return an object behaving exactly like geompy module, except that it is - associated with the study `studyId`. If `studyId` is :const:`None`, return - a pseudo geompy object for the current study. + Return an object behaving exactly like geompy module. """ - # We can't use geompy module because it initializes GEOM with - # salome.myStudy, which may not exist. So we use this trick to create - # a pseudo geompy module. salome.salome_init() - if studyId is None: - studyId = getActiveStudyId() - if not _geompys.has_key(studyId): - from salome.geom import geomBuilder - study = salome.myStudyManager.GetStudyByID(studyId) - _geompys[studyId] = geomBuilder.New(study) - return _geompys[studyId] + return _geompy ModeWireFrame = 0 @@ -146,8 +134,7 @@ class GeomStudyTools: :param folderName: the name of a folder in the GEOM part of the study """ study = self.editor.study - studyId = study._get_StudyId() - geompy = getGeompy(studyId) + geompy = getGeompy() if folderName is None: # Insert the shape in the study by the standard way @@ -183,7 +170,6 @@ class GeomStudyTools: The underlying GEOM object is returned (so that it can be destroyed) """ study = self.editor.study - studyId = study._get_StudyId() shape = self.getGeomObjectFromEntry(shapeStudyEntry) studyObject = IDToSObject(shapeStudyEntry) self.editor.removeItem(studyObject,True) @@ -230,13 +216,13 @@ class GeomStudyTools: ## Display the geometrical shape whose entry is given by \em entry. # You should prefer use this function instead of the - # displayShapeByName() which can have an unpredictible behavior in + # displayShapeByName() which can have an unpredictable behavior in # the case where several objects exist with the same name in the study. def displayShapeByEntry(self, shapeStudyEntry, color = None, fit=True): """ Display the geometrical shape whose entry is given by `entry`. You should prefer use this function instead of the - displayShapeByName which can have an unpredictible behavior in + displayShapeByName which can have an unpredictable behavior in the case where several objects exist with the same name in the study. """ @@ -271,7 +257,7 @@ class GeomStudyTools: # Helper functions for a complete suppression of a shape from the # SALOME session. # ====================================================================== - ## This completly deletes a geom shape. + ## This completely deletes a geom shape. # \warning Please be aware that to delete a geom object, # you have three operations to perform: # @@ -280,7 +266,7 @@ class GeomStudyTools: # 3. destroy the underlying geom object def deleteShape(self,shapeStudyEntry): """ - This completly deletes a geom shape. + This completely deletes a geom shape. WARNING: please be aware that to delete a geom object, you have three operations to perform: @@ -337,13 +323,13 @@ def TEST_createBox(): box = geompy.MakeBoxDXDYDZ(200, 200, 200) geompy.addToStudy( box, 'box' ) if salome.sg.hasDesktop(): - salome.sg.updateObjBrowser(1) + salome.sg.updateObjBrowser() def TEST_getGeomObjectSelected(): tool = GeomStudyTools() myGeomObject = tool.getGeomObjectSelected() - print myGeomObject + print(myGeomObject) ## This test is a simple use case that illustrates how to create a # GEOM shape in a SALOME session (create the GEOM object, put in in @@ -364,13 +350,12 @@ def TEST_createAndDeleteShape(): import salome salome.salome_init() study = salome.myStudy - studyId = salome.myStudyId from salome.geom import geomtools - geompy = geomtools.getGeompy(studyId) + geompy = geomtools.getGeompy() from salome.kernel.studyedit import getStudyEditor - studyEditor = getStudyEditor(studyId) + studyEditor = getStudyEditor() gst = geomtools.GeomStudyTools(studyEditor) @@ -416,14 +401,14 @@ def TEST_createAndDeleteShape(): gst.eraseShapeByEntry(sphereStudyEntry) # -------------------------------------------------- - # In this last example, we completly delete an object from the + # In this last example, we completely delete an object from the # SALOME session (erase from viewer, remove from study and finnaly # destroy the object). This is done by a simple call to # deleteShape(). gst.deleteShape(cylinderStudyEntry) # -------------------------------------------------- - # At the end of the executioon of this test, you should have in + # At the end of the execution of this test, you should have in # the SALOME session: # - the box, in a dedicated folder of the study, and displayed in the viewer # - the sphere, in the standard place of the study, and not displayed