2
2
Copyright (c) 1993-2008, Cognitive Technologies
5
����������� ��������� ��������������� � ������������� ��� � ���� ��������� ����,
6
��� � � �������� �����, � ����������� ��� ���, ��� ���������� ��������� �������:
8
* ��� ��������� ��������������� ��������� ���� ������ ���������� ���������
9
���� ����������� �� ��������� �����, ���� ������ ������� � �����������
11
* ��� ��������� ��������������� ��������� ���� � ������������ �/��� �
12
������ ����������, ������������ ��� ���������������, ������ �����������
13
��������� ���� ���������� �� ��������� �����, ���� ������ ������� �
14
����������� ����� �� ��������.
15
* �� �������� Cognitive Technologies, �� ����� �� ����������� �� �����
16
���� ������������ � �������� �������� ��������� �/��� �����������
17
���������, ���������� �� ���� ��, ��� ���������������� �����������
20
��� ��������� ������������� ����������� ��������� ���� �/��� ������� ������ "���
21
��� ����" ��� ������-���� ���� ��������, ���������� ���� ��� ���������������,
22
������� �������� ������������ �������� � ����������� ��� ���������� ����, �� ��
23
������������� ���. �� �������� ��������� ���� � �� ���� ������ ����, �������
24
����� �������� �/��� �������� �������������� ���������, �� � ���� ������ ��
25
��Ѩ� ���������������, ������� ����� �����, ���������, ����������� ���
26
������������� ������, ��������� � �������������� ��� ���������� ����������
27
������������� ������������� ��������� (������� ������ ������, ��� ������,
28
������� ���������, ��� ������ �/��� ������ �������, ���������� ��-�� ��������
29
������� ��� �/��� ������ ��������� �������� ��������� � ������� �����������,
30
�� �� ������������� ����� ��������), �� �� ������������� ���, ���� ���� �����
31
�������� ��� ������ ���� ���� �������� � ����������� ����� ������� � ������.
5
Разрешается повторное распространение и использование как в виде исходного кода,
6
так и в двоичной форме, с изменениями или без, при соблюдении следующих условий:
8
* При повторном распространении исходного кода должны оставаться указанное
9
выше уведомление об авторском праве, этот список условий и последующий
11
* При повторном распространении двоичного кода в документации и/или в
12
других материалах, поставляемых при распространении, должны сохраняться
13
указанная выше информация об авторском праве, этот список условий и
14
последующий отказ от гарантий.
15
* Ни название Cognitive Technologies, ни имена ее сотрудников не могут
16
быть использованы в качестве средства поддержки и/или продвижения
17
продуктов, основанных на этом ПО, без предварительного письменного
20
ЭТА ПРОГРАММА ПРЕДОСТАВЛЕНА ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ И/ИЛИ ДРУГИМИ ЛИЦАМИ "КАК
21
ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ,
22
ВКЛЮЧАЯ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ, НО НЕ
23
ОГРАНИЧИВАЯСЬ ИМИ. НИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ
24
МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, НИ В КОЕМ СЛУЧАЕ НЕ
25
НЕСЁТ ОТВЕТСТВЕННОСТИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ
26
ПОСЛЕДОВАВШИЕ УБЫТКИ, СВЯЗАННЫЕ С ИСПОЛЬЗОВАНИЕМ ИЛИ ПОНЕСЕННЫЕ ВСЛЕДСТВИЕ
27
НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ ПОТЕРИ ДАННЫХ, ИЛИ ДАННЫЕ,
28
СТАВШИЕ НЕГОДНЫМИ, ИЛИ УБЫТКИ И/ИЛИ ПОТЕРИ ДОХОДОВ, ПОНЕСЕННЫЕ ИЗ-ЗА ДЕЙСТВИЙ
29
ТРЕТЬИХ ЛИЦ И/ИЛИ ОТКАЗА ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ,
30
НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМИ СЛУЧАЯМИ), НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ДАЖЕ ЕСЛИ ТАКОЙ
31
ВЛАДЕЛЕЦ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ И ПОТЕРЬ.
33
33
Redistribution and use in source and binary forms, with or without modification,
34
34
are permitted provided that the following conditions are met:
54
54
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
57
/********** ��������� **********/
58
/* ����� : ��������� �������� */
59
/* �������� : 13.03.01 */
60
/* ���� : 'Line_VP_2_AM.CPP' */
61
/* ���������� : ������� ������ � �������. */
62
/* ���������� : ����������� ������ � �������. */
57
/********** Заголовок **********/
58
/* Автор : Александр Михайлов */
59
/* Редакция : 13.03.01 */
60
/* Файл : 'Line_VP_2_AM.CPP' */
61
/* Содержание : Функции работы с памятью. */
62
/* Назначение : Оптимизация работы с памятью. */
63
63
/*----------------------------------------------------------------------------*/
80
80
#include "puma_err.h"
81
81
/*------------own functions---------------------------------------------------*/
82
82
Bool FullMyLines_Mod (void *vLns, int nLns, void *vB, int *pForw, int *SizeForw
83
, int ShifValuForw, Rect16 *pRcReg, Int32 SkewReg, Bool Hori, char *pStr, Bool ContWarn);
83
, int ShifValuForw, Rect16 *pRcReg, int32_t SkewReg, Bool Hori, char *pStr, Bool ContWarn);
84
84
Bool FullMyLines_Mod (void *vLines, int count, void *vB, int *pForw, int *SizeForw
85
, Rect16 *pRcReg, Int32 SkewReg, Bool Hori, char *pStr, Bool ContWarn);
85
, Rect16 *pRcReg, int32_t SkewReg, Bool Hori, char *pStr, Bool ContWarn);
86
86
void FullNewMyLine (RLT_LINE *pLine, LineInfo *pLns, Bool Hori, Bool ContWarn);
87
87
void FullNewMyLine (RLT_LINE* pLine,DLine* pline,Bool Hori,Bool ContWarn);
88
88
/*----------------------------------------------------------------------------*/
90
90
Bool ConvertLinesToAM_rv (int FromType, int ToType, void *vB, int *pForw
91
, int SizeForw, Rect16 *pRcReg, Int32 SkewReg, char *pStr, Bool ContWarn)
91
, int SizeForw, Rect16 *pRcReg, int32_t SkewReg, char *pStr, Bool ContWarn)
93
93
int i, Aim, Ind, nFrom, ShifValuForw, SizeF;
197
197
/*----------------------------------------------------------------------------*/
198
198
Bool FullMyLines_Mod (void *vLns, int nLns, void *vB, int *pForw, int *SizeForw
199
, int ShifValuForw, Rect16 *pRcReg, Int32 SkewReg, Bool Hori, char *pStr, Bool ContWarn)
199
, int ShifValuForw, Rect16 *pRcReg, int32_t SkewReg, Bool Hori, char *pStr, Bool ContWarn)
201
201
int i, nLine, SizeCurr, nTeor, LentOld, LentNew;
276
276
/*----------------------------------------------------------------------------*/
277
277
Bool FullMyLines_Mod (void *vLines, int count, void *vB, int *pForw, int *SizeForw
278
, Rect16 *pRcReg, Int32 SkewReg, Bool Hori, char *pStr, Bool ContWarn)
278
, Rect16 *pRcReg, int32_t SkewReg, Bool Hori, char *pStr, Bool ContWarn)
280
280
int i, nLine, SizeCurr, nTeor, LentOld, LentNew;
294
294
move=pB->nPartUnits[pB->nPart-1];
295
295
for (i=0; i<count; i++,pline++)
297
LinBeg.x =(Int16)pline->Line.Beg_X;
298
LinBeg.y =(Int16)pline->Line.Beg_Y;
299
LinEnd.x =(Int16)pline->Line.End_X;
300
LinEnd.y =(Int16)pline->Line.End_Y;
297
LinBeg.x =(int16_t)pline->Line.Beg_X;
298
LinBeg.y =(int16_t)pline->Line.Beg_Y;
299
LinEnd.x =(int16_t)pline->Line.End_X;
300
LinEnd.y =(int16_t)pline->Line.End_Y;
301
301
LentOld = (LinEnd.x-LinBeg.x)*(LinEnd.x-LinBeg.x);
302
302
LentOld += ((LinEnd.y-LinBeg.y)*(LinEnd.y-LinBeg.y));
303
303
LentOld = (int)sqrt ((double)LentOld);
304
304
if (*SizeForw <= 0)
306
sprintf (pStr, "�� ������� ������ ��� 1 ��������� ������� ��������!");
306
sprintf (pStr, "Не хватило памяти под 1 очередной элемент эволюции!");