Пакет: slreportgen.finder
Суперклассы:
Найдите элементы диаграммы Stateflow
StateflowDiagramElementFinder
создает объект средства поиска, который находит элементы в схеме графика Stateflow®.
создает средство поиска, которое находит элементы схемы диаграммы Stateflow. По умолчанию это средство поиска находит состояния, переходы, таблицы истинности и другие элементы в заданной схеме диаграммы Stateflow. Используйте свойства средства поиска ограничить поиск к определенным типам элементов. finder
= StateflowDiagramElementFinder(diagram
)
Примечание
Это средство поиска обеспечивает два способа получить результаты поиска:
Чтобы возвратить результаты поиска как массив, используйте find
метод. Добавьте результаты непосредственно в отчет или обработайте результаты в a for
цикл.
Чтобы выполнить итерации через результаты по одному, используйте hasNext
и next
методы в a while
цикл.
Никакая опция не имеет преимущество эффективности.
свойства наборов с помощью пар "имя-значение". Можно задать несколько аргументов пары "имя-значение" в любом порядке. Заключите каждое имя свойства в одинарные кавычки.finder
= StateflowDiagramElementFinder(Name,Value
)
находит элементы диаграммы диаграммы Stateflow в 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
метод в некоторое время цикле.
result = next(finder)
возвращает следующий поисковый result
в очереди результата, что hasNext
метод создается. Этот метод возвращает элемент диаграммы графика, который он находит перенесенным в объект результата типа slreportgen.finder.DiagramElementResult
. Чтобы добавить таблицы свойств элемента диаграммы графика, добавьте объекты результатов непосредственно в отчет или добавьте их в генератор отчетов, который вы затем добавляете в отчет. Отчеты, в которые можно добавить results
из этого метода должен иметь тип slreportgen.report.Report
.
Указатель. Чтобы узнать, как классы 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) chartFinder = ChartDiagramFinder(model_name); while hasNext(chartFinder) chart = next(chartFinder); chapter = Chapter("Title",chart.Name); add(chapter, chart) sect = Section("Title","States"); stateFinder = StateFinder(chart.Object); states = find(stateFinder); for state = states add(sect,state) end add(chapter,sect) sect = Section("Title","Transitions"); transitionFinder = StateflowDiagramElementFinder... ('Container',chart.Object, 'Types', 'transition'); transitions = find(transitionFinder); for transition = transitions add(sect,transition) end add(chapter,sect) add(rpt, chapter) end close(rpt) close_system(model_name) rptview(rpt)
slreportgen.finder.AnnotationFinder
| slreportgen.finder.ChartDiagramFinder
| slreportgen.finder.DiagramElementResult
| slreportgen.finder.StateFinder
| slreportgen.report.Diagram
| slreportgen.report.Report
| slreportgen.report.StateflowObjectProperties