Main Content

Stateflow.AtomicBox

Atomic box in chart, state, box, or function

    Description

    Use Stateflow.AtomicBox objects to encapsulate graphical, truth table, MATLAB®, and Simulink® functions in a separate namespace. Atomic boxes allow for:

    • Faster simulation after making small changes to a function in a chart with many states or levels of hierarchy

    • Reuse of the same functions across multiple charts and models

    • Ease of team development for people working on different parts of the same chart

    • Manual inspection of generated code for a specific function in a chart

    For more information, see Reuse Functions by Using Atomic Boxes.

    Creation

    Description

    atomicBox = Stateflow.AtomicBox(parent) creates a Stateflow.AtomicBox object in a parent chart, state, box, or graphical function.

    example

    Input Arguments

    expand all

    Parent for the new atomic box, specified as a Stateflow® API object of one of these types:

    Properties

    expand all

    Stateflow API objects have properties that correspond to the values you set in the Stateflow Editor. To access or modify a property, use dot notation. To access or modify multiple properties for multiple API objects, use the get and set functions, respectively. For more information, see Modify Properties and Call Functions of Stateflow Objects.

    Content

    Name of the atomic box, specified as a string scalar or character vector.

    Label for the atomic box, specified as a string scalar or character vector.

    This property is read-only.

    Whether the atomic box is a library link, specified as a numeric or logical 1 (true) or 0 (false).

    Whether to comment out the atomic box, specified as a numeric or logical 1 (true) or 0 (false). Setting this property to true is equivalent to right-clicking the atomic box and selecting Comment Out. For more information, see Comment Out Objects in a Stateflow Chart.

    This property is read-only.

    Whether the atomic box is implicitly commented out, specified as a numeric or logical 1 (true) or 0 (false). The atomic box is implicitly commented out when you explicitly comment out an object that contains it. If the atomic box is contained in an atomic subchart or another atomic box, this property is false unless the explicitly commented object is also contained in the atomic subchart or atomic box.

    Since R2023a

    This property is read-only.

    Whether the atomic box is commented out, specified as a numeric or logical 1 (true) or 0 (false). This property is true when either IsExplicitlyCommented or IsImplicitlyCommented is true.

    Comment text for the atomic box, specified as a string scalar or character vector. This property applies only when the IsExplicitlyCommented property is true. In the Stateflow Editor, when you point to the comment badge on the atomic box, the text appears as a tooltip. When you set the IsExplicitlyCommented property to false, the value of CommentText reverts to "".

    Graphical Appearance

    Position and size of the atomic box, specified as a four-element numeric vector of the form [left top width height].

    This property is read-only.

    Whether the atomic box graphically intersects a box, state, or function, specified as a numeric or logical 1 (true) or 0 (false).

    Whether to display a preview of the atomic box contents, specified as a numeric or logical 1 (true) or 0 (false).

    Font size for the atomic box label, specified as a scalar. The StateFont.Size property of the chart that contains the atomic box sets the initial value of this property.

    Hierarchy

    This property is read-only.

    Chart that contains the atomic box, specified as a Stateflow.Chart object.

    This property is read-only.

    Contents of the atomic box, specified as a Stateflow.Chart object. Use this object to add children, such as states and transitions, to the atomic box.

    This property is read-only.

    Subviewer for the atomic box, specified as a Stateflow.Chart, Stateflow.State, Stateflow.Box, or Stateflow.Function object. The subviewer is the chart or subchart where you can graphically view the atomic box.

    This property is read-only.

    Machine that contains the atomic box, specified as a Stateflow.Machine object.

    This property is read-only.

    Location of the parent of the atomic box in the model hierarchy, specified as a character vector.

    Identification

    Description for the atomic box, specified as a string scalar or character vector.

    Document link for the atomic box, specified as a string scalar or character vector.

    User-defined tag for the atomic box, specified as data of any type.

    This property is read-only.

    Session-independent identifier, specified as an integer scalar. Use this property to distinguish the atomic box from other objects in its parent chart.

    This property is read-only.

    Unique identifier, specified as an integer scalar. Unlike SSIdNumber, the value of this property is reassigned every time you start a new MATLAB session and may be recycled after an object is deleted.

    Object Functions

    getParentIdentify parent of object
    getReferencesIdentify references to symbol name
    renameReferencesRename symbol and update references to symbol name
    commentedByIdentify objects that implicitly comment out a graphical object
    getMappingForSymbolGet mapping for symbol in atomic subchart, atomic box, or Simulink based state
    setMappingForSymbolSet mapping for symbol in atomic subchart, atomic box, or Simulink based state
    clearMappingForSymbolClear mapping for symbol in atomic subchart, atomic box, or Simulink based state
    disableMappingForSymbolDisable input event in atomic subchart or box
    dialogOpen properties dialog box
    viewDisplay object in editing environment
    highlightHighlight graphical object
    fitToViewZoom in on graphical object

    Examples

    collapse all

    Add an atomic box in the chart ch. Set its name to A.

    atomicBox = Stateflow.AtomicBox(ch);
    atomicBox.Name = "A";

    Version History

    Introduced in R2012b

    expand all