55 const Teuchos::RCP<EntityLocalMap> &local_map )
56 : d_local_map( local_map )
65 const Teuchos::ArrayView<const Entity> &neighbors,
66 const Teuchos::ArrayView<const double> &point,
67 const Teuchos::ParameterList ¶meters, Teuchos::Array<Entity> &parents,
68 Teuchos::Array<double> &reference_coordinates )
const 71 reference_coordinates.clear();
72 int physical_dim = point.size();
73 Teuchos::Array<double> ref_point( physical_dim );
74 Teuchos::ArrayView<const Entity>::const_iterator neighbor_it;
75 for ( neighbor_it = neighbors.begin(); neighbor_it != neighbors.end();
78 DTK_ENSURE( neighbor_it->physicalDimension() == point.size() );
80 if ( d_local_map->isSafeToMapToReferenceFrame( *neighbor_it, point ) )
82 if ( d_local_map->mapToReferenceFrame( *neighbor_it, point,
85 if ( d_local_map->checkPointInclusion( *neighbor_it,
88 parents.push_back( *neighbor_it );
89 for (
int d = 0; d < physical_dim; ++d )
91 reference_coordinates.push_back( ref_point[d] );
FineLocalSearch declaration.
void search(const Teuchos::ArrayView< const Entity > &neighbors, const Teuchos::ArrayView< const double > &point, const Teuchos::ParameterList ¶meters, Teuchos::Array< Entity > &parents, Teuchos::Array< double > &reference_coordinates) const
Find the set of entities to which a point maps.
Assertions and Design-by-Contract for error handling.
FineLocalSearch(const Teuchos::RCP< EntityLocalMap > &local_map)
Constructor.