File indexing completed on 2024-05-12 03:47:51

0001 /*
0002     File                 : nsl_geom.h
0003     Project              : LabPlot
0004     Description          : NSL geometry functions
0005     --------------------------------------------------------------------
0006     SPDX-FileCopyrightText: 2016 Stefan Gerlach <stefan.gerlach@uni.kn>
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #ifndef NSL_GEOM_H
0011 #define NSL_GEOM_H
0012 
0013 /* point-point distance
0014     point (x1,y1) to (x2,y2)
0015  */
0016 double nsl_geom_point_point_dist(double x1, double y1, double x2, double y2);
0017 
0018 /* point-line distance sqrt(dx^2+dy^2)
0019     point (xp,yp) to line (x1,y1)-(x2,y2)
0020  */
0021 double nsl_geom_point_line_dist(double x1, double y1, double x2, double y2, double xp, double yp);
0022 
0023 /* point-line distance |dy|
0024     point (xp,yp) to line (x1,y1)-(x2,y2)
0025  */
0026 double nsl_geom_point_line_dist_y(double x1, double y1, double x2, double y2, double xp, double yp);
0027 
0028 /* area of triangle defined by three points */
0029 double nsl_geom_three_point_area(double x1, double y1, double x2, double y2, double x3, double y3);
0030 
0031 /* point-point distance in 3d
0032         point (x1,y1,z1) to (x2,y2,z2)
0033  */
0034 double nsl_geom_point_point_dist3(double x1, double y1, double z1, double x2, double y2, double z2);
0035 
0036 #endif /* NSL_GEOM_H */