slreportgen.report.ElementDiagram class

Package: slreportgen.report
Superclasses:

Element diagram snapshot and caption reporter

Description

Create a Simulink® or Stateflow® element diagram reporter. When added to a report, the ElementDiagram reporter creates a snapshot of an element. The reporter adds the snapshot to the report in the form of an image with a caption. Use the Source property to specify the desired element.

Note

To use an ElementDiagram reporter in a report, you must create the report using the slreportgen.report.Report class.

Construction

diagram = ElementDiagram() creates an empty element diagram reporter. Set its properties to capture a Simulink or Stateflow element snapshot.

diagram = ElementDiagram(source) creates a diagram reporter for an element of a block diagram or chart specified by source. Adding this reporter to a report creates a snapshot of the element's diagram and adds the snapshot, with a caption, to the report. The snapshot image file is stored in the report's temporary folder. When the report is closed, the image file is copied into the report and the temporary folder is deleted. To prevent the deletion, use the Debug property of the report. See mlreportgen.report.Report.

Input Arguments

expand all

See the Source property.

Properties

expand all

Source of a Simulink or Stateflow diagram element specified as a path string, handle, or object.

Note

Simulink.Port objects are not valid sources for this reporter.

Snapshot reporter, set by default to an object of the mlreportgen.report.FormalImage class. You do not need to set this property yourself. The FormalImage object adds the element diagram snapshot to a report. To control the size of the snapshot, set its mlreportgen.report.FormalImage properties.

Snapshot image format, specified as a string or character array. Supported formats are:

  • auto — Uses .svg format for HTML or PDF output. Uses .emf format for Word output on Windows. Uses .png for Word output on Unix or Mac.

  • .bmp — Bitmap image

  • .gif — Graphics Interchange format

  • .jpg — JPEG image

  • .png — PNG image

  • .emf — Enhanced metafile, supported only in DOCX output on Windows® platforms

  • .svg — Scalable Vector Graphics

  • .tif — Tag Image File format, not supported in HTML output

  • .pdf — PDF image

Options for scaling a diagram element image, specified as a string or character vector. Valid scaling options are:

  • auto — For PDF or Word (docx) output, auto scales the element image to fit on a page while maintaining its aspect ratio. First, the element image is scaled to the page width. If the image height exceeds the page height, the image is again scaled down. This additional scaling ensures that the image fits the current page with a 1" margin. The margin allows space for a caption. Scaling does not apply to HTML output.

  • custom — Sets the element image height and width to the values of this reporter's Height and Width properties.

  • zoom — Enlarges or reduces the element image size to the percent value specified by this reporter's Zoom property. To specify the maximum image height and maximum image width, use the MaxHeight and MaxWidth properties, respectively.

Note

A java.lang.OutOfMemoryError can occur when either of these combinations of property settings occur:

  • Scaling set to zoom, and Zoom, MaxHeight, and MaxWidth properties set to large values

  • Scaling set to custom, and Height and Width properties set to large values

To avoid this error, for zoom Scaling, use smaller Zoom, MaxHeight, and MaxWidth property values. For custom Scaling, use smaller Height and Width property values. Using smaller values ensures that the diagram fits on the page.

Height to set diagram element image, specified as a string. This property applies only if this reporter's Scaling property is set to custom.

The Height format is valueUnits, where Units is an abbreviation for the height units and value is the number of units. The table shows the valid Units abbreviations.

UnitsUnits Abbreviation
pixelspx
centimeterscm
inchesin
millimetersmm
picaspc
pointspt

Width to set diagram element image, specified as a string. This property applies only if this reporter's Scaling property is set to custom.

The Width format is valueUnits, where Units is an abbreviation for the height units and value is the number of units. See the Height property for a table of valid Units abbreviations.

Amount to zoom the diagram element image, specified as a string. The Zoom format is value%, where value is the percentage by which the diagram element image is enlarged or reduced.

Maximum height for zoom scaling, specified as a string. This property applies only if this reporter's Scaling property is set to zoom. The MaxHeight format is valueUnits, where Units is an abbreviation for the height units and value is the number of units. See this reporter's Height property for a table of valid Units abbreviations.

Maximum width for zoom scaling, specified as a string. This property applies only if this reporter's Scaling property is set to zoom. The MaxWidth format is valueUnits, where Units is an abbreviation for the height units and value is the number of units. See this reporter's Height property for a table of valid Units abbreviations.

Source of template for this reporter, specified as one of these values:

  • String or character array specifying the path of the file containing the template for this reporter

  • Reporter or report whose template is used as the template for this reporter or whose template library contains the template for this reporter

  • DOM document or document part whose template is used as the template for this reporter or whose template library contains the template for this reporter

The specified template must be of the same type as the report to which this reporter is appended. For example, for a Word report, TemplateSrc must be a Word reporter template. If the TemplateSrc property is empty, this reporter uses the default reporter template for the output type of the report.

Name of template for this reporter, specified as a string or character array. The template for this reporter is in the template library of the template source (TemplateSrc) for this reporter.

Hyperlink target for this reporter, specified as a string or character array that specifies the link target ID, or an mlreportgen.dom.LinkTarget object. A string or character array value is converted to a LinkTarget object. The link target object immediately precedes the content of this reporter in the output report.

Methods

createTemplate Create element diagram template
customizeReporter Create custom element diagram reporter class
getClassFolder Element diagram class definition file location
getSnapshotImage Element diagram snapshot image file location

Inherited Methods

getImplGet implementation of reporter

Copy Semantics

Handle. To learn how handle classes affect copy operations, see Copying Objects (MATLAB).

Examples

Add Element Diagram and Caption

import slreportgen.report.*
import mlreportgen.report.*

load_system('f14')

rpt = slreportgen.report.Report("output","pdf");
open(rpt)
chap = Chapter();
chap.Title = "Element Diagram Reporter Example";

diag = ElementDiagram("f14/Actuator Model");
diag.Snapshot.Caption = "f14 Simulink Model - Actuator Model block";

add(chap,diag)
add(rpt,chap)

close(rpt)
rptview(rpt)

Add Element Diagrams and Property Tables

load_system('f14')
modelsys = "f14/Aircraft Dynamics Model";

rpt = slreportgen.report.Report("output","pdf");
open(rpt)
chapter = mlreportgen.report.Chapter();
chapter.Title = "Element Snapshots";

diag = slreportgen.report.ElementDiagram(modelsys);
add (chapter,diag)

blkfinder = slreportgen.finder.BlockFinder(modelsys);
blks = find(blkfinder);
for blk = blks
   blkDiag = slreportgen.report.ElementDiagram...
       (blk.Object);
   blkDiag.Snapshot.Caption = strcat(blk.DiagramPath,...
       "/", blk.Name);
   add(chapter,blkDiag)   % Add diagram element image
   add(chapter,blk)       % Add property table
end

add(rpt,chapter)
close(rpt)
rptview(rpt)

Introduced in R2018b