Пакет: slreportgen.finder
Суперклассы:
Создайте средство поиска диаграммы Stateflow
Находит графики Stateflow®.
создает средство поиска, которое находит по умолчанию все непрокомментированные схемы диаграммы Stateflow в заданном finder = ChartDiagramFinder(container)container. Чтобы ограничить поиск к определенным типам схем, используйте свойства этого средства поиска.
Примечание
Это средство поиска может действовать или в найти или в режим итератора. В режиме находки используйте его find метод, чтобы возвратить результаты поиска как массив результатов. В режиме итератора используйте его hasNext и next методы, чтобы возвратить результаты поиска один за другим. При поиске в моделях, которые имеют много моделей - ссылок, используйте режим итератора. Режим Iterator закрывает модель после компиляции и поиска его, тогда как находят, что режим сохраняет все модели, которые это ищет открытый. Наличие многих открытых моделей может использовать всю системную память и замедлить генерацию отчета. Режим Iterator медленнее, чем находят режим, таким образом, использование находит, что режим ищет модели что ссылка немногие или никакие другие модели.
свойства наборов с помощью пар "имя-значение". Можно задать несколько аргументов пары "имя-значение" в любом порядке. Заключите каждое имя свойства в одинарные кавычки.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 метод в некоторое время цикле.
Примечание
Если текущим результатом является последний результат в поисковой очереди для текущей диаграммы и AutoCloseModel свойством является true, этот метод закрывает текущую диаграмму, прежде чем это откроет следующий график. Несмотря на то, что это увеличивает время поиска, оно уменьшает потребление памяти при поиске графика что ссылки много других графиков. Если ваш график не ссылается на многие другие графики, чтобы ускорить поиск, установите AutoCloseModel свойство к false или используйте find метод.
result = next(result) возвращает следующий поисковый result в очереди результата, что hasNext метод создается. Результат поиска содержит получившийся график. Добавление этого result возразите против отчета, или генератор отчетов добавляет генератор отчетов Схемы для графика.
Указатель. Чтобы узнать, как классы Handle влияют на операции копирования, см. раздел "Копирование объектов".
Создайте отчет, который включает изображения всех диаграмм 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