diff options
| -rw-r--r-- | src/EXIFImageMetaData.H | 46 | ||||
| -rw-r--r-- | src/ImageMetaData.H | 56 | ||||
| -rw-r--r-- | src/ImageMetaData.cxx | 110 | 
3 files changed, 212 insertions, 0 deletions
diff --git a/src/EXIFImageMetaData.H b/src/EXIFImageMetaData.H new file mode 100644 index 0000000..b959dd3 --- /dev/null +++ b/src/EXIFImageMetaData.H @@ -0,0 +1,46 @@ +//  +// Copyright 2006 by Johannes Hofmann +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +// Library General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +// USA. +// + +#ifndef EXIF_IMAGE_META_DATA_H +#define EXIF_IMAGE_META_DATA_H + +class ExifImageMetaData { +	ExifImageMetaData(); + +	virtual int load_image(const char *name); + + 	virtual double get_longitude(); + 	virtual double get_latitude(); + 	virtual double get_height(); + 	virtual double get_direction(); + 	virtual double get_nick(); + 	virtual double get_tilt(); + 	virtual double get_focallength_sensor_ratio(); +	virtual int    get_projection_type(); + + 	virtual void set_longitude(double v); + 	virtual void set_latitude(double v); + 	virtual void set_height(double v); + 	virtual void set_direction(double v); + 	virtual void set_nick(double v); + 	virtual void set_tilt(double v); + 	virtual void set_focallength_sensor_ratio(double v); +	virtual int  set_projection_type(int v); +}; +#endif diff --git a/src/ImageMetaData.H b/src/ImageMetaData.H new file mode 100644 index 0000000..79495f4 --- /dev/null +++ b/src/ImageMetaData.H @@ -0,0 +1,56 @@ +//  +// Copyright 2006 by Johannes Hofmann +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +// Library General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +// USA. +// + +#ifndef IMAGE_META_DATA_H +#define IMAGE_META_DATA_H + +class ImageMetaData { +	protected: +		double longitude; +		double latitude; +		double height; +		double direction; +		double nick; +		double tilt; +		double focallength_sensor_ratio; +		int    projection_type; + +	public: +		virtual int load_image(const char *name); +		virtual int save_image(const char *name); + + 		double get_longitude(); +		double get_latitude(); +		double get_height(); +		double get_direction(); +		double get_nick(); +		double get_tilt(); +		double get_focallength_sensor_ratio(); +		int    get_projection_type(); + +		void set_longitude(double v); +		void set_latitude(double v); +		void set_height(double v); +		void set_direction(double v); +		void set_nick(double v); +		void set_tilt(double v); +		void set_focallength_sensor_ratio(double v); +		int  set_projection_type(int v); +}; +#endif diff --git a/src/ImageMetaData.cxx b/src/ImageMetaData.cxx new file mode 100644 index 0000000..0c868bd --- /dev/null +++ b/src/ImageMetaData.cxx @@ -0,0 +1,110 @@ +//  +// Copyright 2006 by Johannes Hofmann +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Library General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +// Library General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +// USA. +// + +#include <stdio.h> +#include <math.h> + +#include "ImageMetaData.H" + +ImageMetaData::ImageMetaData() { +	longitude = NAN; +	latitude = NAN; +	height = NAN; +	direction = NAN; +	nick = NAN; +	tilt = NAN; +	focallength_sensor_ratio = NAN; +	projection_type = -1; +} + + +double +ImageMetaData::get_longitude() { +	return longitude; +} + +double +ImageMetaData::get_latitude() { +	return latitude; +} + +double +ImageMetaData::get_height() { +	return height; +} + +double +ImageMetaData::get_direction() { +	return direction; +} + +double +ImageMetaData::get_nick() { +	return nick; +} + +double +ImageMetaData::get_tilt() { +	return tilt; +} + +double +ImageMetaData::get_focallength_sensor_ratio() { +	return focallength_sensor_ratio; +} + + +void +ImageMetaData::set_longitude(double v) { +	longitude = v; +} + +void +ImageMetaData::set_latitude(double v) { +	latitude = v; +} + +void +ImageMetaData::set_height(double v) { +	height = v; +} + +void +ImageMetaData::set_direction(double v) { +	direction = v; +} + +void +ImageMetaData::set_nick(double v) { +	nick = v; +} + +void +ImageMetaData::set_tilt(double v) { +	tilt = v; +} + +void +ImageMetaData::set_focallength_sensor_ratio(double v) { +	focallength_sensor_ratio = v; +} + +int ImageMetaData::set_projection_type(int v) { +	projection_type = v; +}  | 
