VisualManager
The `VisualManager` component manages visual aspects of simulation scenes in the SOFA framework by handling rendering operations and integrating with the scene graph structure.
- module
- Sofa.framework.Core
- namespace
- sofa::core::visual
- include
- sofa/core/visual/VisualManager.h
- inherits
-
- VisualModel
- description
The VisualManager class in the SOFA framework is primarily responsible for managing the visual aspects of simulation scenes. It does not contribute to the mathematical and physical equations that govern the deformable systems simulated using FEM. Instead, its role is centered around visualization operations within the scene graph architecture of SOFA.
Governing Equations or Operators:
- The VisualManager class does not implement any governing equations related to mass matrix $M$, stiffness matrix $K$, internal force $f_{int}$, residual $R$, or other FEM operators. Its primary function is to handle operations related to rendering visual elements of the simulation scene.
Constitutive or Kinematic Laws Involved:
- The VisualManager does not involve any constitutive laws (such as strain measures, stress tensors, hyperelastic potentials) or kinematic laws relevant to FEM simulations. It is purely a visualization component and operates independently of the physical simulation.
**Role in the Global FEM Pipeline: **
- Although it plays a significant role in the overall scene graph structure by managing visual elements (inserting and removing them from nodes), VisualManager does not directly participate in the assembly phase, time integration, nonlinear solve, linear solve, constraint handling, or mapping operations associated with the FEM pipeline.
Numerical Methods or Discretization Choices Encoded:
- There are no numerical methods or discretization choices encoded within the VisualManager. It is not involved in any of the numerical aspects of the simulation. Its primary role is to facilitate custom drawing logic and ensure proper integration with the scene graph structure.
Fit into Broader Variational / Lagrangian Mechanics Framework:
- The VisualManager does not contribute directly to the variational or Lagrangian mechanics framework underlying FEM simulations in SOFA. Its purpose is solely related to visualization, ensuring that visual elements are correctly rendered and managed within the scene.
In summary, the VisualManager component is a purely visual management tool that interfaces with the SOFA framework's scene graph for rendering purposes but does not contribute any mathematical or physical content relevant to FEM simulations.
Methods
const VisualManager *
toVisualManager
()
virtual
void
preDrawScene
(VisualParams * )
virtual
void
postDrawScene
(VisualParams * )
virtual
bool
drawScene
(VisualParams * )
virtual
bool
insertInNode
(objectmodel::BaseNode * node)
virtual
bool
removeInNode
(objectmodel::BaseNode * node)
virtual
{
"name": "VisualManager",
"namespace": "sofa::core::visual",
"module": "Sofa.framework.Core",
"include": "sofa/core/visual/VisualManager.h",
"doc": "",
"inherits": [
"VisualModel"
],
"templates": [],
"data_fields": [],
"links": [],
"methods": [
{
"name": "toVisualManager",
"return_type": "const VisualManager *",
"params": [],
"is_virtual": true,
"is_pure_virtual": false,
"is_static": false,
"access": "public"
},
{
"name": "preDrawScene",
"return_type": "void",
"params": [
{
"name": "",
"type": "VisualParams *"
}
],
"is_virtual": true,
"is_pure_virtual": false,
"is_static": false,
"access": "public"
},
{
"name": "postDrawScene",
"return_type": "void",
"params": [
{
"name": "",
"type": "VisualParams *"
}
],
"is_virtual": true,
"is_pure_virtual": false,
"is_static": false,
"access": "public"
},
{
"name": "drawScene",
"return_type": "bool",
"params": [
{
"name": "",
"type": "VisualParams *"
}
],
"is_virtual": true,
"is_pure_virtual": false,
"is_static": false,
"access": "public"
},
{
"name": "insertInNode",
"return_type": "bool",
"params": [
{
"name": "node",
"type": "objectmodel::BaseNode *"
}
],
"is_virtual": true,
"is_pure_virtual": false,
"is_static": false,
"access": "public"
},
{
"name": "removeInNode",
"return_type": "bool",
"params": [
{
"name": "node",
"type": "objectmodel::BaseNode *"
}
],
"is_virtual": true,
"is_pure_virtual": false,
"is_static": false,
"access": "public"
}
],
"description": "The `VisualManager` class in the SOFA framework is responsible for managing visual aspects of simulation scenes. It inherits from `VisualModel`, indicating its role within the visualization pipeline. The primary purpose of `VisualManager` is to handle operations related to rendering and managing visual objects, ensuring proper integration with the scene graph structure.\n\nThe component provides virtual methods like `preDrawScene`, `postDrawScene`, and `drawScene` that are called before, after, and during rendering operations, respectively. These methods facilitate custom drawing logic for specific visual elements within a simulation scene. The `insertInNode` and `removeInNode` methods manage the addition and removal of `VisualManager` instances in the node hierarchy, which is crucial for dynamic management of visualization components.\n\nPractically, `VisualManager` interacts with other SOFA components such as nodes (`BaseNode`) to insert or remove visual elements from the scene. Additionally, it works with `VisualParams`, which likely encapsulates parameters and settings related to rendering operations.",
"maths": "The `VisualManager` class in the SOFA framework is primarily responsible for managing the visual aspects of simulation scenes. It does not contribute to the mathematical and physical equations that govern the deformable systems simulated using FEM. Instead, its role is centered around visualization operations within the scene graph architecture of SOFA.\n\n**Governing Equations or Operators:**\n- The `VisualManager` class does not implement any governing equations related to mass matrix $M$, stiffness matrix $K$, internal force $f_{int}$, residual $R$, or other FEM operators. Its primary function is to handle operations related to rendering visual elements of the simulation scene.\n\n**Constitutive or Kinematic Laws Involved:**\n- The `VisualManager` does not involve any constitutive laws (such as strain measures, stress tensors, hyperelastic potentials) or kinematic laws relevant to FEM simulations. It is purely a visualization component and operates independently of the physical simulation.\n\n**Role in the Global FEM Pipeline: **\n- Although it plays a significant role in the overall scene graph structure by managing visual elements (inserting and removing them from nodes), `VisualManager` does not directly participate in the assembly phase, time integration, nonlinear solve, linear solve, constraint handling, or mapping operations associated with the FEM pipeline.\n\n**Numerical Methods or Discretization Choices Encoded:**\n- There are no numerical methods or discretization choices encoded within the `VisualManager`. It is not involved in any of the numerical aspects of the simulation. Its primary role is to facilitate custom drawing logic and ensure proper integration with the scene graph structure.\n\n**Fit into Broader Variational / Lagrangian Mechanics Framework:**\n- The `VisualManager` does not contribute directly to the variational or Lagrangian mechanics framework underlying FEM simulations in SOFA. Its purpose is solely related to visualization, ensuring that visual elements are correctly rendered and managed within the scene.\n\nIn summary, the `VisualManager` component is a purely visual management tool that interfaces with the SOFA framework's scene graph for rendering purposes but does not contribute any mathematical or physical content relevant to FEM simulations.",
"abstract": "The `VisualManager` component manages visual aspects of simulation scenes in the SOFA framework by handling rendering operations and integrating with the scene graph structure.",
"sheet": "# VisualManager\n\n## Overview\nThe `VisualManager` class is responsible for managing the visual aspects of simulation scenes within the SOFA framework. It inherits from `VisualModel`, indicating its role within the visualization pipeline. The primary purpose of `VisualManager` is to handle operations related to rendering and managing visual objects, ensuring proper integration with the scene graph structure.\n\n## Parameters and Data\nThe `VisualManager` does not expose any significant data fields or parameters as it primarily handles rendering operations through virtual methods such as `preDrawScene`, `postDrawScene`, and `drawScene`. These methods facilitate custom drawing logic for specific visual elements within a simulation scene.\n\n## Dependencies and Connections\nThe `VisualManager` interacts with other SOFA components, particularly nodes (`BaseNode`), to insert or remove visual elements from the scene. Additionally, it works with `VisualParams`, which likely encapsulates parameters and settings related to rendering operations.\n\n## Practical Notes\nWhile `VisualManager` is a crucial component for managing visualization within the SOFA framework, its primary role is purely visual management and does not contribute any mathematical or physical content relevant to FEM simulations. It ensures that visual elements are correctly rendered and managed within the scene."
}