From 375d87a9b0ec1cf2fffd705adb870c86144d2400 Mon Sep 17 00:00:00 2001 From: Johannes Hofmann Date: Mon, 26 Oct 2026 20:05:20 +0100 Subject: Replace the C++ implementation with the Rust port The Rust port (formerly gipfel-rs) is now the official successor to the FLTK/GSL C++ code base. This squashes the port into a single commit and removes the C++ sources (they remain in the git history below). Layout: crates/gipfel-core headless core: hills, panorama geometry, projections (maxima-generated derivatives), pure-Rust LM fit, gipfel: JPEG comment + EXIF I/O, profiles, stitching crates/gipfel-cli command-line tools (export, info, stitch, profiles) crates/gipfel-app Cosmic DE (libcosmic) GUI, binary name `gipfel` codegen/ maxima scripts + regen.sh for the projection code tests/ golden files + C++ reference harnesses (historical) The original README is kept for now; it will be updated to describe the Rust build. gipfel.dat, AUTHORS, ChangeLog and NEWS are unchanged. --- src/Panorama.H | 83 ---------------------------------------------------------- 1 file changed, 83 deletions(-) delete mode 100644 src/Panorama.H (limited to 'src/Panorama.H') diff --git a/src/Panorama.H b/src/Panorama.H deleted file mode 100644 index 1f4fdeb..0000000 --- a/src/Panorama.H +++ /dev/null @@ -1,83 +0,0 @@ -// -// Copyright 2006-2009 Johannes Hofmann -// -// This software may be used and distributed according to the terms -// of the GNU General Public License, incorporated herein by reference. - -#ifndef PANORAMA_H -#define PANORAMA_H - -#include "Hill.H" -#include "ProjectionLSQ.H" -#include "ViewParams.H" - -class Panorama { - private: - double view_phi, view_lam, view_height; - char *view_name; - double height_dist_ratio; - double hide_value; - Hills *mountains; - Hills *close_mountains; - Hills *visible_mountains; - ProjectionLSQ *proj; - ProjectionLSQ::Projection_t projection_type; - double pi_d, deg2rad; - - Hill * get_pos(const char *name); - void update_angles(); - void update_coordinates(Hills *excluded_hills = NULL); - void update_close_mountains(); - void update_visible_mountains(Hills *excluded_hills = NULL); - void mark_hidden(Hills *hills); - double distance(double phi, double lam); - double alpha(const Hill *m); - double nick(const Hill *m); - double refraction(const Hill *m); - double comp_center_angle(double alph_a, double alph_b, double d1, double d2); - double comp_scale(double alph_a, double alph_b, double d1, double d2); - int get_matrix(double m[]); - int optimize(Hill *m1, Hill *m2); - int is_visible(double a_alph); - - public: - ViewParams parms; - - Panorama(); - ~Panorama(); - int load_data(const char *name); - void add_hills(Hills *h); - void remove_hills(int flags); - int set_viewpoint(const char *pos); - void set_viewpoint(const Hill *m); - void set_height_dist_ratio(double r); - void set_hide_value(double h); - Hills * get_mountains(); - Hills * get_close_mountains(); - Hills * get_visible_mountains(); - void set_center_angle(double a); - void set_nick_angle(double a); - void set_tilt_angle(double a); - void set_scale(double s); - void set_view_lat(double v); - void set_view_long(double v); - void set_view_height(double v); - const char * get_viewpoint(); - double get_center_angle(); - double get_nick_angle(); - double get_tilt_angle(); - double get_scale(); - double get_height_dist_ratio(); - double get_view_lat(); - double get_view_long(); - double get_view_height(); - double get_earth_radius(double latitude); - double get_real_distance(const Hill *m); - int comp_params(Hills *h); - ProjectionLSQ::Projection_t get_projection(); - void set_projection(ProjectionLSQ::Projection_t p); - void get_distortion_params(double *k0, double *k1, double *x0); - void set_distortion_params(double k0, double k1, double x0); - int get_coordinates(double a_alph, double a_nick, double *x, double *y); -}; -#endif -- cgit v1.2.3