Пакет: slreportgen.finder
Суперклассы:
Элементы схемы поиска Stateflow
StateflowDiagramElementFinder
создает объект поиска, который находит элементы в Stateflow® график.
создает средство поиска, которое находит элементы массива диаграммы Stateflow. По умолчанию этот искатель находит состояния, переходы, таблицы истинности и другие элементы в указанной схеме диаграммы Stateflow. Используйте свойства искателя, чтобы ограничить поиск определенными типами элементов. finder
= StateflowDiagramElementFinder(diagram
)
Примечание
Этот поисковик предоставляет два способа получить результаты поиска:
Чтобы вернуть результаты поиска в виде массива, используйте find
способ. Добавьте результаты непосредственно к отчету или обработайте результаты в for
цикл.
Чтобы повторить результаты по одному, используйте hasNext
и next
методы в while
цикл.
Опция не имеет преимущества эффективности.
устанавливает свойства с помощью пар "имя-значение". Можно задать несколько аргументы пары "имя-значение" в любом порядке. Заключайте каждое имя свойства в одинарные кавычки.finder
= StateflowDiagramElementFinder(Name,Value
)
находит элементы диаграммы Stateflow в results
= find(finder)diagram
определяется поиском. Этот метод возвращает элементы графика схемы, которые он находит завернутыми в объекты результата типа slreportgen.finder.DiagramElementResult
. Чтобы добавить таблицы свойств элемента графика схемы, добавьте объекты результатов непосредственно к отчету или добавьте их к репортеру, который вы затем добавили к отчету. Отчеты, в которые можно добавить results
этого метода должны быть отчеты типа slreportgen.report.Report
.
tf = hasNext(finder)
определяет, содержит ли схема графика, которую ищет поисковик, по крайней мере, один элемент. Если график схема имеет по крайней мере один элемент, hasNext
метод ставит этот элемент в очередь как следующий элемент, который next
метод вернется. The hasNext
затем метод возвращает true
. Используйте next
способ получения этого элемента. При последующих вызовах hasNext
метод определяет, имеет ли схема графика элемент, который next
метод еще не получен. Он ставит элемент в очередь для next
метод для извлечения и возвратов true
. Если больше нет элементов, которые нужно извлечь, этот метод возвращается false
. Чтобы постепенно искать график схему для элементов, используйте hasNext
метод с next
метод в цикле while.
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