Coverage Report

Created: 2026-10-17 06:30

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/PROJ/src/transformations/tinshift_iface.hpp
Line
Count
Source
1
/******************************************************************************
2
 * Project:  PROJ
3
 * Purpose:  Functionality related to TIN based transformations
4
 * Author:   Even Rouault, <even.rouault at spatialys.com>
5
 *
6
 ******************************************************************************
7
 * Copyright (c) 2025, Even Rouault, <even.rouault at spatialys.com>
8
 *
9
 * SPDX-License-Identifier: MIT
10
 *****************************************************************************/
11
12
#ifndef TINSHIFT_IFACE_H
13
#define TINSHIFT_IFACE_H
14
15
// ---------------------------------------------------------------------------
16
17
#ifdef __clang__
18
#pragma clang diagnostic push
19
#pragma clang diagnostic ignored "-Wweak-vtables"
20
#endif
21
22
/** Interface to evaluate the transformation of a coordinate */
23
class TINShiftEvaluator {
24
  public:
25
0
    inline virtual ~TINShiftEvaluator() = default;
26
27
    /** Evaluate displacement of a position given by (x,y,z,t) and
28
     * return it in (x_out,y_out_,z_out).
29
     */
30
    virtual bool forward(double x, double y, double z, double &x_out,
31
                         double &y_out, double &z_out) = 0;
32
33
    /** Apply inverse transformation. */
34
    virtual bool inverse(double x, double y, double z, double &x_out,
35
                         double &y_out, double &z_out) = 0;
36
};
37
38
#ifdef __clang__
39
#pragma clang diagnostic pop
40
#endif
41
42
#endif // TINSHIFT_IFACE_H