Defines a projection 3D algorithm. More...

Public Member Functions | |
| def | __init__ |
| Private constructor. | |
| def | SourceShape3D |
| Defines the "Source Shape 3D" hypothesis, specifying a meshed solid, from where the mesh pattern is taken, and, optionally, the association of vertices between the source and the target solid (to which a hipothesis is assigned) | |
| def | FindHypothesis |
| Finds a hypothesis in the study by its type name and parameters. | |
| def | FindAlgorithm |
| Finds the algorithm in the study by its type name. | |
| def | GetSubMesh |
| If the algorithm is global, returns 0; else returns the submesh associated to this algorithm. | |
| def | GetAlgorithm |
| Returns the wrapped mesher. | |
| def | GetCompatibleHypothesis |
| Gets the list of hypothesis that can be used with this algorithm. | |
| def | GetName |
| Gets the name of the algorithm. | |
| def | SetName |
| Sets the name to the algorithm. | |
| def | GetId |
| Gets the id of the algorithm. | |
| def | Create |
| Private method. | |
| def | Assign |
| Private method. | |
| def | CompareHyp |
| def | CompareEqualHyp |
| def | Hypothesis |
| Private method. | |
| def | MainShapeEntry |
| Returns entry of the shape to mesh in the study. | |
| def | ViscousLayers |
| Defines "ViscousLayers" hypothesis to give parameters of layers of prisms to build near mesh boundary. | |
Data Fields | |
| mesh | |
| geom | |
| subm | |
| algo | |
Defines a projection 3D algorithm.
Definition at line 5767 of file smeshDC.py.
| def smeshDC.Mesh_Projection3D.__init__ | ( | self, | |
| mesh, | |||
geom = 0 |
|||
| ) |
Private constructor.
Definition at line 5770 of file smeshDC.py.
| def smeshDC.Mesh_Algorithm.Assign | ( | self, | |
| algo, | |||
| mesh, | |||
| geom | |||
| ) | [inherited] |
Private method.
Definition at line 4403 of file smeshDC.py.
04404 : 04405 if geom is None: 04406 raise RuntimeError, "Attemp to create " + algo + " algoritm on None shape" 04407 self.mesh = mesh 04408 name = "" 04409 if not geom: 04410 self.geom = mesh.geom 04411 else: 04412 self.geom = geom 04413 AssureGeomPublished( mesh, geom ) 04414 try: 04415 name = GetName(geom) 04416 pass 04417 except: 04418 pass 04419 self.subm = mesh.mesh.GetSubMesh(geom, algo.GetName()) 04420 self.algo = algo 04421 status = mesh.mesh.AddHypothesis(self.geom, self.algo) 04422 TreatHypoStatus( status, algo.GetName(), name, True ) 04423 return
| def smeshDC.Mesh_Algorithm.CompareEqualHyp | ( | self, | |
| hyp, | |||
| args | |||
| ) | [inherited] |
Definition at line 4428 of file smeshDC.py.
| def smeshDC.Mesh_Algorithm.CompareHyp | ( | self, | |
| hyp, | |||
| args | |||
| ) | [inherited] |
Definition at line 4424 of file smeshDC.py.
| def smeshDC.Mesh_Algorithm.Create | ( | self, | |
| mesh, | |||
| geom, | |||
| hypo, | |||
so = "libStdMeshersEngine.so" |
|||
| ) | [inherited] |
Private method.
Definition at line 4392 of file smeshDC.py.
04393 : 04394 if geom is None: 04395 raise RuntimeError, "Attemp to create " + hypo + " algoritm on None shape" 04396 algo = self.FindAlgorithm(hypo, mesh.smeshpyD) 04397 if algo is None: 04398 algo = mesh.smeshpyD.CreateHypothesis(hypo, so) 04399 pass 04400 self.Assign(algo, mesh, geom) 04401 return self.algo
| def smeshDC.Mesh_Algorithm.FindAlgorithm | ( | self, | |
| algoname, | |||
| smeshpyD | |||
| ) | [inherited] |
Finds the algorithm in the study by its type name.
Finds only the algorithms, which have been created in smeshpyD engine.
Definition at line 4327 of file smeshDC.py.
04328 : 04329 study = smeshpyD.GetCurrentStudy() 04330 #to do: find component by smeshpyD object, not by its data type 04331 scomp = study.FindComponent(smeshpyD.ComponentDataType()) 04332 if scomp is not None: 04333 res,hypRoot = scomp.FindSubObject(SMESH.Tag_AlgorithmsRoot) 04334 # Check if the root label of the algorithms exists 04335 if res and hypRoot is not None: 04336 iter = study.NewChildIterator(hypRoot) 04337 # Check all published algorithms 04338 while iter.More(): 04339 algo_so_i = iter.Value() 04340 attr = algo_so_i.FindAttribute("AttributeIOR")[1] 04341 if attr is not None: 04342 anIOR = attr.Value() 04343 algo_o_i = salome.orb.string_to_object(anIOR) 04344 if algo_o_i is not None: 04345 # Check if this is an algorithm 04346 algo_i = algo_o_i._narrow(SMESH.SMESH_Algo) 04347 if algo_i is not None: 04348 # Checks if the algorithm belongs to the current engine 04349 if smeshpyD.GetObjectId(algo_i) > 0: 04350 # Check if this is the required algorithm 04351 if algo_i.GetName() == algoname: 04352 # found!!! 04353 return algo_i 04354 pass 04355 pass 04356 pass 04357 pass 04358 iter.Next() 04359 pass 04360 pass 04361 pass 04362 return None
| def smeshDC.Mesh_Algorithm.FindHypothesis | ( | self, | |
| hypname, | |||
| args, | |||
| CompareMethod, | |||
| smeshpyD | |||
| ) | [inherited] |
Finds a hypothesis in the study by its type name and parameters.
Finds only the hypotheses created in smeshpyD engine.
Definition at line 4285 of file smeshDC.py.
04286 : 04287 study = smeshpyD.GetCurrentStudy() 04288 #to do: find component by smeshpyD object, not by its data type 04289 scomp = study.FindComponent(smeshpyD.ComponentDataType()) 04290 if scomp is not None: 04291 res,hypRoot = scomp.FindSubObject(SMESH.Tag_HypothesisRoot) 04292 # Check if the root label of the hypotheses exists 04293 if res and hypRoot is not None: 04294 iter = study.NewChildIterator(hypRoot) 04295 # Check all published hypotheses 04296 while iter.More(): 04297 hypo_so_i = iter.Value() 04298 attr = hypo_so_i.FindAttribute("AttributeIOR")[1] 04299 if attr is not None: 04300 anIOR = attr.Value() 04301 hypo_o_i = salome.orb.string_to_object(anIOR) 04302 if hypo_o_i is not None: 04303 # Check if this is a hypothesis 04304 hypo_i = hypo_o_i._narrow(SMESH.SMESH_Hypothesis) 04305 if hypo_i is not None: 04306 # Check if the hypothesis belongs to current engine 04307 if smeshpyD.GetObjectId(hypo_i) > 0: 04308 # Check if this is the required hypothesis 04309 if hypo_i.GetName() == hypname: 04310 # Check arguments 04311 if CompareMethod(hypo_i, args): 04312 # found!!! 04313 return hypo_i 04314 pass 04315 pass 04316 pass 04317 pass 04318 pass 04319 iter.Next() 04320 pass 04321 pass 04322 pass 04323 return None
| def smeshDC.Mesh_Algorithm.GetAlgorithm | ( | self | ) | [inherited] |
Returns the wrapped mesher.
Definition at line 4369 of file smeshDC.py.
| def smeshDC.Mesh_Algorithm.GetCompatibleHypothesis | ( | self | ) | [inherited] |
Gets the list of hypothesis that can be used with this algorithm.
Definition at line 4373 of file smeshDC.py.
| def smeshDC.Mesh_Algorithm.GetId | ( | self | ) | [inherited] |
Gets the id of the algorithm.
Definition at line 4388 of file smeshDC.py.
| def smeshDC.Mesh_Algorithm.GetName | ( | self | ) | [inherited] |
Gets the name of the algorithm.
Definition at line 4380 of file smeshDC.py.
| def smeshDC.Mesh_Algorithm.GetSubMesh | ( | self | ) | [inherited] |
If the algorithm is global, returns 0;
else returns the submesh associated to this algorithm.
Definition at line 4365 of file smeshDC.py.
| def smeshDC.Mesh_Algorithm.Hypothesis | ( | self, | |
| hyp, | |||
args = [], |
|||
so = "libStdMeshersEngine.so", |
|||
UseExisting = 0, |
|||
CompareMethod = "" |
|||
| ) | [inherited] |
Private method.
Definition at line 4432 of file smeshDC.py.
04434 : 04435 hypo = None 04436 if UseExisting: 04437 if CompareMethod == "": CompareMethod = self.CompareHyp 04438 hypo = self.FindHypothesis(hyp, args, CompareMethod, self.mesh.smeshpyD) 04439 pass 04440 if hypo is None: 04441 hypo = self.mesh.smeshpyD.CreateHypothesis(hyp, so) 04442 a = "" 04443 s = "=" 04444 i = 0 04445 n = len(args) 04446 while i<n: 04447 a = a + s + str(args[i]) 04448 s = "," 04449 i = i + 1 04450 pass 04451 self.mesh.smeshpyD.SetName(hypo, hyp + a) 04452 pass 04453 geomName="" 04454 if self.geom: 04455 geomName = GetName(self.geom) 04456 status = self.mesh.mesh.AddHypothesis(self.geom, hypo) 04457 TreatHypoStatus( status, GetName(hypo), geomName, 0 ) 04458 return hypo
| def smeshDC.Mesh_Algorithm.MainShapeEntry | ( | self | ) | [inherited] |
Returns entry of the shape to mesh in the study.
Definition at line 4460 of file smeshDC.py.
04461 : 04462 entry = "" 04463 if not self.mesh or not self.mesh.GetMesh(): return entry 04464 if not self.mesh.GetMesh().HasShapeToMesh(): return entry 04465 study = self.mesh.smeshpyD.GetCurrentStudy() 04466 ior = salome.orb.object_to_string( self.mesh.GetShape() ) 04467 sobj = study.FindObjectIOR(ior) 04468 if sobj: entry = sobj.GetID() 04469 if not entry: return "" 04470 return entry
| def smeshDC.Mesh_Algorithm.SetName | ( | self, | |
| name | |||
| ) | [inherited] |
Sets the name to the algorithm.
Definition at line 4384 of file smeshDC.py.
| def smeshDC.Mesh_Projection3D.SourceShape3D | ( | self, | |
| solid, | |||
mesh = 0, |
|||
srcV1 = 0, |
|||
tgtV1 = 0, |
|||
srcV2 = 0, |
|||
tgtV2 = 0, |
|||
UseExisting = 0 |
|||
| ) |
Defines the "Source Shape 3D" hypothesis, specifying a meshed solid, from where the mesh pattern is taken, and, optionally, the association of vertices between the source and the target solid (to which a hipothesis is assigned)
| solid | from where the mesh pattern is taken |
| mesh | from where the mesh pattern is taken (optional) |
| srcV1 | a vertex of solid to associate with tgtV1 (optional) |
| tgtV1 | a vertex of the solid where the algorithm is assigned, to associate with srcV1 (optional) |
| srcV2 | a vertex of solid to associate with tgtV1 (optional) |
| tgtV2 | a vertex of the solid to which the algorithm is assigned, to associate with srcV2 (optional) |
| UseExisting | - if ==true - searches for the existing hypothesis created with the same parameters, else (default) - creates a new one |
Note: association vertices must belong to one edge of a solid
Definition at line 5789 of file smeshDC.py.
05791 : 05792 for geom in [ solid, srcV1, tgtV1, srcV2, tgtV2 ]: 05793 AssureGeomPublished( self.mesh, geom ) 05794 hyp = self.Hypothesis("ProjectionSource3D", 05795 [solid,mesh,srcV1,tgtV1,srcV2,tgtV2], 05796 UseExisting=0) 05797 #UseExisting=UseExisting, CompareMethod=self.CompareSourceShape3D) 05798 hyp.SetSource3DShape( solid ) 05799 if not mesh is None and isinstance(mesh, Mesh): 05800 mesh = mesh.GetMesh() 05801 hyp.SetSourceMesh( mesh ) 05802 if srcV1 and srcV2 and tgtV1 and tgtV2: 05803 hyp.SetVertexAssociation( srcV1, srcV2, tgtV1, tgtV2 ) 05804 #elif srcV1 or srcV2 or tgtV1 or tgtV2: 05805 return hyp
smeshDC.Mesh_Algorithm.algo [inherited] |
Definition at line 4276 of file smeshDC.py.
smeshDC.Mesh_Algorithm.geom [inherited] |
Reimplemented in smeshDC.Mesh_Segment.
Definition at line 4276 of file smeshDC.py.
smeshDC.Mesh_Algorithm.mesh [inherited] |
Definition at line 4276 of file smeshDC.py.
smeshDC.Mesh_Algorithm.subm [inherited] |
Definition at line 4276 of file smeshDC.py.