Back

DAGSimulation

The `DAGSimulation` class is the main controller of the scene in the SOFA framework, derived from the `BaseObject`. It defines how the scene initializes at the start and updates at each time step, facilitating easy parameter editing through the GUI. This component interacts with other components by creating new nodes and graphs (trees) within the simulation environment. It inherits from the `Simulation` class and includes methods to create new graph nodes (`createNewGraph`) and individual nodes (`createNewNode`). It also checks if the simulation can handle directed acyclic graphs through the method `isDirectedAcyclicGraph`, which returns true for this implementation. The component does not have specific data fields or links, focusing primarily on the structural management of the scene's nodes and their interactions.

abstract
`DAGSimulation` controls the scene's initialization and updates nodes at each time step, ensuring proper management of nodes within a directed acyclic graph structure.
sheet
# DAGSimulation ## Overview The `DAGSimulation` component is the main controller for the SOFA simulation scene. It manages how the scene initializes at the start and updates at each time step by creating new nodes and graphs (trees) within a directed acyclic graph (DAG) structure. This component inherits from the `Simulation` class, facilitating easy parameter editing through the GUI. ## Dependencies and Connections The `DAGSimulation` interacts with other components to create new nodes (`createNewNode`) and graphs (`createNewGraph`). It ensures that the simulation environment maintains a directed acyclic graph structure by checking if the current setup is valid using the method `isDirectedAcyclicGraph`. This component does not have specific data fields or links, focusing primarily on structural management within the scene.
description
The `DAGSimulation` class is the main controller of the scene in the SOFA framework, derived from the `BaseObject`. It defines how the scene initializes at the start and updates at each time step, facilitating easy parameter editing through the GUI. This component interacts with other components by creating new nodes and graphs (trees) within the simulation environment. It inherits from the `Simulation` class and includes methods to create new graph nodes (`createNewGraph`) and individual nodes (`createNewNode`). It also checks if the simulation can handle directed acyclic graphs through the method `isDirectedAcyclicGraph`, which returns true for this implementation. The component does not have specific data fields or links, focusing primarily on the structural management of the scene's nodes and their interactions.
maths
The `DAGSimulation` class serves as the main controller for the scene in the SOFA framework. It defines how the simulation initializes at the beginning and updates at each time step, enabling easy parameter editing through a graphical user interface (GUI). This component does not directly involve any mathematical or physical models but instead focuses on managing the structural aspects of the scene's nodes and their interactions within a directed acyclic graph (DAG) structure. Specifically, it provides methods to create new graph nodes (`createNewGraph`) and individual nodes (`createNewNode`). The method `isDirectedAcyclicGraph` returns true, indicating that this implementation supports simulations within a DAG framework. Thus, while `DAGSimulation` does not encode any constitutive or kinematic laws, internal forces, residuals, numerical methods, or discretization choices directly, it plays a critical role in the overall simulation pipeline by ensuring proper initialization and updating of the scene's nodes in a structured manner.
{
  "name": "DAGSimulation",
  "main": {
    "name": "DAGSimulation",
    "namespace": "sofa::simulation::graph",
    "module": "Sofa.framework.Simulation.Graph",
    "include": "sofa/simulation/graph/DAGSimulation.h",
    "doc": "Main controller of the scene.\nDefines how the scene is inited at the beginning, and updated at each time step.\nDerives from BaseObject in order to model the parameters as Datas, which makes their edition easy in the GUI.",
    "inherits": [
      "Simulation"
    ],
    "templates": [],
    "data_fields": [],
    "links": [],
    "methods": [
      {
        "name": "createNewGraph",
        "return_type": "NodeSPtr",
        "params": [
          {
            "name": "name",
            "type": "const int &"
          }
        ],
        "is_virtual": true,
        "is_pure_virtual": false,
        "is_static": false,
        "access": "public"
      },
      {
        "name": "createNewNode",
        "return_type": "NodeSPtr",
        "params": [
          {
            "name": "name",
            "type": "const int &"
          }
        ],
        "is_virtual": true,
        "is_pure_virtual": false,
        "is_static": false,
        "access": "public"
      },
      {
        "name": "isDirectedAcyclicGraph",
        "return_type": "bool",
        "params": [],
        "is_virtual": true,
        "is_pure_virtual": false,
        "is_static": false,
        "access": "public"
      }
    ]
  },
  "desc": {
    "description": "The `DAGSimulation` class is the main controller of the scene in the SOFA framework, derived from the `BaseObject`. It defines how the scene initializes at the start and updates at each time step, facilitating easy parameter editing through the GUI. This component interacts with other components by creating new nodes and graphs (trees) within the simulation environment.\n\nIt inherits from the `Simulation` class and includes methods to create new graph nodes (`createNewGraph`) and individual nodes (`createNewNode`). It also checks if the simulation can handle directed acyclic graphs through the method `isDirectedAcyclicGraph`, which returns true for this implementation. The component does not have specific data fields or links, focusing primarily on the structural management of the scene's nodes and their interactions."
  },
  "maths": {
    "maths": "The `DAGSimulation` class serves as the main controller for the scene in the SOFA framework. It defines how the simulation initializes at the beginning and updates at each time step, enabling easy parameter editing through a graphical user interface (GUI). This component does not directly involve any mathematical or physical models but instead focuses on managing the structural aspects of the scene's nodes and their interactions within a directed acyclic graph (DAG) structure. Specifically, it provides methods to create new graph nodes (`createNewGraph`) and individual nodes (`createNewNode`). The method `isDirectedAcyclicGraph` returns true, indicating that this implementation supports simulations within a DAG framework. Thus, while `DAGSimulation` does not encode any constitutive or kinematic laws, internal forces, residuals, numerical methods, or discretization choices directly, it plays a critical role in the overall simulation pipeline by ensuring proper initialization and updating of the scene's nodes in a structured manner."
  },
  "summary": {
    "abstract": "`DAGSimulation` controls the scene's initialization and updates nodes at each time step, ensuring proper management of nodes within a directed acyclic graph structure.",
    "sheet": "\n# DAGSimulation\n\n## Overview\n\nThe `DAGSimulation` component is the main controller for the SOFA simulation scene. It manages how the scene initializes at the start and updates at each time step by creating new nodes and graphs (trees) within a directed acyclic graph (DAG) structure. This component inherits from the `Simulation` class, facilitating easy parameter editing through the GUI.\n\n## Dependencies and Connections\n\nThe `DAGSimulation` interacts with other components to create new nodes (`createNewNode`) and graphs (`createNewGraph`). It ensures that the simulation environment maintains a directed acyclic graph structure by checking if the current setup is valid using the method `isDirectedAcyclicGraph`. This component does not have specific data fields or links, focusing primarily on structural management within the scene."
  }
}