Пакет: slreportgen.finder
Суперклассы:
Создание поиска диаграмм статофлоу
Поиск диаграмм Stateflow ®.
создает поисковик, который по умолчанию находит все некомментированные диаграммы Stateflow в указанном finder = ChartDiagramFinder(container)container. Чтобы ограничить поиск определенными типами диаграмм, используйте свойства этого поиска.
Примечание
Этот поисковик может работать в режиме поиска или итератора. В режиме поиска используйте его find для возврата результатов поиска в виде массива результатов. В режиме итератора используйте его hasNext и next для возврата результатов поиска один за другим. При поиске в моделях с большим количеством привязок модели используйте режим итератора. Режим итератора закрывает модель после компиляции и поиска, в то время как режим поиска сохраняет все модели, которые она ищет, открытыми. Наличие множества открытых моделей может потреблять всю системную память и замедлять формирование отчетов. Режим итератора медленнее, чем режим поиска, поэтому используйте режим поиска для поиска моделей, которые ссылаются на несколько других моделей или не ссылаются на них.
задает свойства, используя пары имя-значение. Можно указать несколько аргументов пары имя-значение в любом порядке. Заключите каждое имя свойства в отдельные кавычки.finder = ChartDiagramFinder(Name,Value)
results = find(finder) находит диаграммы диаграммы в container определяется поисковиком. finder является slreportgen.finder.ChartDiagramFinder объект. results является массивом slreportgen.finder.DiagramResult объекты, каждый из которых содержит диаграмму диаграммы, найденную этим методом. Добавление этого массива в отчет или репортер добавляет изображения содержащихся в нем диаграмм. Отчеты, к которым можно добавить results данного метода являются отчетами типа slreportgen.report.Report или другой репортёрский объект, такой как slreportgen.report.Chapter репортер.
tf = hasNext(finder) определяет, содержит ли контейнер, который ищет поисковик, хотя бы одну диаграмму. Если контейнер имеет хотя бы одну диаграмму, hasNext метод ставит эту диаграмму в очередь в качестве следующей диаграммы, next метод вернется. hasNext затем метод возвращает true. Используйте next способ получения этой диаграммы. При последующих вызовах hasNext метод определяет, имеет ли контейнер диаграмму, next еще не получен. Он ставит диаграмму в очередь для next метод для извлечения и возврата true. Если больше нет диаграмм для извлечения, этот метод возвращает false. Для постепенного поиска в контейнере диаграмм используйте hasNext с помощью next метод в цикле while.
Примечание
Если текущий результат является последним результатом в очереди поиска для текущей диаграммы и AutoCloseModel свойство - trueэтот метод закрывает текущую диаграмму перед ее открытием. Хотя это увеличивает время поиска, это уменьшает потребление памяти при поиске диаграммы, которая ссылается на многие другие диаграммы. Если диаграмма не ссылается на многие другие диаграммы, для ускорения поиска установите AutoCloseModel свойство для false или используйте find способ.
result = next(result) возвращает следующий поиск result в очереди результатов, которая hasNext создан метод. Результат поиска содержит результирующую диаграмму. Добавление этого result объект в отчет или репортер добавляет репортер Схема для диаграммы.
Ручка. Сведения о том, как классы обработки влияют на операции копирования, см. в разделе Копирование объектов.
Создание отчета, включающего изображения всех диаграмм Stateflow в sldemo_fuelsys модель. Используйте отдельную главу для каждой диаграммы.
import mlreportgen.report.* import slreportgen.report.* import slreportgen.finder.* model_name = 'sldemo_fuelsys'; load_system(model_name); rpt = slreportgen.report.Report('output','pdf'); add(rpt, TitlePage('Title', sprintf('%s Charts',... model_name))); add(rpt, TableOfContents); chapter = Chapter('Root System'); add(chapter, Diagram(model_name)); add(rpt,chapter); chapter = Chapter('Charts'); finder = ChartDiagramFinder(model_name); results = find(finder); for result = results section = Section('Title',result.Name); add(section,result); add(chapter,section); end add(rpt, chapter); close(rpt); close_system(model_name); rptview(rpt);
slreportgen.finder.DiagramElementFinder | slreportgen.finder.DiagramFinder | slreportgen.finder.DiagramResult | slreportgen.finder.StateFinder | slreportgen.finder.StateflowDiagramElementFinder | slreportgen.report.Report | slreportgen.report.StateflowObjectProperties