САПР на Lazarus
Модератор: Модераторы
Re: САПР на Lazarus
Объектов.
Софтово или хардкорно.
glRenderMode(GL_SELECT);
или свои способы.
просто glRenderMode(GL_SELECT) в OpenGL 3.x уже deprecated.
Софтово или хардкорно.
glRenderMode(GL_SELECT);
или свои способы.
просто glRenderMode(GL_SELECT) в OpenGL 3.x уже deprecated.
Re: САПР на Lazarus
Софтово. Математически определяют попадание примитива в область выбора
Re: САПР на Lazarus
Советуют читать буфер цвета, буфер глубины и буфер трафарета.. как это все вместе увязать?
и еще пробелема, не могу прочитать png файл с доступом к Raw данным
Нагуглил это:
Но не работает. Есть буффер нужными размерами, но он пустой. Может я что то не знаю.
Не хотелос бы линковать левые libpng.so.
и еще пробелема, не могу прочитать png файл с доступом к Raw данным
Нагуглил это:
Код: Выделить всё
var
ImgReader: TLazReaderBMP;
IntfImg: TLazIntfImage;
aprasas: TRawImageDescription;
begin
ImgReader := TLazReaderBMP.Create;
IntfImg := TLazIntfImage.Create(0,0);
//IntfImg.DataDescription.Init_BPP32_B8G8R8A8_M1_BIO_TTB(0, 0);
aprasas.Init_BPP32_B8G8R8A8_BIO_TTB(0, 0); // there is
IntfImg.DataDescription:=aprasas; // solution
IntfImg.LoadFromFile('red.bmp', ImgReader);
DumpMem(PCardinal(IntfImg.PixelData), IntfImg.DataDescription.Height*IntfImg.DataDescription.Width);
ImgReader.Destroy;
IntfImg.Destroy;
end;Не хотелос бы линковать левые libpng.so.
Re: САПР на Lazarus
>>Советуют читать буфер
Плохой совет. зачем попадания примитива в область связывать с отрисовкой? кроме токо - область выделения это не 1-2 пикселя, она может быть очень большой
>>Нагуглил это:
это в другой топик
Плохой совет. зачем попадания примитива в область связывать с отрисовкой? кроме токо - область выделения это не 1-2 пикселя, она может быть очень большой
>>Нагуглил это:
это в другой топик
Re: САПР на Lazarus
Да, я это знаю.zub писал(а):Плохой совет. зачем попадания примитива в область связывать с отрисовкой? кроме токо - область выделения это не 1-2 пикселя, она может быть очень большой
Но не все вопросы можно решать через поиск по всем объектам. Это пока рисуешь линиями - поиск не сложный, а когда начнутся сложные тела, калькуляция усложнится сильно.
Тогда иметь "аппаратное" ускорение - это выход.
не другой. Сам же вроде с текстурами хочет поработать. Просто я столкнулся с тем, что штатными средствами почему то доступ к Data^ закрыт. Не хотелось бы плугинить строение средства типа BGRA, или libpng.zub писал(а):это в другой топик
Re: САПР на Lazarus
>>а когда начнутся сложные тела, калькуляция усложнится сильно
Считаешь что когда рисуешь сложные тела эти калькуляции ненужны?
>>Тогда иметь "аппаратное" ускорение - это выход.
нету никакого аппаратного ускорения в glRenderMode(GL_SELECT) это такаяже софтварная приблуда. и работает она только с темиже линиями\треугольниками - неважно насколько сложные тела ты рисуешь
>>не другой. Сам же вроде с текстурами хочет поработать.
у меня небыло никаких проблем при доступе к пикселям. хотя делал это нечасто. явно просто забыта какаято элементарщина, неохота вникать
Считаешь что когда рисуешь сложные тела эти калькуляции ненужны?
>>Тогда иметь "аппаратное" ускорение - это выход.
нету никакого аппаратного ускорения в glRenderMode(GL_SELECT) это такаяже софтварная приблуда. и работает она только с темиже линиями\треугольниками - неважно насколько сложные тела ты рисуешь
>>не другой. Сам же вроде с текстурами хочет поработать.
у меня небыло никаких проблем при доступе к пикселям. хотя делал это нечасто. явно просто забыта какаято элементарщина, неохота вникать
Re: САПР на Lazarus
Сломалась система локализации zcad`а
fpc (или лазарус?) стал очищать генерируемые po файлы - теперь пересборку проекта переживают только resourcestring, все что в po добавлял сам zcad (много рантайм данных нуждается в локализации) вычищается компилятором.
Придется придумывать чтото другое((
fpc (или лазарус?) стал очищать генерируемые po файлы - теперь пересборку проекта переживают только resourcestring, все что в po добавлял сам zcad (много рантайм данных нуждается в локализации) вычищается компилятором.
Придется придумывать чтото другое((
Re: САПР на Lazarus
Поподробнее можно?
Сейчас при перегенерации гарантируется, что в файлы PO попадают только элементы, имеющиеся в файлах RSJ (RST для старых версий FPC) и LRJ (для форм со включённой локализацией). Предыдущая реализация в ряде случаев не убирала ненужные элементы из файлов, являлась источником ошибок и была излишне сложной.
Соответственно, следует убедиться, что используется последняя ревизия Lazarus (не забыть при этом пересобрать файл updatepofiles.exe, если он используется) и использовать строки ресурсов для перевода рантайм данных, не пытаясь самостоятельно напрямую записывать что-либо в файлы PO.
Сейчас при перегенерации гарантируется, что в файлы PO попадают только элементы, имеющиеся в файлах RSJ (RST для старых версий FPC) и LRJ (для форм со включённой локализацией). Предыдущая реализация в ряде случаев не убирала ненужные элементы из файлов, являлась источником ошибок и была излишне сложной.
Соответственно, следует убедиться, что используется последняя ревизия Lazarus (не забыть при этом пересобрать файл updatepofiles.exe, если он используется) и использовать строки ресурсов для перевода рантайм данных, не пытаясь самостоятельно напрямую записывать что-либо в файлы PO.
Re: САПР на Lazarus
>>Сейчас при перегенерации гарантируется, что в файлы PO попадают только элементы, имеющиеся в файлах RSJ (RST для старых версий FPC) и LRJ (для форм со включённой локализацией)
я так и понял
>>и использовать строки ресурсов для перевода рантайм данных
они на то и рантайм, что во время компиляции про них ничего неизвестно
>>не пытаясь самостоятельно напрямую записывать что-либо в файлы PO.
Я сразу подозревал что это решение когда нибудь подведет)), но оно проработало довольно долго и как ни странно было очень удобным. Сейчас наверно придется разделить локализацию на 2 ро - рантайм и компилетайм
Добавлено спустя 2 минуты 10 секунд:
>>Сейчас при перегенерации гарантируется, что в файлы PO попадают только элементы, имеющиеся в файлах
можно уточнить кто за это причастен - лазарус или фпц? и с какой ревизии? я пользую английские версии, поломалось наверно давно, заметил только сегодня
Добавлено спустя 4 минуты 45 секунд:
>>Поподробнее можно?
в po генерируемый компилятором я подмешивал свои данные и сам следил за их актуальностью
Добавлено спустя 2 минуты 23 секунды:
rsunknownfileformat - компилятора
zcadexternal.acn_3dpoly~caption - мое
Добавлено спустя 4 минуты 30 секунд:
нет возможности оставлять строки помеченные какимто образом? содержащие какойнить символ например?
я так и понял
>>и использовать строки ресурсов для перевода рантайм данных
они на то и рантайм, что во время компиляции про них ничего неизвестно
>>не пытаясь самостоятельно напрямую записывать что-либо в файлы PO.
Я сразу подозревал что это решение когда нибудь подведет)), но оно проработало довольно долго и как ни странно было очень удобным. Сейчас наверно придется разделить локализацию на 2 ро - рантайм и компилетайм
Добавлено спустя 2 минуты 10 секунд:
>>Сейчас при перегенерации гарантируется, что в файлы PO попадают только элементы, имеющиеся в файлах
можно уточнить кто за это причастен - лазарус или фпц? и с какой ревизии? я пользую английские версии, поломалось наверно давно, заметил только сегодня
Добавлено спустя 4 минуты 45 секунд:
>>Поподробнее можно?
в po генерируемый компилятором я подмешивал свои данные и сам следил за их актуальностью
Добавлено спустя 2 минуты 23 секунды:
Код: Выделить всё
#: uzestrconsts.rsunknownfileformat
msgid "Unknown file format"
msgstr ""
#: zcadexternal.acn_3dpoly~caption
msgid "3DPolyLine"
msgstr ""
rsunknownfileformat - компилятора
zcadexternal.acn_3dpoly~caption - мое
Добавлено спустя 4 минуты 30 секунд:
нет возможности оставлять строки помеченные какимто образом? содержащие какойнить символ например?
Re: САПР на Lazarus
zub писал(а):>>и использовать строки ресурсов для перевода рантайм данных
они на то и рантайм, что во время компиляции про них ничего неизвестно
Не понял.
zub писал(а):можно уточнить кто за это причастен - лазарус или фпц? и с какой ревизии? я пользую английские версии, поломалось наверно давно, заметил только сегодня
Это моя деятельность в Lazarus (начиная с 1 марта). Ревизии 57426 (была откачена ревизией 57431), 57489, 57491.
Добавлено спустя 54 секунды:
Максим писал(а):нет возможности оставлять строки помеченные какимто образом? содержащие какойнить символ например?
Нет.
Re: САПР на Lazarus
>>Не понял.
Переводчику-то всё равно нужны их фиксированные значения.
В 2х словах:
то что нужно перевести грузится в рантайме, переводится руками и как то используется. на момент компиляции это неизвестно.
в зкаде есть команда "updatepo" - по ней все что было загружено в рантайме, но ненайдено в zcad.po туда добавляется, а все что было не использовано из zcad.po выпиливается. после ее выполнения имеем свои данные подмешаные в zcad.po. При следующей перекомпиляции проекта подмешанные данные расползались по zcad.%lang%.po
>>Нет.
ок.
В 2х словах:
то что нужно перевести грузится в рантайме, переводится руками и как то используется. на момент компиляции это неизвестно.
в зкаде есть команда "updatepo" - по ней все что было загружено в рантайме, но ненайдено в zcad.po туда добавляется, а все что было не использовано из zcad.po выпиливается. после ее выполнения имеем свои данные подмешаные в zcad.po. При следующей перекомпиляции проекта подмешанные данные расползались по zcad.%lang%.po
>>Нет.
ок.
Re: САПР на Lazarus
zub писал(а):В 2х словах:
то что нужно перевести грузится в рантайме, переводится руками и как то используется. на момент компиляции это неизвестно.
в зкаде есть команда "updatepo" - по ней все что было загружено в рантайме, но ненайдено в zcad.po туда добавляется, а все что было не использовано из zcad.po выпиливается. после ее выполнения имеем свои данные подмешаные в zcad.po. При следующей перекомпиляции проекта подмешанные данные расползались по zcad.%lang%.po
То есть перекомпиляция всё равно выполняется? Тогда почему бы не генерировать некий файл *.inc со строками ресурсов?
Добавлено спустя 2 минуты 38 секунд:
Впрочем, если никак иначе не получается, то действительно лучше всего выделить такие строки в отдельный файл PO. Лазарь его никогда трогать не будет. Такое решение будет надёжно работать в долгосрочной перспективе.
Re: САПР на Lazarus
>>То есть перекомпиляция всё равно выполняется?
Изначально я хотел поискать другой способ обновить локализованные файлы. Но чето както привык. Да перекомпиляция здесь совсем лишняя
Изначально я хотел поискать другой способ обновить локализованные файлы. Но чето както привык. Да перекомпиляция здесь совсем лишняя
Re: САПР на Lazarus
Это можно делать после обновления главного файла PO при помощи утилитки updatepofiles в каталоге tools, либо дёргать функцию из модуля translations подобно ей.
Re: САПР на Lazarus
Спасибо!
Добавлено спустя 13 часов 28 минут 39 секунд:
Максим
разделил файлы было
стоало
лазарус продолжает хозяйничать в zcadrt.po это уже бажок похоже
Добавлено спустя 13 часов 28 минут 39 секунд:
Максим
разделил файлы было
Код: Выделить всё
zcad.poстоало
Код: Выделить всё
zcad.po
zcadrt.poлазарус продолжает хозяйничать в zcadrt.po это уже бажок похоже
