Struct orthoproj::OrthoProj
[−]
[src]
pub struct OrthoProj<T: Clone> { /* fields omitted */ }
An orthographic image
Images are square, with the globe in the middle. Create one with a size of 500x500, where
all pixels are set to 0
, centred on Rome:
# Examples
use orthoproj::OrthoProj; let mut image = OrthoProj::new(500, 41.89889, 12.47337, 0);
We can then set pixels on this image, based on their lat/lon
image.set(51.50791, -0.12786, 1);
You can then loop over all the pixels, getting the current value.
Methods
impl<T: Clone> OrthoProj<T>
[src]
fn new(size: u32, lat: f32, lon: f32, default: T) -> Self
Create a new orthographic projection with width & height of size
, centred on lat
and
lon
. default
is the default value
fn new_with_bg(size: u32, lat: f32, lon: f32, bg: T, surface: T) -> Self
Create a new OrthoProj, size
and lon
/lat
, but the background (non-sphere) is bg
,
and surface
is used for values on the sphere.
fn xy_for_pos(&self, lat: f32, lon: f32) -> Option<(u32, u32)>
For this projection, what would be the pixel x/y values for this point. None
if the
lat/lon lies outside the visible area.
fn set(&mut self, lat: f32, lon: f32, value: T)
Set the value of lat
, lon
to value
fn get(&self, lat: f32, lon: f32) -> &T
For lat
/lon
what is the currently stored value?
fn get_pixel(&self, x: u32, y: u32) -> &T
What is the current value of pixel x
, y