tesseract
3.05.02
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
** History: Thu Apr 12 10:50:01 1990, DSJ, Created.
6
**
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
#ifndef FPOINT_H
19
#define FPOINT_H
20
24
#include "
host.h
"
25
#include <stdio.h>
26
#include <math.h>
27
28
/* define data structure to hold 2D points or vectors using floating point */
29
typedef
struct
30
{
31
FLOAT32
x,
y
;
32
}
FPOINT
;
33
typedef
FPOINT
FVECTOR
;
34
38
/* macros for computing miscellaneous functions of 2 points */
39
#define XDelta(A,B) ( (B).x - (A).x )
40
#define YDelta(A,B) ( (B).y - (A).y )
41
#define SlopeFrom(A,B) ( YDelta(A,B) / XDelta(A,B) )
42
#define AngleFrom(A,B) ( atan2((double) YDelta(A,B), \
43
(double) XDelta(A,B) ) )
44
45
#define XIntersectionOf(A,B,X) ( SlopeFrom(A,B) * ((X) - A.x) + A.y)
46
47
/*-------------------------------------------------------------------------
48
Public Function Prototypes
49
---------------------------------------------------------------------------*/
50
51
FLOAT32
DistanceBetween
(
FPOINT
A,
FPOINT
B);
52
53
FLOAT32
NormalizedAngleFrom
(
FPOINT
*Point1,
FPOINT
*Point2,
FLOAT32
FullScale);
54
#endif
host.h
NormalizedAngleFrom
FLOAT32 NormalizedAngleFrom(FPOINT *Point1, FPOINT *Point2, FLOAT32 FullScale)
Definition:
fpoint.cpp:48
DistanceBetween
FLOAT32 DistanceBetween(FPOINT A, FPOINT B)
Definition:
fpoint.cpp:30
FPOINT::y
FLOAT32 y
Definition:
fpoint.h:31
FVECTOR
FPOINT FVECTOR
Definition:
fpoint.h:33
FLOAT32
float FLOAT32
Definition:
host.h:44
FPOINT
Definition:
fpoint.h:29
classify
fpoint.h
Generated on Mon Oct 29 2018 11:27:49 for tesseract by
1.8.14