Back

SceneCheck

sofa::simulation::SceneCheck
Abstract (AI generated)

`SceneCheck` is an abstract base class for performing validations on SOFA's scene graph nodes to ensure configuration integrity before simulations.

Metadata
module
Sofa.framework.Simulation.Core
namespace
sofa::simulation
include
sofa/simulation/SceneCheck.h
description

The SceneCheck class in the SOFA framework does not directly implement any governing equations or operators such as mass matrix $M$, stiffness matrix $K$, internal force $f_{int}$, residual $R$, etc. It is an abstract base class designed for scene graph validation and integrity checks before simulations begin.

Role in the Global FEM Pipeline

  • Assembly: SceneCheck does not directly participate in assembling global mass or stiffness matrices, internal forces, constraints, mappings, or other operators required by the FEM pipeline.
  • Time Integration: The class is not involved in time integration schemes such as implicit Euler, Newmark-type methods, or any other form of dynamic simulation.
  • Nonlinear Solve / Linear Solve: SceneCheck does not contribute to solving nonlinear systems or linear algebra problems inherent to the FEM process.

Numerical Methods and Discretization Choices

The class is devoid of numerical methods or discretization schemes. It primarily serves as a structural element in the SOFA framework, designed for scene graph validation through derived classes that must implement specific behaviors.

Variational / Lagrangian Mechanics Framework

SceneCheck does not have any direct contribution to variational principles or Lagrangian mechanics. Its purpose is more focused on ensuring the correctness and integrity of scene configurations before they are used in simulations, rather than playing a role in the mathematical formulation of deformable systems.

Summary

The SceneCheck class provides an abstract interface for performing validations and checks on the SOFA scene graph. It does not directly implement any mathematical or physical equations related to FEM simulation but serves as a foundational component for ensuring proper configuration before simulations are executed.

Methods
const int getName ()
const int getDesc ()
void init (sofa::simulation::Node * node, simulation::SceneLoader * sceneLoader) virtual
void checkOn (sofa::simulation::Node * node, simulation::SceneLoader * sceneLoader) virtual
void printSummary (simulation::SceneLoader * sceneLoader) virtual
void doInit (sofa::simulation::Node * node) virtual
void doCheckOn (sofa::simulation::Node * node) virtual
void doPrintSummary () virtual
{
  "name": "SceneCheck",
  "namespace": "sofa::simulation",
  "module": "Sofa.framework.Simulation.Core",
  "include": "sofa/simulation/SceneCheck.h",
  "doc": "",
  "inherits": [],
  "templates": [],
  "data_fields": [],
  "links": [],
  "methods": [
    {
      "name": "getName",
      "return_type": "const int",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "getDesc",
      "return_type": "const int",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "init",
      "return_type": "void",
      "params": [
        {
          "name": "node",
          "type": "sofa::simulation::Node *"
        },
        {
          "name": "sceneLoader",
          "type": "simulation::SceneLoader *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "checkOn",
      "return_type": "void",
      "params": [
        {
          "name": "node",
          "type": "sofa::simulation::Node *"
        },
        {
          "name": "sceneLoader",
          "type": "simulation::SceneLoader *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "printSummary",
      "return_type": "void",
      "params": [
        {
          "name": "sceneLoader",
          "type": "simulation::SceneLoader *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "doInit",
      "return_type": "void",
      "params": [
        {
          "name": "node",
          "type": "sofa::simulation::Node *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "doCheckOn",
      "return_type": "void",
      "params": [
        {
          "name": "node",
          "type": "sofa::simulation::Node *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": true,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "doPrintSummary",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    }
  ],
  "description": "The `SceneCheck` class in the SOFA framework is designed to perform checks and validations on a scene graph represented by nodes (`sofa::simulation::Node`). It serves as an abstract base class that must be inherited from to implement specific validation logic for scenes loaded via `SceneLoader`. The component provides methods for initialization (`init`), performing checks (`checkOn`), and printing summaries of the results (`printSummary`). Each method has a corresponding virtual or pure virtual method (e.g., `doInit`, `doCheckOn`, `doPrintSummary`) that must be implemented by derived classes to define specific behaviors. The `SceneCheck` class is used to ensure the integrity and correctness of scene configurations before simulations begin.",
  "maths": "The `SceneCheck` class in the SOFA framework does not directly implement any governing equations or operators such as mass matrix \\(M\\), stiffness matrix \\(K\\), internal force \\(f_{int}\\), residual \\(R\\), etc. It is an abstract base class designed for scene graph validation and integrity checks before simulations begin.\n\n### Role in the Global FEM Pipeline\n- **Assembly**: `SceneCheck` does not directly participate in assembling global mass or stiffness matrices, internal forces, constraints, mappings, or other operators required by the FEM pipeline. \n- **Time Integration**: The class is not involved in time integration schemes such as implicit Euler, Newmark-type methods, or any other form of dynamic simulation.\n- **Nonlinear Solve / Linear Solve**: `SceneCheck` does not contribute to solving nonlinear systems or linear algebra problems inherent to the FEM process. \n\n### Numerical Methods and Discretization Choices\nThe class is devoid of numerical methods or discretization schemes. It primarily serves as a structural element in the SOFA framework, designed for scene graph validation through derived classes that must implement specific behaviors.\n\n### Variational / Lagrangian Mechanics Framework\n`SceneCheck` does not have any direct contribution to variational principles or Lagrangian mechanics. Its purpose is more focused on ensuring the correctness and integrity of scene configurations before they are used in simulations, rather than playing a role in the mathematical formulation of deformable systems.\n\n### Summary\nThe `SceneCheck` class provides an abstract interface for performing validations and checks on the SOFA scene graph. It does not directly implement any mathematical or physical equations related to FEM simulation but serves as a foundational component for ensuring proper configuration before simulations are executed.",
  "abstract": "`SceneCheck` is an abstract base class for performing validations on SOFA's scene graph nodes to ensure configuration integrity before simulations.",
  "sheet": "# SceneCheck\n\n## Overview\nThe `SceneCheck` class serves as an abstract base class in the SOFA framework, designed to validate and check the integrity of scene configurations represented by nodes (`sofa::simulation::Node`). It ensures that scenes loaded via `SceneLoader` are correctly configured before simulations begin. Derived classes must implement specific validation logic through methods such as `doInit`, `doCheckOn`, and `doPrintSummary`.\n\n## Parameters and Data\nThe `SceneCheck` class does not expose any significant data fields or parameters. Its functionality is primarily driven by the virtual methods that need to be implemented in derived classes."
}