labplot  2.8.2
About: LabPlot is an application for plotting and analysis of 2D and 3D functions and data. It is a complete rewrite of LabPlot1 and lacks in the first release a lot of features available in the predecessor. On the other hand, the GUI and the usability is more superior.
  Fossies Dox: labplot-2.8.2.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

nsl_geom_linesim.h File Reference
#include <stdlib.h>
Include dependency graph for nsl_geom_linesim.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define NSL_GEOM_LINESIM_TYPE_COUNT   10
 

Enumerations

enum  nsl_geom_linesim_type {
  nsl_geom_linesim_type_douglas_peucker_variant , nsl_geom_linesim_type_douglas_peucker , nsl_geom_linesim_type_visvalingam_whyatt , nsl_geom_linesim_type_reumann_witkam ,
  nsl_geom_linesim_type_perpdist , nsl_geom_linesim_type_nthpoint , nsl_geom_linesim_type_raddist , nsl_geom_linesim_type_interp ,
  nsl_geom_linesim_type_opheim , nsl_geom_linesim_type_lang
}
 

Functions

double nsl_geom_linesim_positional_error (const double xdata[], const double ydata[], const size_t n, const size_t index[])
 
double nsl_geom_linesim_positional_squared_error (const double xdata[], const double ydata[], const size_t n, const size_t index[])
 
double nsl_geom_linesim_area_error (const double xdata[], const double ydata[], const size_t n, const size_t index[])
 
double nsl_geom_linesim_clip_diag_perpoint (const double xdata[], const double ydata[], const size_t n)
 
double nsl_geom_linesim_clip_area_perpoint (const double xdata[], const double ydata[], const size_t n)
 
double nsl_geom_linesim_avg_dist_perpoint (const double xdata[], const double ydata[], const size_t n)
 
size_t nsl_geom_linesim_douglas_peucker (const double xdata[], const double ydata[], const size_t n, const double tol, size_t index[])
 
size_t nsl_geom_linesim_douglas_peucker_auto (const double xdata[], const double ydata[], const size_t n, size_t index[])
 
double nsl_geom_linesim_douglas_peucker_variant (const double xdata[], const double ydata[], const size_t n, const size_t nout, size_t index[])
 
size_t nsl_geom_linesim_nthpoint (const size_t n, const int step, size_t index[])
 
size_t nsl_geom_linesim_raddist (const double xdata[], const double ydata[], const size_t n, const double tol, size_t index[])
 
size_t nsl_geom_linesim_raddist_auto (const double xdata[], const double ydata[], const size_t n, size_t index[])
 
size_t nsl_geom_linesim_perpdist (const double xdata[], const double ydata[], const size_t n, const double tol, size_t index[])
 
size_t nsl_geom_linesim_perpdist_auto (const double xdata[], const double ydata[], const size_t n, size_t index[])
 
size_t nsl_geom_linesim_perpdist_repeat (const double xdata[], const double ydata[], const size_t n, const double tol, const size_t repeat, size_t index[])
 
size_t nsl_geom_linesim_interp (const double xdata[], const double ydata[], const size_t n, const double tol, size_t index[])
 
size_t nsl_geom_linesim_interp_auto (const double xdata[], const double ydata[], const size_t n, size_t index[])
 
size_t nsl_geom_linesim_visvalingam_whyatt (const double xdata[], const double ydata[], const size_t n, const double tol, size_t index[])
 
size_t nsl_geom_linesim_visvalingam_whyatt_auto (const double xdata[], const double ydata[], const size_t n, size_t index[])
 
size_t nsl_geom_linesim_reumann_witkam (const double xdata[], const double ydata[], const size_t n, const double tol, size_t index[])
 
size_t nsl_geom_linesim_reumann_witkam_auto (const double xdata[], const double ydata[], const size_t n, size_t index[])
 
size_t nsl_geom_linesim_opheim (const double xdata[], const double ydata[], const size_t n, const double mintol, const double maxtol, size_t index[])
 
size_t nsl_geom_linesim_opheim_auto (const double xdata[], const double ydata[], const size_t n, size_t index[])
 
size_t nsl_geom_linesim_lang (const double xdata[], const double ydata[], const size_t n, const double tol, const size_t region, size_t index[])
 
