2 #ifndef vpgl_local_rational_camera_h_ 3 #define vpgl_local_rational_camera_h_ 20 # include <vcl_msvc_warnings.h> 45 std::string
type_name()
const override {
return "vpgl_local_rational_camera"; }
53 {
return this == &that ||
66 void project(
const T x,
const T y,
const T z, T& u, T& v)
const override;
80 void print(std::ostream& s = std::cout)
const override;
83 bool save(std::string cam_path)
override;
114 #define VPGL_LOCAL_RATIONAL_CAMERA_INSTANTIATE(T) extern "please include vgl/vpgl_local_rational_camera.hxx first" 117 #endif // vpgl_local_rational_camera_h_ void project(const T x, const T y, const T z, T &u, T &v) const override
The generic camera interface. u represents image column, v image row.
A geographic coordinate system.
std::istream & operator>>(std::istream &is, vpgl_local_rational_camera< T > &p)
Read from stream.
vpgl_local_rational_camera< T > * clone(void) const override
Clone ‘this’: creation of a new object and initialization.
void print(std::ostream &s=std::cout) const override
print the camera parameters.
vpgl_local_rational_camera< T > * read_local_rational_camera(std::string cam_path)
Creates a local rational camera from a file.
A camera model based on ratios of cubic polynomials.
vpgl_local_rational_camera< T > * read_local_rational_camera_from_txt(std::string cam_path)
read camera from txt file (small sat format).
bool operator==(vpgl_local_rational_camera< T > const &that) const
Equality test.
std::string type_name() const override
class identity functions for casting.
~vpgl_local_rational_camera() override=default
std::ostream & operator<<(std::ostream &s, const vpgl_local_rational_camera< T > &p)
Write to stream.
void set_lvcs(vpgl_lvcs const &lvcs)
set the local vertical coordinate system.
vpgl_local_rational_camera()
default constructor.
bool save(std::string cam_path) override
save to file (the lvcs is after the global rational camera parameters).