Пакет: slreportgen.finder
Суперклассы:
Создайте объект средства поиска элемента диаграммы
Находит элементы в блоке Simulink® или схеме графика Stateflow®.
создает средство поиска, которое находит элементы схемы блока Simulink или диаграммы Stateflow. По умолчанию это средство поиска находит блоки, аннотации, строки, состояния и другие элементы в схеме. Используйте свойства средства поиска ограничить поиск к определенным типам элементов.finder
= DiagramElementFinder(diagram
)
Это средство поиска имеет два способа найти, что объекты — находят режим итератора и режим. В режиме находки используйте его метод find
, чтобы возвратить результаты поиска как массив результатов. Затем используйте цикл for, чтобы обработать результаты. В режиме итератора используйте его hasNext
и методы next
, чтобы возвратить результаты поиска по одному. Используя эти методы итератора, используйте некоторое время цикл, чтобы обработать результаты. Ни один из этих методов не имеет преимущество производительности перед другим, так используйте или режим в зависимости от того, предпочитаете ли вы в то время как или циклы for.
свойства наборов с помощью пар "имя-значение". Можно задать несколько аргументов пары "имя-значение" в любом порядке. Заключите каждое имя свойства в одинарные кавычки.finder
= DiagramElementFinder(Name,Value
)
находит элементы диаграммы в results
= find(finder)diagram
заданными средством поиска. Этот метод возвращает элементы диаграммы, которые он находит перенесенным в объекты результата типа slreportgen.finder.DiagramElementResult
. Чтобы добавить таблицы свойств элемента диаграммы, добавьте объекты результатов непосредственно в отчет или добавьте их в генератор отчетов, который вы затем добавляете в отчет. Отчеты, в которые можно добавить results
этого метода, должны быть отчетами типа slreportgen.report.Report
.
tf = hasNext(finder)
определяет, если схема, что поисковые запросы средства поиска содержат по крайней мере один элемент. Если схема имеет по крайней мере один элемент, очереди метода hasNext
, что элемент как следующий элемент, который возвратит метод next
. Метод hasNext
затем возвращает true
. Используйте метод next
, чтобы получить тот элемент. На последующих вызовах метод hasNext
определяет, имеет ли схема элемент, который еще не получил метод next
. Это ставит элемент в очередь для метода next
, чтобы получить и возвращает true
. Если больше нет элементов, существуют, чтобы быть полученным, этот метод возвращает false
. Чтобы прогрессивно искать схему элементы, используйте метод hasNext
с методом next
в цикле while
.
result = next(finder)
возвращает следующий поисковый result
в очереди результата, которую создал метод hasNext
. Этот метод возвращает элемент диаграммы, который он находит перенесенным в объект результата типа slreportgen.finder.DiagramElementResult
. Чтобы добавить таблицы свойств элемента диаграммы, добавьте объекты результатов непосредственно в отчет или добавьте их в генератор отчетов, который вы затем добавляете в отчет. Отчеты, в которые можно добавить results
этого метода, должны иметь тип slreportgen.report.Report
.
Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).
Найдите блок, аннотацию и элементы диаграммы строки на поисковую глубину 1 в модели f14
.
import mlreportgen.report.* import slreportgen.report.* import slreportgen.finder.* model_name = 'f14'; load_system(model_name); rpt = slreportgen.report.Report('output','pdf'); add(rpt, TitlePage("Title",sprintf('%s Model',... model_name))); add(rpt, TableOfContents); diagFinder = SystemDiagramFinder("Container", ... model_name,"SearchDepth",1); while hasNext(diagFinder) system = next(diagFinder); chapter = Chapter("Title",system.Name); add(chapter,system); sect = Section("Title","Diagram Elements"); elemFinder = DiagramElementFinder("Container", ... system.Object, "Types",... ["block" "annotation" "line"]); elems = find(elemFinder); for elem = elems add(sect, elem); end add(chapter, sect); add(rpt, chapter); end close(rpt); close_system(model_name); rptview(rpt);
slreportgen.finder.AnnotationFinder
| slreportgen.finder.BlockFinder
| slreportgen.finder.ChartDiagramFinder
| slreportgen.finder.DiagramElementResult
| slreportgen.finder.DiagramFinder
| slreportgen.finder.StateFinder
| slreportgen.finder.StateflowDiagramElementFinder
| slreportgen.finder.SystemDiagramFinder
| slreportgen.report.Diagram
| slreportgen.report.Report