-# -------------------------------------
-
-def controlGeomProps(geomShape, refLength, refArea):
- props = geompy.BasicProperties(geomShape)
- print " Wires length: ", props[0]
- print " Surface area: ", props[1]
- print " Volume : ", props[2]
- deltaLength = 2.0*abs((props[0] - refLength)/(props[0] + refLength))
- deltaArea = 2.0*abs((props[1] - refArea)/(props[1] + refArea))
- if deltaLength > 1e-7 or deltaArea > 1e-7 or props[2] != 0:
- print "While must be:"
- print " Wires length: ", refLength
- print " Surface area: ", refArea
- print " Volume : ", 0.
- raise ValueError("Bad length or area")
-
-# -------------------------------------
-
-def controlMeshStats(aMesh, nbNodes, nbEdges, nbTriangles):
- """
- Only for a mesh, not for a subMesh
- """
- tolerance = 0.05
- references = {}
- references['Entity_Node'] = nbNodes
- references['Entity_Edge'] = nbEdges
- references['Entity_Triangle'] = nbTriangles
-
- mesures = aMesh.GetMeshInfo()
- #print mesures
- d= {}
- for key, value in mesures.iteritems():
- d[str(key)] = value
- #print d
- for key in ('Entity_Triangle', 'Entity_Edge', 'Entity_Node'):
- if (d[key] < (1.0 - tolerance)*references[key]) \
- or (d[key] > (1.0 + tolerance)*references[key]):
- print aMesh.GetName()
- print key, ": value: ", d[key], " reference: ", references[key]
- raise ValueError("Bad number of nodes or elements")
-
-# -------------------------------------
-
-def controlSubMeshStats(aSubMesh, nbItems):
- """
- Only for a mesh, not for a subMesh
- """
- tolerance = 0.05
- mesures = aSubMesh.GetMeshInfo()
- nbRef = sum(mesures)
- if (nbItems < (1.0 - tolerance)*nbRef) \
- or (nbItems > (1.0 + tolerance)*nbRef):
- print aSubMesh.GetName()
- print "value: ", nbItems, " reference: ", nbRef
- raise ValueError("Bad number of nodes or elements")
-