EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
EBGeometry::SphereCloud::FromCentersAndRadii< T, Centers, Radii > Struct Template Reference

A source of spheres combining a source of centers and a source of radii, for a caller who keeps them apart. More...

#include <EBGeometry_SphereCloud.hpp>

Public Member Functions

Sphere< T > operator() (const uint32_t a_index) const noexcept
 The sphere with a cloud index.
 

Public Attributes

Centers m_centers
 The centers.
 
Radii m_radii
 The radii.
 

Detailed Description

template<class T, class Centers, class Radii>
struct EBGeometry::SphereCloud::FromCentersAndRadii< T, Centers, Radii >

A source of spheres combining a source of centers and a source of radii, for a caller who keeps them apart.

With PointCloud::FromArray and FromRadii, it reads two arrays; any other trivially copyable sources work too (radii computed from a particle's mass, say).

Template Parameters
TFloating-point precision.
CentersA source of centers: a trivially copyable type whose const call operator takes a cloud index (uint32_t) and returns a Vec3T<T>.
RadiiA source of radii: a trivially copyable type whose const call operator takes a cloud index (uint32_t) and returns a T.

Member Function Documentation

◆ operator()()

template<class T , class Centers , class Radii >
Sphere< T > EBGeometry::SphereCloud::FromCentersAndRadii< T, Centers, Radii >::operator() ( const uint32_t  a_index) const
inlinenoexcept

The sphere with a cloud index.

Parameters
[in]a_indexCloud index.
Returns
The sphere: its center from the centers' source, its radius from the radii's.

The documentation for this struct was generated from the following file: