Class CoordinateMap

Inheritance Relationships

Derived Types

Class Documentation

class CoordinateMap

Subclassed by pcms::CartesianToCylindrical, pcms::CylindricalToCartesian, pcms::PoloidalPlaneEmbedding

Public Functions

inline const std::shared_ptr<const CoordinateSystem> &GetSourceCoordinateSystem() const noexcept
inline const std::shared_ptr<const CoordinateSystem> &GetTargetCoordinateSystem() const noexcept
std::unique_ptr<BoundCoordinateMap> Bind(const CoordinateView<DeviceMemorySpace> &query_points) const

Performs every per-point computation for query_points, which must be in this map’s source coordinate system. The returned object owns its results and is complete on return, so query_points may be released.

virtual ~CoordinateMap() = default

Protected Functions

CoordinateMap(std::shared_ptr<const CoordinateSystem> source, std::shared_ptr<const CoordinateSystem> target)
virtual std::unique_ptr<BoundCoordinateMap> BindImpl(const CoordinateView<DeviceMemorySpace> &query_points) const = 0

Binds query_points, already checked to be in the source coordinate system. May leave kernels in flight; Bind fences after it returns.