// COORD.H #ifndef COORD_H #define COORD_H #include "vtr.h" #include "tensor.h" #include "../dgtd-performance.hpp" class Coordinate { friend class portMesh; private: vtr O, x_axis, y_axis, z_axis; public: Coordinate(); void setO(const vtr &); void setO(const fp_t &, const fp_t &, const fp_t &); void setx_axis(const vtr &); void setx_axis(const fp_t &, const fp_t &, const fp_t &); void sety_axis(const vtr &); void sety_axis(const fp_t &, const fp_t &, const fp_t &); void setz_axis(const vtr &); void setz_axis(const fp_t &, const fp_t &, const fp_t &); // accessors vtr& getO(){return O;} vtr& getXAxis(){return x_axis;} vtr& getYAxis(){return y_axis;} vtr& getZAxis(){return z_axis;} vtr Transform(const vtr &) const; vtr invTransform(const vtr &) const; tensor Transform(const tensor &) const; tensor invTransform(const tensor &) const; vtr SphereToXYZ(fp_t, fp_t, fp_t); void print(); }; #endif