Ejemplo n.º 1
0
def _create_id_array(dataobject, attributeType):
	"""Returns a VTKArray or VTKCompositeDataArray for the ids"""
	if not dataobject:
		raise RuntimeError ("dataobject cannot be None")
	if dataobject.IsA("vtkCompositeDataSet"):
		ids = []
		for ds in dataobject:
			ids.append(_create_id_array(ds, attributeType))
		return dsa.VTKCompositeDataArray(ids)
	else:
		return dsa.VTKArray(\
				np.arange(dataobject.GetNumberOfElements(attributeType)))
Ejemplo n.º 2
0
elev3 = cd3.PointData['Elevation']

npa = randomVec.Arrays[0]

def compare(arr, tol):
    assert algs.all(algs.abs(arr) < tol)

# Test operators
compare(1 + randomVec - 1 - randomVec, 1E-4)

assert (1 + randomVec).DataSet is randomVec.DataSet

# Test slicing and indexing
compare(randomVec[randomVec[:,0] > 0.2].Arrays[0] - npa[npa[:,0] > 0.2], 1E-7)
compare(randomVec[algs.where(randomVec[:,0] > 0.2)].Arrays[0] - npa[numpy.where(npa[:,0] > 0.2)], 1E-7)
compare(randomVec[dsa.VTKCompositeDataArray([(slice(None, None, None), slice(0,2,None)), 2])].Arrays[0] - npa[:, 0:2], 1E-6)

# Test ufunc
compare(algs.cos(randomVec) - numpy.cos(npa), 1E-7)
assert algs.cos(randomVec).DataSet is randomVec.DataSet

assert algs.in1d(elev, [0,1]) == [item in [0, 1] for item in elev]

# Various numerical ops implemented in VTK
g = algs.gradient(elev)
assert algs.all(g[0] == (1, 0, 0))

v = algs.make_vector(elev, g[:,0], elev)
assert algs.all(algs.gradient(v) == [[1, 0, 1], [0, 0, 0], [0, 0, 0]])

v = algs.make_vector(elev, g[:,0], elev2)
Ejemplo n.º 3
0
elev3 = cd3.PointData['Elevation']

npa = randomVec.Arrays[0]

# Test operators
assert algs.all(1 + randomVec - 1 - randomVec < 1E-4)

assert (1 + randomVec).DataSet is randomVec.DataSet

# Test slicing and indexing
assert algs.all(
    randomVec[randomVec[:, 0] > 0.2].Arrays[0] - npa[npa[:, 0] > 0.2] < 1E-7)
assert algs.all(randomVec[algs.where(randomVec[:, 0] > 0.2)].Arrays[0] -
                npa[numpy.where(npa[:, 0] > 0.2)] < 1E-7)
assert algs.all(
    randomVec[dsa.VTKCompositeDataArray([(slice(None, None, None),
                                          slice(0, 2, None)), 2])].Arrays[0] -
    npa[:, 0:2] < 1E-6)

# Test ufunc
assert algs.all(algs.cos(randomVec) - numpy.cos(npa) < 1E-7)
assert algs.cos(randomVec).DataSet is randomVec.DataSet

# Various numerical ops implemented in VTK
g = algs.gradient(elev)
assert algs.all(g[0] == (1, 0, 0))

v = algs.make_vector(elev, g[:, 0], elev)
assert algs.all(algs.gradient(v) == [[1, 0, 0], [0, 0, 0], [1, 0, 0]])

v = algs.make_vector(elev, g[:, 0], elev2)
assert algs.all(algs.curl(v) == [1, 0, 0])
Ejemplo n.º 4
0
assert algs.sum(rtData / rtData,
                controller=vtk.vtkDummyController()) != total_npts

# Test where arrays are NoneArray on one of the ranks.
if size > 1:
    if rank == 0:
        rtData3 = rtData2
        grad3 = grad2
    else:
        rtData3 = dsa.NoneArray
        grad3 = dsa.NoneArray

    testArrays(rtData3, rtData2, grad3, grad2, total_npts)

# Test composite arrays
rtData3 = dsa.VTKCompositeDataArray([rtData, dsa.NoneArray])
grad3 = dsa.VTKCompositeDataArray([dsa.NoneArray, grad])

testArrays(rtData3, rtData2, grad3, grad2, total_npts)

# Test where arrays are NoneArray on one of the ranks
# and composite on others.
if size > 1:
    if rank == 1:
        rtData3 = dsa.VTKCompositeDataArray([rtData2])
        grad3 = dsa.VTKCompositeDataArray([grad2])
    else:
        rtData3 = dsa.NoneArray
        grad3 = dsa.NoneArray

    testArrays(rtData3, rtData2, grad3, grad2, total_npts)