Add ld_point_distance().
This commit is contained in:
parent
fe996324d3
commit
2328058b46
|
@ -8,6 +8,8 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
@ -70,6 +72,26 @@ DEFINE_BOXED_TRIVIAL_COPY (LdPoint, ld_point)
|
||||||
*/
|
*/
|
||||||
DEFINE_BOXED_TRIVIAL_FREE (LdPoint, ld_point)
|
DEFINE_BOXED_TRIVIAL_FREE (LdPoint, ld_point)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ld_point_distance:
|
||||||
|
* @self: An #LdPoint structure.
|
||||||
|
* @x: The X coordinate of the second point.
|
||||||
|
* @y: The Y coordinate of the second point.
|
||||||
|
*
|
||||||
|
* Compute the distance between two points.
|
||||||
|
*/
|
||||||
|
gdouble
|
||||||
|
ld_point_distance (LdPoint *self, gdouble x, gdouble y)
|
||||||
|
{
|
||||||
|
gdouble dx, dy;
|
||||||
|
|
||||||
|
g_return_val_if_fail (self != NULL, -1);
|
||||||
|
|
||||||
|
dx = self->x - x;
|
||||||
|
dy = self->y - y;
|
||||||
|
return sqrt (dx * dx + dy * dy);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ld_point_array_new:
|
* ld_point_array_new:
|
||||||
* @num_points: The number of points the array can store.
|
* @num_points: The number of points the array can store.
|
||||||
|
|
|
@ -48,6 +48,7 @@ GType ld_point_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
LdPoint *ld_point_copy (const LdPoint *self);
|
LdPoint *ld_point_copy (const LdPoint *self);
|
||||||
void ld_point_free (LdPoint *self);
|
void ld_point_free (LdPoint *self);
|
||||||
|
gdouble ld_point_distance (LdPoint *self, gdouble x, gdouble y);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue