CleanupVisitor
The `CleanupVisitor` is a class in the SOFA framework under the `sofa::simulation` namespace, inheriting from the `Visitor` class. Its primary role is to facilitate the cleanup process by traversing and cleaning up objects within the scene graph of a simulation. It ensures that objects are properly cleaned up, even if their removal affects the structure of the node list during the cleanup process. ### Interactions with Other Components: The `CleanupVisitor` interacts with nodes in the SOFA scene graph through methods such as `processNodeTopDown`, which is responsible for visiting each node and cleaning up objects within it. The method `processNodeBottomUp` exists but does not perform any actions in this implementation. ### Practical Usage Guidance: The component is typically used internally by the framework during cleanup phases of a simulation to ensure that all resources are properly released and no memory leaks occur. It iterates through each node and its objects, invoking their `cleanup()` method to finalize resource deallocation. The process ensures that modifications to the graph structure do not interfere with the cleaning sequence.
- abstract
- `CleanupVisitor` traverses the scene graph of a simulation to clean up objects, ensuring proper resource deallocation and preventing memory leaks.
- sheet
- # CleanupVisitor **Overview:** `CleanupVisitor` is a utility class under the `sofa::simulation` namespace that inherits from the `Visitor` class. Its primary role is to facilitate the cleanup process by traversing and cleaning up objects within the scene graph of a simulation, ensuring proper resource deallocation and preventing memory leaks.
- description
- The `CleanupVisitor` is a class in the SOFA framework under the `sofa::simulation` namespace, inheriting from the `Visitor` class. Its primary role is to facilitate the cleanup process by traversing and cleaning up objects within the scene graph of a simulation. It ensures that objects are properly cleaned up, even if their removal affects the structure of the node list during the cleanup process. ### Interactions with Other Components: The `CleanupVisitor` interacts with nodes in the SOFA scene graph through methods such as `processNodeTopDown`, which is responsible for visiting each node and cleaning up objects within it. The method `processNodeBottomUp` exists but does not perform any actions in this implementation. ### Practical Usage Guidance: The component is typically used internally by the framework during cleanup phases of a simulation to ensure that all resources are properly released and no memory leaks occur. It iterates through each node and its objects, invoking their `cleanup()` method to finalize resource deallocation. The process ensures that modifications to the graph structure do not interfere with the cleaning sequence.
- maths
- The `CleanupVisitor` is a class in the SOFA framework under the `sofa::simulation` namespace, inheriting from the `Visitor` class. Its primary role is to facilitate the cleanup process by traversing and cleaning up objects within the scene graph of a simulation. It ensures that objects are properly cleaned up, even if their removal affects the structure of the node list during the cleanup process. ### Governing Equations or Operators: - The `CleanupVisitor` does not contribute to any governing equations (e.g., mass matrix $M$, stiffness matrix $K$, internal force $f_{ ext{int}}$, residual $R$) directly. Instead, it ensures that objects within the scene graph are properly cleaned up and finalized. ### Constitutive or Kinematic Laws Involved: - The `CleanupVisitor` does not involve any constitutive or kinematic laws (e.g., strain measures, stress tensors, hyperelastic potentials, damping models). It is a utility class for managing the cleanup of objects within the scene graph. ### Role in the Global FEM Pipeline: - **Assembly:** Not applicable. - **Time Integration:** Not applicable. - **Nonlinear Solve:** Not applicable. - **Linear Solve:** Not applicable. - **Constraint Handling:** Not directly involved, but ensures that constraints and related objects are properly cleaned up. - **Mapping:** Not applicable. ### Numerical Methods or Discretization Choices: - The `CleanupVisitor` does not encode any specific numerical methods or discretization choices. It is a utility class for managing the cleanup process within the scene graph, ensuring that all resources are properly released and no memory leaks occur. ### Fit into the Broader Variational / Lagrangian Mechanics Framework: - The `CleanupVisitor` ensures that objects are cleaned up correctly at the end of a simulation. This is crucial for maintaining the integrity of the simulation framework but does not directly influence any variational or Lagrangian mechanics computations.
{
"name": "CleanupVisitor",
"main": {
"name": "CleanupVisitor",
"namespace": "sofa::simulation",
"module": "Sofa.framework.Simulation.Core",
"include": "sofa/simulation/CleanupVisitor.h",
"doc": "",
"inherits": [
"Visitor"
],
"templates": [],
"data_fields": [],
"links": [],
"methods": [
{
"name": "processNodeTopDown",
"return_type": "Result",
"params": [
{
"name": "node",
"type": "Node *"
}
],
"is_virtual": true,
"is_pure_virtual": false,
"is_static": false,
"access": "public"
},
{
"name": "processNodeBottomUp",
"return_type": "void",
"params": [
{
"name": "node",
"type": "Node *"
}
],
"is_virtual": true,
"is_pure_virtual": false,
"is_static": false,
"access": "public"
}
]
},
"desc": {
"description": "The `CleanupVisitor` is a class in the SOFA framework under the `sofa::simulation` namespace, inheriting from the `Visitor` class. Its primary role is to facilitate the cleanup process by traversing and cleaning up objects within the scene graph of a simulation. It ensures that objects are properly cleaned up, even if their removal affects the structure of the node list during the cleanup process.\n\n### Interactions with Other Components:\nThe `CleanupVisitor` interacts with nodes in the SOFA scene graph through methods such as `processNodeTopDown`, which is responsible for visiting each node and cleaning up objects within it. The method `processNodeBottomUp` exists but does not perform any actions in this implementation.\n\n### Practical Usage Guidance:\nThe component is typically used internally by the framework during cleanup phases of a simulation to ensure that all resources are properly released and no memory leaks occur. It iterates through each node and its objects, invoking their `cleanup()` method to finalize resource deallocation. The process ensures that modifications to the graph structure do not interfere with the cleaning sequence."
},
"maths": {
"maths": "The `CleanupVisitor` is a class in the SOFA framework under the `sofa::simulation` namespace, inheriting from the `Visitor` class. Its primary role is to facilitate the cleanup process by traversing and cleaning up objects within the scene graph of a simulation. It ensures that objects are properly cleaned up, even if their removal affects the structure of the node list during the cleanup process.\n\n### Governing Equations or Operators:\n- The `CleanupVisitor` does not contribute to any governing equations (e.g., mass matrix $M$, stiffness matrix $K$, internal force $f_{\text{int}}$, residual $R$) directly. Instead, it ensures that objects within the scene graph are properly cleaned up and finalized.\n\n### Constitutive or Kinematic Laws Involved:\n- The `CleanupVisitor` does not involve any constitutive or kinematic laws (e.g., strain measures, stress tensors, hyperelastic potentials, damping models). It is a utility class for managing the cleanup of objects within the scene graph.\n\n### Role in the Global FEM Pipeline:\n- **Assembly:** Not applicable.\n- **Time Integration:** Not applicable.\n- **Nonlinear Solve:** Not applicable.\n- **Linear Solve:** Not applicable.\n- **Constraint Handling:** Not directly involved, but ensures that constraints and related objects are properly cleaned up.\n- **Mapping:** Not applicable.\n\n### Numerical Methods or Discretization Choices:\n- The `CleanupVisitor` does not encode any specific numerical methods or discretization choices. It is a utility class for managing the cleanup process within the scene graph, ensuring that all resources are properly released and no memory leaks occur.\n\n### Fit into the Broader Variational / Lagrangian Mechanics Framework:\n- The `CleanupVisitor` ensures that objects are cleaned up correctly at the end of a simulation. This is crucial for maintaining the integrity of the simulation framework but does not directly influence any variational or Lagrangian mechanics computations."
},
"summary": {
"abstract": "`CleanupVisitor` traverses the scene graph of a simulation to clean up objects, ensuring proper resource deallocation and preventing memory leaks.",
"sheet": "# CleanupVisitor\n\n**Overview:**\n`CleanupVisitor` is a utility class under the `sofa::simulation` namespace that inherits from the `Visitor` class. Its primary role is to facilitate the cleanup process by traversing and cleaning up objects within the scene graph of a simulation, ensuring proper resource deallocation and preventing memory leaks."
}
}