specfem::coordinate_systems::transform

template<typename Target, typename Source, typename Config>
Target specfem::coordinate_systems::transform(const Source &source, const Config &config)

Transform coordinates from one system to another.

The return type is the first template parameter (the target coordinate type). Source and config types are deduced from the arguments. Unimplemented source/target/config combinations produce a linker error.

Projection-specific headers (e.g., utm.hpp) declare explicit specializations.

Template Parameters:
  • Target – Target coordinate type (e.g., cartesian_coordinates)

  • Source – Source coordinate type (deduced)

  • Config – Projection configuration type (deduced)

Parameters:
  • source – Input coordinates

  • config – Projection configuration

Returns:

Transformed coordinates of type Target

template<typename Target, typename Source>
Target specfem::coordinate_systems::transform(const Source &source)

Config-free overload for purely mathematical transforms.

Template Parameters:
  • Target – Target coordinate type

  • Source – Source coordinate type (deduced)

Parameters:

source – Input coordinates

Returns:

Transformed coordinates of type Target