summaryrefslogtreecommitdiff
path: root/src/Panorama.H
diff options
context:
space:
mode:
authorJohannes Hofmann <Johannes.Hofmann@gmx.de>2026-10-26 20:05:20 +0100
committerJohannes Hofmann <Johannes.Hofmann@gmx.de>2026-10-26 20:05:20 +0100
commit375d87a9b0ec1cf2fffd705adb870c86144d2400 (patch)
tree1e8e05e7cd58686628d0f4622622456613a42e4d /src/Panorama.H
parent45425dd047b791fe63f13a46a3251c529cfffc94 (diff)
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.
Diffstat (limited to 'src/Panorama.H')
-rw-r--r--src/Panorama.H83
1 files changed, 0 insertions, 83 deletions
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 <Johannes.Hofmann@gmx.de>
-//
-// 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