Пакет: slreportgen.finder
Суперклассы:
Поиск состояний Stateflow
Находит Stateflow® состояния.
создает средство поиска, которое по умолчанию находит все незащищенные состояния Stateflow на указанном графике finder = StateFinder(diagram)diagram. Чтобы ограничить поиск определенными типами графика схем, используйте свойства этого искателя.
Примечание
Этот поисковик предоставляет два способа получить результаты поиска:
Чтобы вернуть результаты поиска в виде массива, используйте find способ. Добавьте результаты непосредственно к отчету или обработайте результаты в for цикл.
Чтобы повторить результаты по одному, используйте hasNext и next методы в while цикл.
Опция не имеет преимущества эффективности.
устанавливает свойства с помощью пар "имя-значение". Можно задать несколько аргументы пары "имя-значение" в любом порядке. Заключайте каждое имя свойства в одинарные кавычки.finder = StateFinder(Name,Value)
находит состояния на графике 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 в shift_logic график slrgex_sf_car модель.
import mlreportgen.report.* import slreportgen.report.* import slreportgen.finder.* model_name = "slrgex_sf_car"; load_system(model_name); rpt = slreportgen.report.Report("output","pdf"); open(rpt) add(rpt, TitlePage("Title",... sprintf('States in %s Model',model_name))); add(rpt, TableOfContents); chartFinder = ChartDiagramFinder(model_name); charts = find(chartFinder); while hasNext(chartFinder) diagram = next(chartFinder); stFinder = StateFinder(diagram.Object); states = find(stFinder); if ~isempty(states) chapter = Chapter("Title",diagram.Name); add(chapter,diagram) for state = states sect = Section("Title","States"); add(sect,states) end add(chapter,sect) add(rpt,chapter) end end close(rpt) close_system(model_name) rptview(rpt)
slreportgen.finder.ChartDiagramFinder | slreportgen.finder.DiagramElementFinder | slreportgen.finder.DiagramElementResult | slreportgen.finder.StateflowDiagramElementFinder | slreportgen.report.Report | slreportgen.report.StateflowObjectProperties