GDAL
alg
gdalgrid_priv.h
1
/******************************************************************************
2
* $Id: gdalgrid_priv.h 355b41831cd2685c85d1aabe5b95665a2c6e99b7 2019-06-19 17:07:04 +0200 Even Rouault $
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
* Permission is hereby granted, free of charge, to any person obtaining a
12
* copy of this software and associated documentation files (the "Software"),
13
* to deal in the Software without restriction, including without limitation
14
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
15
* and/or sell copies of the Software, and to permit persons to whom the
16
* Software is furnished to do so, subject to the following conditions:
17
*
18
* The above copyright notice and this permission notice shall be included
19
* in all copies or substantial portions of the Software.
20
*
21
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27
* DEALINGS IN THE SOFTWARE.
28
****************************************************************************/
29
30
#ifndef GDALGRID_PRIV_H
31
#define GDALGRID_PRIV_H
32
33
#include "
cpl_error.h
"
34
#include "
cpl_quad_tree.h
"
35
37
38
typedef
struct
39
{
40
const
double
* padfX;
41
const
double
* padfY;
42
} GDALGridXYArrays;
43
44
typedef
struct
45
{
46
GDALGridXYArrays* psXYArrays;
47
int
i;
48
} GDALGridPoint;
49
50
typedef
struct
51
{
52
CPLQuadTree
* hQuadTree;
53
double
dfInitialSearchRadius;
54
float
*pafX;
// Aligned to be usable with AVX
55
float
*pafY;
56
float
*pafZ;
57
GDALTriangulation
* psTriangulation;
58
int
nInitialFacetIdx;
60
double
dfPowerDiv2PreComp;
62
double
dfRadiusPower2PreComp;
64
double
dfRadiusPower4PreComp;
65
} GDALGridExtraParameters;
66
67
#ifdef HAVE_SSE_AT_COMPILE_TIME
68
CPLErr
69
GDALGridInverseDistanceToAPower2NoSmoothingNoSearchSSE(
70
const
void
*poOptions,
71
GUInt32
nPoints,
72
const
double
*unused_padfX,
73
const
double
*unused_padfY,
74
const
double
*unused_padfZ,
75
double
dfXPoint,
double
dfYPoint,
76
double
*pdfValue,
77
void
* hExtraParamsIn );
78
#endif
79
80
#ifdef HAVE_AVX_AT_COMPILE_TIME
81
CPLErr
GDALGridInverseDistanceToAPower2NoSmoothingNoSearchAVX(
82
const
void
*poOptions,
83
GUInt32
nPoints,
84
const
double
*unused_padfX,
85
const
double
*unused_padfY,
86
const
double
*unused_padfZ,
87
double
dfXPoint,
double
dfYPoint,
88
double
*pdfValue,
89
void
* hExtraParamsIn );
90
#endif
91
93
94
#endif // GDALGRID_PRIV_H
cpl_error.h
CPL error handling services.
CPLQuadTree
struct _CPLQuadTree CPLQuadTree
Opaque type for a quad tree.
Definition:
cpl_quad_tree.h:62
CPLErr
CPLErr
Error category.
Definition:
cpl_error.h:53
cpl_quad_tree.h
Quad tree implementation.
GDALTriangulation
Triangulation structure.
Definition:
gdal_alg.h:632
GUInt32
unsigned int GUInt32
Unsigned int32 type.
Definition:
cpl_port.h:207
Generated by
1.8.20