EnclosingSimplexAlgorithm

class EnclosingSimplexAlgorithm(*args)

Point location algorithm.

Base class to define an algorithm to find simplices containing a list of points.

Available constructors:

EnclosingSimplexAlgorithm(vertices, simplices)

Parameters:
verticesSample

Vertices.

simplicesIndicesCollection

Simplices.

Methods

getBarycentricCoordinatesEpsilon()

Accessor to the tolerance for membership test.

getClassName()

Accessor to the object's name.

getId()

Accessor to the object's id.

getImplementation()

Accessor to the underlying implementation.

getName()

Accessor to the object's name.

getSimplices()

Collection of simplex accessor.

getVertices()

Collection of vertices accessor.

query(*args)

Get the index of the enclosing simplex of the given point.

setBarycentricCoordinatesEpsilon(epsilon)

Accessor to the tolerance for membership test.

setName(name)

Accessor to the object's name.

setVerticesAndSimplices(vertices, simplices)

Rebuild a new data structure for these vertices and simplices.

Notes

Two algorithms can be selected in any dimension:

Two algorithms are specific to 1D meshes, and much more efficient:

It is recommended to use derived classes in order to select the best algorithm according to your data. If you create a generic EnclosingSimplexAlgorithm, here is how the derived class is selected:

Examples

>>> import openturns as ot
>>> mesher = ot.IntervalMesher([5, 10])
>>> lowerbound = [0.0, 0.0]
>>> upperBound = [2.0, 4.0]
>>> interval = ot.Interval(lowerbound, upperBound)
>>> mesh = mesher.build(interval)
>>> locator = ot.EnclosingSimplexAlgorithm(mesh.getVertices(), mesh.getSimplices())
>>> simplex = locator.query([0.1, 0.2])
__init__(*args)
getBarycentricCoordinatesEpsilon()

Accessor to the tolerance for membership test.

Returns:
epsilonfloat

Tolerance for the membership. A point is in a simplex if its barycentric coordinates \xi_i are all in [-\varepsilon,1+\varepsilon] and \sum_{i=1}^d\xi_i\in[-\varepsilon,1+\varepsilon].

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

The object class name (object.__class__.__name__).

getId()

Accessor to the object’s id.

Returns:
idint

Internal unique identifier.

getImplementation()

Accessor to the underlying implementation.

Returns:
implImplementation

A copy of the underlying implementation object.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getSimplices()

Collection of simplex accessor.

Returns:
simplicesIndicesCollection

Collection of simplices.

getVertices()

Collection of vertices accessor.

Returns:
verticesSample

Collection of points.

query(*args)

Get the index of the enclosing simplex of the given point.

Available usages:

query(point)

query(sample)

Parameters:
pointsequence of float

Given point.

sample2-d sequence of float

Given points.

Returns:
indexint

If point is enclosed in a simplex, return its index; otherwise return an int which is at least greater than the number of simplices.

indicesIndices

Index of enclosing simplex of each point of the sample. If there is no enclosing simplex, value is an int which is at least greater than the number of simplices.

setBarycentricCoordinatesEpsilon(epsilon)

Accessor to the tolerance for membership test.

Parameters:
epsilonfloat

Tolerance for the membership. A point is in a simplex if its barycentric coordinates \xi_i are all in [-\varepsilon,1+\varepsilon] and \sum_{i=1}^d\xi_i\in[-\varepsilon,1+\varepsilon].

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

setVerticesAndSimplices(vertices, simplices)

Rebuild a new data structure for these vertices and simplices.

Parameters:
verticesSample

Vertices.

simplicesIndicesCollection

Simplices.