Package: slreportgen.finder
Superclasses:
Create block diagram finder
Create Simulink® block diagram finder.
creates a finder that finds by default all uncommented Simulink block diagrams in the specified container, which can be a Simulink model or subsystem. To constrain the search to specific types of models or
subsystems, use the properties of the finder. finder
= SystemDiagramFinder(container
)
This finder can operate in either find or iterator mode. In find mode, use its find
method to return the results of a search as an array of results. In iterator mode, use its hasNext
and next
methods to return the results of a search one-by-one. When searching in models that have many model references, use iterator mode. Iterator mode closes a model after compiling and searching it, whereas find mode keeps all the models that it searches open. Having many open models can consume all system memory and slow report generation. Iterator mode is slower than find mode, so use find mode to search models that reference few or no other models.
sets properties using name-value pairs. You can specify multiple name-value pair
arguments in any order. Enclose each property name in single quotes.finder
= SystemDiagramFinder(Name,Value
)
results = find(finder)
finds block diagrams in the
container
specified by the finder. The
finder
is an
slreportgen.finder.SystemDiagramFinder
object.
results
is an array of
slreportgen.finder.DiagramResult
objects, each of which contains a
block diagram found by this method. Adding the array to a report or reporter adds images
of all the block diagrams it contains. The reports to which you can add the
results
of this method are reports of type
slreportgen.report.Report
or another reporter object, such as an
slreportgen.report.Chapter
reporter.
tf = hasNext(finder)
determines if the container that the finder
searches contains at least one diagram. If the container has at least one diagram, the
hasNext
method queues that diagram as the next diagram that the
next
method will return. The hasNext
method then
returns true
. Use the next
method to obtain that
diagram. On subsequent calls, the hasNext
method determines if the
container has a diagram that the next
has not yet retrieved. It queues
the diagram for the next
method to retrieve and returns
true
. If there are no more diagrams to be retrieved, this method
returns false
. To search a container progressively for diagrams, use
the hasNext
method with the next
method in a while loop.
If the current result is the last result in the search queue for the current
model and the AutoCloseModel
property is
true
, this method closes the current model before it
opens the next model. Although this increases search time, it reduces memory
consumption when searching a top model that references many other models. If
your model does not reference many other models, to speed up the search, set the
AutoCloseModel
property to false
or
use the find
method.
result = next(finder)
returns the next search
result
in the result queue that the hasNext
method created. The search result contains the resulting diagram. Adding this
result
object to a report or reporter adds a Diagram reporter
for the diagram.
Handle. To learn how handle classes affect copy operations, see Copying Objects (MATLAB).
Create a report that finds block diagrams in the sf_car
model.
import mlreportgen.report.* import slreportgen.report.* import slreportgen.finder.* model_name = 'sf_car'; load_system(model_name); rpt = slreportgen.report.Report('output','pdf'); add(rpt, TitlePage('Title', sprintf('%s Systems',... model_name))); add(rpt,TableOfContents); finder = SystemDiagramFinder(model_name); results = find(finder); for result = results chapter = Chapter('Title',result.Name); add(chapter,result); add(rpt,chapter); end close(rpt); close_system(model_name); rptview(rpt);
slreportgen.finder.DiagramElementFinder
| slreportgen.finder.DiagramFinder
| slreportgen.finder.DiagramResult
| slreportgen.report.Diagram
| slreportgen.report.Report
| slreportgen.report.SimulinkObjectProperties