/
githubmirror
/
tesseract
Обзор
Документация
Войти
/
githubmirror
/
tesseract
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
5.3.0
src/classify/fpoint.h
53 строки
2 KB
Egor Pugin
Replace typedef structs with structs.
15 мар 2021, 09:47
15 мар 2021, 09:47
efd17e2
Код
Авторство
О чём код?
/****************************************************************************** ** Filename: fpoint.h ** Purpose: Abstract data type for 2D points (floating point coords) ** Author: Dan Johnson ** ** (c) Copyright Hewlett-Packard Company, 1988. ** (c) Copyright Hewlett-Packard Company, 1988. ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** http://www.apache.org/licenses/LICENSE-2.0 ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. ******************************************************************************/ #ifndef FPOINT_H #define FPOINT_H /**---------------------------------------------------------------------------- Include Files and Type Defines ----------------------------------------------------------------------------**/ #include <cmath> #include <cstdio> /* define data structure to hold 2D points or vectors using floating point */ struct FPOINT { float x, y; }; using FVECTOR = FPOINT; /**---------------------------------------------------------------------------- Macros ----------------------------------------------------------------------------**/ /* macros for computing miscellaneous functions of 2 points */ #define XDelta(A, B) ((B).x - (A).x) #define YDelta(A, B) ((B).y - (A).y) #define SlopeFrom(A, B) (YDelta(A, B) / XDelta(A, B)) #define AngleFrom(A, B) (atan2((double)YDelta(A, B), (double)XDelta(A, B))) #define XIntersectionOf(A, B, X) (SlopeFrom(A, B) * ((X)-A.x) + A.y) /*------------------------------------------------------------------------- Public Function Prototypes ---------------------------------------------------------------------------*/ float DistanceBetween(FPOINT A, FPOINT B); float NormalizedAngleFrom(FPOINT *Point1, FPOINT *Point2, float FullScale); #endif