Пакет: 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