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 "config.h"
|
||||
@ -70,6 +72,26 @@ DEFINE_BOXED_TRIVIAL_COPY (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:
|
||||
* @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);
|
||||
void ld_point_free (LdPoint *self);
|
||||
gdouble ld_point_distance (LdPoint *self, gdouble x, gdouble y);
|
||||
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user