11#include <isce3/core/Vector.h>
13#include "SphGridType.h"
15namespace isce3 {
namespace antenna {
24 using Vec3_t = isce3::core::Vec3;
37 constexpr Frame(
const SphGridType& grid_type) : _grid_type(grid_type) {}
47 explicit Frame(
const std::string& grid_str)
48 : _grid_type(gridTypeFromStr(grid_str))
56 constexpr SphGridType
gridType()
const {
return _grid_type; }
67 Vec3_t
sphToCart(
double el_theta,
double az_phi)
const;
80 std::vector<Vec3_t>
sphToCart(
const std::vector<double>& el_theta,
81 const std::vector<double>& az_phi)
const;
95 const std::vector<double>& el_theta,
double az_phi)
const;
108 double el_theta,
const std::vector<double>& az_phi)
const;
129 std::vector<Vec2_t>
cartToSph(std::vector<Vec3_t> vec)
const;
132 SphGridType _grid_type {SphGridType::EL_AND_AZ};
141bool operator==(
const Frame& lhs,
const Frame& rhs);
149bool operator!=(
const Frame& lhs,
const Frame& rhs);
constexpr SphGridType gridType() const
Get grid type enum value.
Definition Frame.h:56
Vec2_t cartToSph(Vec3_t vec) const
Convert from cartesian into spherical coordinate with unit radius.
Definition Frame.icc:79
constexpr Frame(const SphGridType &grid_type)
Constructor from enum Spherical Grid type.
Definition Frame.h:37
Vec3_t sphToCart(double el_theta, double az_phi) const
Convert from spherical coordinate with unit radius into cartesian.
Definition Frame.icc:3
Frame(const std::string &grid_str)
Constructor from a string grid type.
Definition Frame.h:47
Frame()=default
Default empty Constructor.
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5