ага 7х7... линки по сетке не выравниваются. При автовыравнивание идеальным было бы делать зазор в 1 пиксель. Т.е. размер матрицы должен быть всего вдвое меньше габаритов схемы.
Этот топик читают: Гость
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
карма: 27 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Dilma писал(а): Т.е. размер матрицы должен быть всего вдвое меньше габаритов схемы.Необязательно. Когда мы автоматом прокладываем трассу, можно выровнять по сетке 7х7, всё равно точки выровнены по этой сетке. А уж потом можно позволить юзеру подвинуть линию. Даже если линия "сдвинута" по отношению к сетке, при делении координат на 7 этот сдвиг не будет важен (надо лишь округлить в нужную сторону). |
|||
карма: 1 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Dilma писал(а): ага 7х7... линки по сетке не выравниваютсяПричем только из-за разницы в привязках HubEx и GetDataEx Других убедительных причин нет Dilma, надо вынести (хотя бы временно) это в dll-ку, и продумать вышеупомянутый интерфейс обмена. И выложить с "пустым" методом в dll-ке (возвращающий тождественный false, скажем). И после этого, особо продвинутые - пусть и явят высокое искусство... Ну скажем, мне кажется перспективным ходить и в меньшей сетке, но по более высокой стоимости (только там, где без этого невмоготу ). |
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Galkov писал(а): надо вынести (хотя бы временно) это в dll-ку, и продумать вышеупомянутый интерфейс обмена.а еще утверждал, что "телепаты в отпуске" http://dev.hiasm.com/src/trace.rar архив содержит: HiAsm.exe - поддержка интерфейса для внешнего линк-трейса settings.sha - добавление в среду опции для включения внешнего линк-трейса lnk_trace.dll - собственно пример линк-трейса на базе алгоритма от tsdima(полностью рабочая версия) lnk_trace.dpr - его исходник. текущая реализация работает более менее приемлемо, однако без учета "косых" линков. Сетка взята размером в 3 пикселя. [size=-2]------ Добавлено в 12:49 патч ставится поверх 163 билда |
|||
карма: 27 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Dilma, не плохо, но шаг маловат -- не очень смотрится. Увеличить как-нибудь можно?
|
|||
карма: 22 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
nesco писал(а): Увеличить как-нибудь можно?исходник на что дан?
[size=-2]------ Добавлено в 13:22 Кроме того "не плохо" адресовать нужно tsdima - это его реализация, транслированная с бейсика |
|||
карма: 27 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Dilma, увеличил до 5, откомпилировал, запустил, пытался соединить -- получил ошибку при трассировке "Access Violate". Интересно.. с чем связано?
|
|||
карма: 22 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
не подтверждается. Вероятно связано с примером, на котором это тестировалось.
|
|||
карма: 27 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Dilma писал(а): текущая реализация работает более менее приемлемоПространство вокруг элементов побольше надо сделать, хотя бы на один шаг. И по-моему, первая точка не сохраняется - линк кривой. [size=-2]------ Добавлено в 18:28 nesco писал(а): получил ошибку при трассировке "Access Violate". Интересно.. с чем связано?Я тоже получил. Dilma, какими Дельфями компилил? Теми, что с Хиасмом - не выходит. |
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
tsdima писал(а): Пространство вокруг элементов побольше надо сделать, хотя бы на один шаг.ну так пространство для творчества открыто Ждем законченных решений... [size=-2]------ Добавлено в 18:45 tsdima писал(а): какими Дельфями компилил?tsdima, обижаешь. Dilma писал(а): не подтверждаетсяэто значит: - зашел в папку с hiasm build 163 - распаковал архив, выложенный на форуме - написал простенький батник:
|
|||
карма: 27 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Ты-б ещё свой CGTShare.pas приложил, а то я смотрю вроде уже stdcall используется
[size=-2]------ Добавлено в 18:50 tsdima писал(а): со всеми патчамиНу и в каком патче новый CGTShare.pas? |
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
CGTShare.pas
code_1588.txt |
|||
карма: 27 |
| ||
файлы: 1 | code_1588.txt [12.4KB] [484] |
Ответов: 2125
Рейтинг: 159
|
|||
Вот теперь нормально
[size=-2]------ Добавлено в 18:59 Сделал, чтобы первая точка тоже сохранялась:
Только не факт, что так нужно. Если подвинуть элемент, то линк остаётся на месте. Говорил-же - надо по точкам выравнивать. Однако первая и последняя точка не всегда нужны, их бы как-нибудь автоматом удалять, если они на прямой лежат... [size=-2]------ Добавлено в 19:02 И точки не совсем в точки элемента попадают, X*7+? |
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
не должна она сохраняться. Первая и последняя точки это координаты точек самого элемента. Проблема просто там в том, что центр точки элемента не кратен координатной сетке(сдвинут на 3 пикселя). Поэтому получаются кривые. Да и делить безусловно на размер сетки нельзя - нужно учитывать еще смещение скролов в окне.
[size=-2]------ Добавлено в 19:03 tsdima писал(а): И точки не совсем в точки элемента попадают, X*7+?чуть опередил с вопросом Dilma писал(а): Проблема просто там в том, что центр точки элемента не кратен координатной сетке(сдвинут на 3 пикселя). |
|||
карма: 27 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Dilma писал(а): нужно учитывать еще смещение скролов в окнеОп-па. А где-ж их взять-то? |
|||
карма: 1 |
|