- if isinstance( RefPoint, geomBuilder.GEOM._objref_GEOM_Object):
- RefPoint = self.smeshpyD.GetPointStruct(RefPoint)
- pass
- elif isinstance( RefPoint, list ):
- RefPoint = PointStruct(*RefPoint)
- pass
- Angles,AnglesParameters,hasVars = ParseAngles(Angles)
- Parameters = AnglesParameters + var_separator + RefPoint.parameters
- self.mesh.SetParameters(Parameters)
-
- if isinstance(Path, Mesh): Path = Path.GetMesh()
-
- unRegister = genObjUnRegister()
- if isinstance(Base, list):
- if Base:
- Base = self.GetIDSource( Base, ElemType )
- unRegister.set( Base )
- else:
- Base = self.mesh
- else:
- if isinstance(Base, Mesh):
- Base = Base.GetMesh()
- if isinstance(Base, SMESH._objref_SMESH_IDSource):
- n,e,f = [],[],[]
- if ElemType == SMESH.NODE: n = [Base]
- if ElemType == SMESH.EDGE: e = [Base]
- if ElemType == SMESH.FACE: f = [Base]
- gr,er = self.editor.ExtrusionAlongPathObjects(n,e,f, Path, None, NodeStart,
- HasAngles, Angles, LinearVariation,
- HasRefPoint, RefPoint, MakeGroups)
- if MakeGroups: return gr,er
- return er
- else:
- raise RuntimeError, "Invalid Base for ExtrusionAlongPathX"
-
+ n,e,f = [],[],[]
+ if ElemType == SMESH.NODE: n = Base
+ if ElemType == SMESH.EDGE: e = Base
+ if ElemType == SMESH.FACE: f = Base
+ gr,er = self.ExtrusionAlongPathObjects(n,e,f, Path, None, NodeStart,
+ HasAngles, Angles, LinearVariation,
+ HasRefPoint, RefPoint, MakeGroups)
+ if MakeGroups: return gr,er
+ return er