tesseract
5.0.0-alpha-619-ge9db
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
typedef
struct
{
30
float
x, y;
31
}
FPOINT
;
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
FPOINT
Definition:
fpoint.h:28
NormalizedAngleFrom
float NormalizedAngleFrom(FPOINT *Point1, FPOINT *Point2, float FullScale)
Definition:
fpoint.cpp:43
DistanceBetween
float DistanceBetween(FPOINT A, FPOINT B)
Definition:
fpoint.cpp:28
src
classify
fpoint.h
Generated on Thu Jan 30 2020 14:22:20 for tesseract by
1.8.16