Пакет: slreportgen.finder
Суперклассы:
Найти элементы диаграммы потока состояний
StateflowDiagramElementFinder создает объект finder, который находит элементы в диаграмме 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 метод вернется. hasNext затем метод возвращает true. Используйте next способ получения этого элемента. При последующих вызовах hasNext метод определяет, имеет ли диаграмма элемент, который next метод еще не получен. Он ставит элемент в очередь для next метод для извлечения и возврата true. Если больше нет извлекаемых элементов, этот метод возвращает false. Для постепенного поиска элементов на диаграмме используйте hasNext с помощью next метод в цикле while.
result = next(finder) возвращает следующий поиск result в очереди результатов, которая hasNext создан метод. Этот метод возвращает элемент диаграммы, который он находит заключенным в результирующий объект типа slreportgen.finder.DiagramElementResult. Чтобы добавить таблицы свойств элемента диаграммы, добавьте объекты результатов непосредственно в отчет или добавьте их в репортер, который затем будет добавлен в отчет. Отчеты, к которым можно добавить results этого метода должен иметь тип slreportgen.report.Report.
Ручка. Сведения о том, как классы обработки влияют на операции копирования, см. в разделе Копирование объектов.
Создание отчета, который находит состояния и переходы 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