From a334fbe62fc9c146a36bf1e1673639c8be8af6aa Mon Sep 17 00:00:00 2001 From: jfa Date: Thu, 15 Sep 2005 13:36:27 +0000 Subject: [PATCH] PAL9969: update geompy.py to new functions --- src/GEOM_SWIG/batchmode_geompy.py | 40 +++++++++++++++++--- src/GEOM_SWIG/geompy.py | 61 +++++++++++++++++++++++++++---- 2 files changed, 87 insertions(+), 14 deletions(-) diff --git a/src/GEOM_SWIG/batchmode_geompy.py b/src/GEOM_SWIG/batchmode_geompy.py index fb2c74e31..2ef3c1d68 100644 --- a/src/GEOM_SWIG/batchmode_geompy.py +++ b/src/GEOM_SWIG/batchmode_geompy.py @@ -46,19 +46,19 @@ CurvesOp = None PrimOp = None ShapesOp = None HealOp = None -InsertOp = None -BoolOp = None +InsertOp = None +BoolOp = None TrsfOp = None LocalOp = None MeasuOp = None BlocksOp = None -GroupOp = None +GroupOp = None def init_geom(theStudy): global myStudy, myBuilder, myStudyId, BasicOp, CurvesOp, PrimOp, ShapesOp, HealOp global InsertOp, BoolOp, TrsfOp, LocalOp, MeasuOp, BlocksOp, GroupOp, father - + myStudy = theStudy myStudyId = myStudy._get_StudyId() myBuilder = myStudy.NewBuilder() @@ -73,7 +73,7 @@ def init_geom(theStudy): aPixmap.SetPixMap("ICON_OBJBROWSER_Geometry") myBuilder.DefineComponentInstance(father,geom) pass - + # ----------------------------------------------------------------------------- # Assign Operations Interfaces # ----------------------------------------------------------------------------- @@ -89,7 +89,7 @@ def init_geom(theStudy): LocalOp = geom.GetILocalOperations (myStudyId) MeasuOp = geom.GetIMeasureOperations (myStudyId) BlocksOp = geom.GetIBlocksOperations (myStudyId) - GroupOp = geom.GetIGroupOperations (myStudyId) + GroupOp = geom.GetIGroupOperations (myStudyId) pass init_geom(myStudy) @@ -478,18 +478,36 @@ def GetShapesOnPlane(theShape, theShapeType, theAx1, theState): print "GetShapesOnPlane : ", ShapesOp.GetErrorCode() return aList +def GetShapesOnPlaneIDs(theShape, theShapeType, theAx1, theState): + aList = ShapesOp.GetShapesOnPlaneIDs(theShape, theShapeType, theAx1, theState) + if ShapesOp.IsDone() == 0: + print "GetShapesOnPlaneIDs : ", ShapesOp.GetErrorCode() + return aList + def GetShapesOnCylinder(theShape, theShapeType, theAxis, theRadius, theState): aList = ShapesOp.GetShapesOnCylinder(theShape, theShapeType, theAxis, theRadius, theState) if ShapesOp.IsDone() == 0: print "GetShapesOnCylinder : ", ShapesOp.GetErrorCode() return aList +def GetShapesOnCylinderIDs(theShape, theShapeType, theAxis, theRadius, theState): + aList = ShapesOp.GetShapesOnCylinderIDs(theShape, theShapeType, theAxis, theRadius, theState) + if ShapesOp.IsDone() == 0: + print "GetShapesOnCylinderIDs : ", ShapesOp.GetErrorCode() + return aList + def GetShapesOnSphere(theShape, theShapeType, theCenter, theRadius, theState): aList = ShapesOp.GetShapesOnSphere(theShape, theShapeType, theCenter, theRadius, theState) if ShapesOp.IsDone() == 0: print "GetShapesOnSphere : ", ShapesOp.GetErrorCode() return aList +def GetShapesOnSphereIDs(theShape, theShapeType, theCenter, theRadius, theState): + aList = ShapesOp.GetShapesOnSphereIDs(theShape, theShapeType, theCenter, theRadius, theState) + if ShapesOp.IsDone() == 0: + print "GetShapesOnSphereIDs : ", ShapesOp.GetErrorCode() + return aList + def GetInPlace(theShapeWhere, theShapeWhat): anObj = ShapesOp.GetInPlace(theShapeWhere, theShapeWhat) if ShapesOp.IsDone() == 0: @@ -1105,11 +1123,21 @@ def UnionList (theGroup, theSubShapes): if GroupOp.IsDone() == 0: print "UnionList : ", GroupOp.GetErrorCode() +def UnionIDs(theGroup, theSubShapes): + GroupOp.UnionIDs(theGroup, theSubShapes) + if GroupOp.IsDone() == 0: + print "UnionIDs : ", GroupOp.GetErrorCode() + def DifferenceList (theGroup, theSubShapes): GroupOp.DifferenceList(theGroup, theSubShapes) if GroupOp.IsDone() == 0: print "DifferenceList : ", GroupOp.GetErrorCode() +def DifferenceIDs(theGroup, theSubShapes): + GroupOp.DifferenceIDs(theGroup, theSubShapes) + if GroupOp.IsDone() == 0: + print "DifferenceIDs : ", GroupOp.GetErrorCode() + def GetObjectIDs(Group): ListIDs = GroupOp.GetObjects(Group) if GroupOp.IsDone() == 0: diff --git a/src/GEOM_SWIG/geompy.py b/src/GEOM_SWIG/geompy.py index 6c3d37720..d788cc4fe 100644 --- a/src/GEOM_SWIG/geompy.py +++ b/src/GEOM_SWIG/geompy.py @@ -36,7 +36,7 @@ import GEOM g = lcc.FindOrLoadComponent("FactoryServer", "GEOM") geom = g._narrow( GEOM.GEOM_Gen ) -gg = ImportComponentGUI("GEOM") +gg = ImportComponentGUI("GEOM") gg.initGeomGen() #SRN: modified on Mar 18, 2005 @@ -50,19 +50,19 @@ CurvesOp = None PrimOp = None ShapesOp = None HealOp = None -InsertOp = None -BoolOp = None +InsertOp = None +BoolOp = None TrsfOp = None LocalOp = None MeasuOp = None BlocksOp = None -GroupOp = None - +GroupOp = None + def init_geom(theStudy): global myStudy, myBuilder, myStudyId, BasicOp, CurvesOp, PrimOp, ShapesOp, HealOp global InsertOp, BoolOp, TrsfOp, LocalOp, MeasuOp, BlocksOp, GroupOp, father - + myStudy = theStudy myStudyId = myStudy._get_StudyId() myBuilder = myStudy.NewBuilder() @@ -77,7 +77,7 @@ def init_geom(theStudy): aPixmap.SetPixMap("ICON_OBJBROWSER_Geometry") myBuilder.DefineComponentInstance(father,geom) pass - + # ----------------------------------------------------------------------------- # Assign Operations Interfaces # ----------------------------------------------------------------------------- @@ -93,7 +93,7 @@ def init_geom(theStudy): LocalOp = geom.GetILocalOperations (myStudyId) MeasuOp = geom.GetIMeasureOperations (myStudyId) BlocksOp = geom.GetIBlocksOperations (myStudyId) - GroupOp = geom.GetIGroupOperations (myStudyId) + GroupOp = geom.GetIGroupOperations (myStudyId) pass init_geom(myStudy) @@ -951,6 +951,15 @@ def GetShapesOnPlane(theShape, theShapeType, theAx1, theState): print "GetShapesOnPlane : ", ShapesOp.GetErrorCode() return aList +def GetShapesOnPlaneIDs(theShape, theShapeType, theAx1, theState): + """ + * Works like the above method, but returns list of sub-shapes indices + """ + aList = ShapesOp.GetShapesOnPlaneIDs(theShape, theShapeType, theAx1, theState) + if ShapesOp.IsDone() == 0: + print "GetShapesOnPlaneIDs : ", ShapesOp.GetErrorCode() + return aList + def GetShapesOnCylinder(theShape, theShapeType, theAxis, theRadius, theState): """ * Find in \a theShape all sub-shapes of type \a theShapeType, situated relatively @@ -971,6 +980,15 @@ def GetShapesOnCylinder(theShape, theShapeType, theAxis, theRadius, theState): print "GetShapesOnCylinder : ", ShapesOp.GetErrorCode() return aList +def GetShapesOnCylinderIDs(theShape, theShapeType, theAxis, theRadius, theState): + """ + * Works like the above method, but returns list of sub-shapes indices + """ + aList = ShapesOp.GetShapesOnCylinderIDs(theShape, theShapeType, theAxis, theRadius, theState) + if ShapesOp.IsDone() == 0: + print "GetShapesOnCylinderIDs : ", ShapesOp.GetErrorCode() + return aList + def GetShapesOnSphere(theShape, theShapeType, theCenter, theRadius, theState): """ * Find in \a theShape all sub-shapes of type \a theShapeType, situated relatively @@ -990,6 +1008,15 @@ def GetShapesOnSphere(theShape, theShapeType, theCenter, theRadius, theState): print "GetShapesOnSphere : ", ShapesOp.GetErrorCode() return aList +def GetShapesOnSphereIDs(theShape, theShapeType, theCenter, theRadius, theState): + """ + * Works like the above method, but returns list of sub-shapes indices + """ + aList = ShapesOp.GetShapesOnSphereIDs(theShape, theShapeType, theCenter, theRadius, theState) + if ShapesOp.IsDone() == 0: + print "GetShapesOnSphereIDs : ", ShapesOp.GetErrorCode() + return aList + def GetInPlace(theShapeWhere, theShapeWhat): """ * Get sub-shape(s) of theShapeWhere, which are @@ -2414,6 +2441,15 @@ def UnionList (theGroup, theSubShapes): if GroupOp.IsDone() == 0: print "UnionList : ", GroupOp.GetErrorCode() +def UnionIDs(theGroup, theSubShapes): + """ + * Works like the above method, but argument + * theSubShapes here is a list of sub-shapes indices + """ + GroupOp.UnionIDs(theGroup, theSubShapes) + if GroupOp.IsDone() == 0: + print "UnionIDs : ", GroupOp.GetErrorCode() + def DifferenceList (theGroup, theSubShapes): """ * Removes from the group all the given shapes. No errors, if some shapes are not included. @@ -2426,6 +2462,15 @@ def DifferenceList (theGroup, theSubShapes): if GroupOp.IsDone() == 0: print "DifferenceList : ", GroupOp.GetErrorCode() +def DifferenceIDs(theGroup, theSubShapes): + """ + * Works like the above method, but argument + * theSubShapes here is a list of sub-shapes indices + """ + GroupOp.DifferenceIDs(theGroup, theSubShapes) + if GroupOp.IsDone() == 0: + print "DifferenceIDs : ", GroupOp.GetErrorCode() + def GetObjectIDs(theGroup): """ * Returns a list of sub objects ID stored in the group -- 2.39.2