size_t nsl_geom_linesim_lang_auto (const double xdata[], const double ydata[], const size_t n, size_t index[])
 

Variables

const char * nsl_geom_linesim_type_name []
 

Macro Definition Documentation

◆ NSL_GEOM_LINESIM_TYPE_COUNT

#define NSL_GEOM_LINESIM_TYPE_COUNT   10

File : nsl_geom_linesim.h Project : LabPlot

Description : NSL geometry line simplification functions

Copyright : (C) 2016 by Stefan Gerlach (stefa.nosp@m.n.ge.nosp@m.rlach.nosp@m.@uni.nosp@m..kn)

  • This program 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 program 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 General Public License for more details. *
  • You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA *

Definition at line 42 of file nsl_geom_linesim.h.

Enumeration Type Documentation

◆ nsl_geom_linesim_type

Enumerator
nsl_geom_linesim_type_douglas_peucker_variant 
nsl_geom_linesim_type_douglas_peucker 
nsl_geom_linesim_type_visvalingam_whyatt 
nsl_geom_linesim_type_reumann_witkam 
nsl_geom_linesim_type_perpdist 
nsl_geom_linesim_type_nthpoint 
nsl_geom_linesim_type_raddist 
nsl_geom_linesim_type_interp 
nsl_geom_linesim_type_opheim 
nsl_geom_linesim_type_lang 

Definition at line 43 of file nsl_geom_linesim.h.

Function Documentation

◆ nsl_geom_linesim_area_error()

double nsl_geom_linesim_area_error ( const double  xdata[],
const double  ydata[],
const size_t  n,
const size_t  index[] 
)

Definition at line 74 of file nsl_geom_linesim.c.

References nsl_geom_three_point_area().

Referenced by XYDataReductionCurvePrivate::recalculate().

◆ nsl_geom_linesim_avg_dist_perpoint()

double nsl_geom_linesim_avg_dist_perpoint ( const double  xdata[],
const double  ydata[],
const size_t  n 
)

Definition at line 109 of file nsl_geom_linesim.c.

Referenced by XYDataReductionCurveDock::updateTolerance().

◆ nsl_geom_linesim_clip_area_perpoint()

double nsl_geom_linesim_clip_area_perpoint ( const double  xdata[],
const double  ydata[],
const size_t  n 
)

◆ nsl_geom_linesim_clip_diag_perpoint()

◆ nsl_geom_linesim_douglas_peucker()

size_t nsl_geom_linesim_douglas_peucker ( const double  xdata[],
const double  ydata[],
const size_t  n,
const double  tol,
size_t  index[] 
)

◆ nsl_geom_linesim_douglas_peucker_auto()

size_t nsl_geom_linesim_douglas_peucker_auto ( const double  xdata[],
const double  ydata[],
const size_t  n,
size_t  index[] 
)

◆ nsl_geom_linesim_douglas_peucker_variant()

double nsl_geom_linesim_douglas_peucker_variant ( const double  xdata[],
const double  ydata[],
const size_t  n,
const size_t  nout,
size_t  index[] 
)

◆ nsl_geom_linesim_interp()

size_t nsl_geom_linesim_interp ( const double  xdata[],
const double  ydata[],
const size_t  n,
const double  tol,
size_t  index[] 
)

◆ nsl_geom_linesim_interp_auto()

size_t nsl_geom_linesim_interp_auto ( const double  xdata[],
const double  ydata[],
const size_t  n,
size_t  index[] 
)

◆ nsl_geom_linesim_lang()

size_t nsl_geom_linesim_lang ( const double  xdata[],
const double  ydata[],
const size_t  n,
const double  tol,
const size_t  region,
size_t  index[] 
)

Definition at line 614 of file nsl_geom_linesim.c.

References nsl_geom_point_line_dist().

Referenced by nsl_geom_linesim_lang_auto().

◆ nsl_geom_linesim_lang_auto()

size_t nsl_geom_linesim_lang_auto ( const double  xdata[],
const double  ydata[],
const size_t  n,
size_t  index[] 
)

◆ nsl_geom_linesim_nthpoint()

