NaiveEnclosingSimplex

class NaiveEnclosingSimplex(*args)

Naive implementation of point location.

This class implements a naive implementation of point location, by looking into all its simplices. It works well for convex domains, but may be slow otherwise.

Available constructors:

NaiveEnclosingSimplex(vertices, simplices)

Parameters:
verticesSample

Vertices.

simplicesIndicesCollection

Simplices.

Notes

In order to speed-up point location, a first pass is performed by looping over all simplices containing the nearest point. If query point is not found in those simplices, then all simplices are looked for.

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.NaiveEnclosingSimplex(mesh.getVertices(), mesh.getSimplices())
>>> simplex = locator.query([0.1, 0.2])

Methods

getBarycentricCoordinatesEpsilon()

Accessor to the tolerance for membership test.

getClassName()

Accessor to the object's name.

getId()

Accessor to the object's id.

getName()

Accessor to the object's name.

getNearestNeighbourAlgorithm()

Accessor to the nearest neighbour algorithm.

getShadowedId()

Accessor to the object's shadowed id.

getSimplices()

Collection of simplex accessor.

getVertices()

Collection of vertices accessor.

getVisibility()

Accessor to the object's visibility state.

hasName()

Test if the object is named.

hasVisibleName()

Test if the object has a distinguishable name.

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.

setNearestNeighbourAlgorithm(nearestNeighbour)

Accessor to the nearest neighbour algorithm.

setShadowedId(id)

Accessor to the object's shadowed id.

setVerticesAndSimplices(vertices, simplices)

Rebuild a new data structure for these vertices and simplices.

setVisibility(visible)

Accessor to the object's visibility state.

__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.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getNearestNeighbourAlgorithm()

Accessor to the nearest neighbour algorithm.

Returns:
nearestNeighbourNearestNeighbourAlgorithm

Algorithm used during first pass to locate the nearest point.

getShadowedId()

Accessor to the object’s shadowed id.

Returns:
idint

Internal unique identifier.

getSimplices()

Collection of simplex accessor.

Returns:
simplicesIndicesCollection

Collection of simplices.

getVertices()

Collection of vertices accessor.

Returns:
verticesSample

Collection of points.

getVisibility()

Accessor to the object’s visibility state.

Returns:
visiblebool

Visibility flag.

hasName()

Test if the object is named.

Returns:
hasNamebool

True if the name is not empty.

hasVisibleName()

Test if the object has a distinguishable name.

Returns:
hasVisibleNamebool

True if the name is not empty and not the default one.

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.

setNearestNeighbourAlgorithm(nearestNeighbour)

Accessor to the nearest neighbour algorithm.

Parameters:
nearestNeighbourNearestNeighbourAlgorithm

Algorithm to use during first pass to locate the nearest point.

setShadowedId(id)

Accessor to the object’s shadowed id.

Parameters:
idint

Internal unique identifier.

setVerticesAndSimplices(vertices, simplices)

Rebuild a new data structure for these vertices and simplices.

Parameters:
verticesSample

Vertices.

simplicesIndicesCollection

Simplices.

setVisibility(visible)

Accessor to the object’s visibility state.

Parameters:
visiblebool

Visibility flag.