PAL9969: update geompy.py to new functions

This commit is contained in:
jfa 2005-09-15 13:36:27 +00:00
parent 168917eddd
commit a334fbe62f
2 changed files with 87 additions and 14 deletions

View File

@ -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:

View File

@ -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