tesseract
v5.3.3.20231005
fpoint.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Filename: fpoint.h
3
** Purpose: Abstract data type for 2D points (floating point coords)
4
** Author: Dan Johnson
5
**
6
** (c) Copyright Hewlett-Packard Company, 1988.
7
** (c) Copyright Hewlett-Packard Company, 1988.
8
** Licensed under the Apache License, Version 2.0 (the "License");
9
** you may not use this file except in compliance with the License.
10
** You may obtain a copy of the License at
11
** http://www.apache.org/licenses/LICENSE-2.0
12
** Unless required by applicable law or agreed to in writing, software
13
** distributed under the License is distributed on an "AS IS" BASIS,
14
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
** See the License for the specific language governing permissions and
16
** limitations under the License.
17
******************************************************************************/
18
19
#ifndef FPOINT_H
20
#define FPOINT_H
21
25
#include <cmath>
26
#include <cstdio>
27
28
/* define data structure to hold 2D points or vectors using floating point */
29
struct
FPOINT
{
30
float
x
,
y
;
31
};
32
using
FVECTOR
=
FPOINT
;
33
37
/* macros for computing miscellaneous functions of 2 points */
38
#define XDelta(A, B) ((B).x - (A).x)
39
#define YDelta(A, B) ((B).y - (A).y)
40
#define SlopeFrom(A, B) (YDelta(A, B) / XDelta(A, B))
41
#define AngleFrom(A, B) (atan2((double)YDelta(A, B), (double)XDelta(A, B)))
42
43
#define XIntersectionOf(A, B, X) (SlopeFrom(A, B) * ((X)-A.x) + A.y)
44
45
/*-------------------------------------------------------------------------
46
Public Function Prototypes
47
---------------------------------------------------------------------------*/
48
49
float
DistanceBetween
(
FPOINT
A,
FPOINT
B);
50
51
float
NormalizedAngleFrom
(
FPOINT
*Point1,
FPOINT
*Point2,
float
FullScale);
52
53
#endif
DistanceBetween
float DistanceBetween(FPOINT A, FPOINT B)
Definition:
fpoint.cpp:29
NormalizedAngleFrom
float NormalizedAngleFrom(FPOINT *Point1, FPOINT *Point2, float FullScale)
Definition:
fpoint.cpp:44
FPOINT
Definition:
fpoint.h:29
FPOINT::y
float y
Definition:
fpoint.h:30
FPOINT::x
float x
Definition:
fpoint.h:30
src
classify
fpoint.h
Generated on Thu Oct 5 2023 22:10:26 for tesseract by
1.9.4