GDAL
gdalgrid_priv.h
1/******************************************************************************
2 * $Id$
3 *
4 * Project: GDAL Gridding API.
5 * Purpose: Prototypes, and definitions for of GDAL scattered data gridder.
6 * Author: Even Rouault, <even dot rouault at spatialys.com>
7 *
8 ******************************************************************************
9 * Copyright (c) 2013, Even Rouault <even dot rouault at spatialys.com>
10 *
11 * SPDX-License-Identifier: MIT
12 ****************************************************************************/
13
14#ifndef GDALGRID_PRIV_H
15#define GDALGRID_PRIV_H
16
17#include "cpl_error.h"
18#include "cpl_quad_tree.h"
19
20#include "gdal_alg.h"
21
23
24typedef struct
25{
26 const double *padfX;
27 const double *padfY;
28} GDALGridXYArrays;
29
30typedef struct
31{
32 GDALGridXYArrays *psXYArrays;
33 int i;
34} GDALGridPoint;
35
36typedef struct
37{
38 CPLQuadTree *hQuadTree;
39 double dfInitialSearchRadius;
40 float *pafX; // Aligned to be usable with AVX
41 float *pafY;
42 float *pafZ;
43 GDALTriangulation *psTriangulation;
44 int nInitialFacetIdx;
46 double dfPowerDiv2PreComp;
48 double dfRadiusPower2PreComp;
49} GDALGridExtraParameters;
50
51#ifdef HAVE_SSE_AT_COMPILE_TIME
52CPLErr GDALGridInverseDistanceToAPower2NoSmoothingNoSearchSSE(
53 const void *poOptions, GUInt32 nPoints, const double *unused_padfX,
54 const double *unused_padfY, const double *unused_padfZ, double dfXPoint,
55 double dfYPoint, double *pdfValue, void *hExtraParamsIn);
56#endif
57
58#ifdef HAVE_AVX_AT_COMPILE_TIME
59CPLErr GDALGridInverseDistanceToAPower2NoSmoothingNoSearchAVX(
60 const void *poOptions, GUInt32 nPoints, const double *unused_padfX,
61 const double *unused_padfY, const double *unused_padfZ, double dfXPoint,
62 double dfYPoint, double *pdfValue, void *hExtraParamsIn);
63#endif
64
66
67#endif // GDALGRID_PRIV_H
CPL error handling services.
CPLErr
Error category.
Definition: cpl_error.h:37
unsigned int GUInt32
Unsigned int32 type.
Definition: cpl_port.h:161
Quad tree implementation.
struct _CPLQuadTree CPLQuadTree
Opaque type for a quad tree.
Definition: cpl_quad_tree.h:49
Public (C callable) GDAL algorithm entry points, and definitions.
Triangulation structure.
Definition: gdal_alg.h:657