size_t nsl_geom_linesim_nthpoint ( const size_t  n,
const int  step,
size_t  index[] 
)

Definition at line 287 of file nsl_geom_linesim.c.

Referenced by XYDataReductionCurvePrivate::recalculate().

◆ nsl_geom_linesim_opheim()

size_t nsl_geom_linesim_opheim ( const double  xdata[],
const double  ydata[],
const size_t  n,
const double  mintol,
const double  maxtol,
size_t  index[] 
)

◆ nsl_geom_linesim_opheim_auto()

size_t nsl_geom_linesim_opheim_auto ( const double  xdata[],
const double  ydata[],
const size_t  n,
size_t  index[] 
)

◆ nsl_geom_linesim_perpdist()

size_t nsl_geom_linesim_perpdist ( const double  xdata[],
const double  ydata[],
const size_t  n,
const double  tol,
size_t  index[] 
)

◆ nsl_geom_linesim_perpdist_auto()

size_t nsl_geom_linesim_perpdist_auto ( const double  xdata[],
const double  ydata[],
const size_t  n,
size_t  index[] 
)

◆ nsl_geom_linesim_perpdist_repeat()

size_t nsl_geom_linesim_perpdist_repeat ( const double  xdata[],
const double  ydata[],
const size_t  n,
const double  tol,
const size_t  repeat,
size_t  index[] 
)

Definition at line 370 of file nsl_geom_linesim.c.

References nsl_geom_linesim_perpdist().

Referenced by XYDataReductionCurvePrivate::recalculate().

◆ nsl_geom_linesim_positional_error()

double nsl_geom_linesim_positional_error ( const double  xdata[],
const double  ydata[],
const size_t  n,
const size_t  index[] 
)

Definition at line 40 of file nsl_geom_linesim.c.

References nsl_geom_point_line_dist().

◆ nsl_geom_linesim_positional_squared_error()

double nsl_geom_linesim_positional_squared_error ( const double  xdata[],
const double  ydata[],
const size_t  n,
const size_t  index[] 
)

Definition at line 57 of file nsl_geom_linesim.c.

References nsl_geom_point_line_dist().

Referenced by XYDataReductionCurvePrivate::recalculate().

◆ nsl_geom_linesim_raddist()

size_t nsl_geom_linesim_raddist ( const double  xdata[],
const double  ydata[],
const size_t  n,
const double  tol,
size_t  index[] 
)

◆ nsl_geom_linesim_raddist_auto()

size_t nsl_geom_linesim_raddist_auto ( const double  xdata[],
const double  ydata[],
const size_t  n,
size_t  index[] 
)

◆ nsl_geom_linesim_reumann_witkam()

size_t nsl_geom_linesim_reumann_witkam ( const double  xdata[],
const double  ydata[],
const size_t  n,
const double  tol,
size_t  index[] 
)

◆ nsl_geom_linesim_reumann_witkam_auto()

size_t nsl_geom_linesim_reumann_witkam_auto ( const double  xdata[],
const double  ydata[],
const size_t  n,
size_t  index[] 
)

◆ nsl_geom_linesim_visvalingam_whyatt()

size_t nsl_geom_linesim_visvalingam_whyatt ( const double  xdata[],
const double  ydata[],
const size_t  n,
const double  tol,
size_t  index[] 
)

◆ nsl_geom_linesim_visvalingam_whyatt_auto()

size_t nsl_geom_linesim_visvalingam_whyatt_auto ( const double  xdata[],
const double  ydata[],
const size_t  n,
size_t  index[] 
)

Variable Documentation

◆ nsl_geom_linesim_type_name

const char* nsl_geom_linesim_type_name[]
extern

File : nsl_geom_linesim.c Project : LabPlot

Description : NSL geometry line simplification functions

Copyright : (C) 2016-2019 by Stefan Gerlach (stefa.nosp@m.n.ge.nosp@m.rlach.nosp@m.@uni.nosp@m..kn)

  • This program 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 program 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 General Public License for more details. *
  • You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA *

Definition at line 35 of file nsl_geom_linesim.c.

Referenced by XYDataReductionCurvePrivate::recalculate(), and XYDataReductionCurveDock::setupGeneral().