Back

BaseTopologyObject

The `BaseTopologyObject` is a core class in the SOFA framework, residing within the `sofa::core::topology` namespace and defined in the `Sofa.framework.Core` module. It inherits from `BaseObject`, which indicates its fundamental role in representing topological data structures essential for defining and manipulating geometrical and structural information of simulation objects. ### Role and Purpose: The primary purpose of `BaseTopologyObject` is to provide a base class for topology-related components within the SOFA framework, such as meshes or graphs. It acts as an interface for other classes that need to interact with topological data structures. This allows developers to extend this class to create specific types of topological objects. ### Interactions: The `BaseTopologyObject` interacts with other components through its API methods: - `insertInNode`: Adds the topology object into a specified node in the scene graph, facilitating integration within the SOFA framework's hierarchical structure. - `removeInNode`: Removes the topology object from a specified node, allowing for dynamic modification of the simulation setup. ### Practical Usage and Data Fields: The component does not define any specific data fields or links directly, indicating it serves as an abstract base class. Its primary utility lies in its ability to be extended by other classes that need to represent topological information within a SOFA scene graph. The methods `insertInNode` and `removeInNode` enable the dynamic insertion and removal of topology objects from nodes, supporting flexible simulation configurations.

abstract
`BaseTopologyObject` manages topological data structures within the SOFA scene graph, enabling dynamic insertion and removal of topology objects from nodes.
sheet
# BaseTopologyObject ## Overview The `BaseTopologyObject` is an abstract base class in the SOFA framework that provides foundational support for managing topological data structures. It serves as a basis for other components that need to represent and manipulate geometrical and structural information within the simulation setup. ## Dependencies and Connections This component interacts with nodes in the scene graph through its methods `insertInNode` and `removeInNode`. These methods enable dynamic insertion and removal of topology objects from specified nodes, facilitating flexible configuration and modification of the simulation environment.
description
The `BaseTopologyObject` is a core class in the SOFA framework, residing within the `sofa::core::topology` namespace and defined in the `Sofa.framework.Core` module. It inherits from `BaseObject`, which indicates its fundamental role in representing topological data structures essential for defining and manipulating geometrical and structural information of simulation objects. ### Role and Purpose: The primary purpose of `BaseTopologyObject` is to provide a base class for topology-related components within the SOFA framework, such as meshes or graphs. It acts as an interface for other classes that need to interact with topological data structures. This allows developers to extend this class to create specific types of topological objects. ### Interactions: The `BaseTopologyObject` interacts with other components through its API methods: - `insertInNode`: Adds the topology object into a specified node in the scene graph, facilitating integration within the SOFA framework's hierarchical structure. - `removeInNode`: Removes the topology object from a specified node, allowing for dynamic modification of the simulation setup. ### Practical Usage and Data Fields: The component does not define any specific data fields or links directly, indicating it serves as an abstract base class. Its primary utility lies in its ability to be extended by other classes that need to represent topological information within a SOFA scene graph. The methods `insertInNode` and `removeInNode` enable the dynamic insertion and removal of topology objects from nodes, supporting flexible simulation configurations.
maths
The `BaseTopologyObject` is an abstract base class within the SOFA framework that provides the foundational structure for topology-related components. It does not directly contribute to any governing equations or operators such as mass matrix \(M\), stiffness matrix \(K\), internal force \(f_{int}\), residual \(R\), etc., nor does it define any constitutive or kinematic laws. Instead, its role is primarily structural and hierarchical within the SOFA scene graph. ### Role in FEM Pipeline: - **Assembly**: The class itself does not perform assembly operations but serves as a base for components that might contribute to these processes (e.g., mesh objects). - **Time Integration**: No direct involvement; this role is typically delegated to specialized time integration components. - **Nonlinear Solve**: Similarly, no direct contribution to nonlinear solves. - **Linear Solve**: Not directly involved in linear solve operations. - **Constraint Handling**: Facilitates the insertion and removal of topology objects from nodes, enabling dynamic management of constraints within a simulation setup. ### Numerical Methods or Discretization Choices: Since `BaseTopologyObject` is an abstract base class, it does not encode specific numerical methods or discretization choices. These are left to derived classes that inherit from `BaseTopologyObject` and implement the necessary topological data structures (e.g., meshes). ### Variational / Lagrangian Mechanics Framework: The component plays a supportive role within this framework by providing a mechanism for organizing and managing topological data structures, which are essential for defining the geometry and connectivity of simulation objects. Derived classes can use these mechanisms to integrate with other components that implement variational or Lagrangian mechanics principles. ### Methods Overview: - `insertInNode`: Adds the topology object into a specified node in the scene graph, facilitating its integration within the hierarchical structure of SOFA simulations. - `removeInNode`: Removes the topology object from a specified node, enabling dynamic modifications to the simulation setup.
{
  "name": "BaseTopologyObject",
  "main": {
    "name": "BaseTopologyObject",
    "namespace": "sofa::core::topology",
    "module": "Sofa.framework.Core",
    "include": "sofa/core/topology/BaseTopologyObject.h",
    "doc": "",
    "inherits": [
      "BaseObject"
    ],
    "templates": [],
    "data_fields": [],
    "links": [],
    "methods": [
      {
        "name": "toBaseTopologyObject",
        "return_type": "const BaseTopologyObject *",
        "params": [],
        "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"
      }
    ]
  },
  "desc": {
    "description": "The `BaseTopologyObject` is a core class in the SOFA framework, residing within the `sofa::core::topology` namespace and defined in the `Sofa.framework.Core` module. It inherits from `BaseObject`, which indicates its fundamental role in representing topological data structures essential for defining and manipulating geometrical and structural information of simulation objects.\n\n### Role and Purpose:\nThe primary purpose of `BaseTopologyObject` is to provide a base class for topology-related components within the SOFA framework, such as meshes or graphs. It acts as an interface for other classes that need to interact with topological data structures. This allows developers to extend this class to create specific types of topological objects.\n\n### Interactions:\nThe `BaseTopologyObject` interacts with other components through its API methods:\n- `insertInNode`: Adds the topology object into a specified node in the scene graph, facilitating integration within the SOFA framework's hierarchical structure.\n- `removeInNode`: Removes the topology object from a specified node, allowing for dynamic modification of the simulation setup.\n\n### Practical Usage and Data Fields:\nThe component does not define any specific data fields or links directly, indicating it serves as an abstract base class. Its primary utility lies in its ability to be extended by other classes that need to represent topological information within a SOFA scene graph. The methods `insertInNode` and `removeInNode` enable the dynamic insertion and removal of topology objects from nodes, supporting flexible simulation configurations."
  },
  "maths": {
    "maths": "The `BaseTopologyObject` is an abstract base class within the SOFA framework that provides the foundational structure for topology-related components. It does not directly contribute to any governing equations or operators such as mass matrix \\(M\\), stiffness matrix \\(K\\), internal force \\(f_{int}\\), residual \\(R\\), etc., nor does it define any constitutive or kinematic laws. Instead, its role is primarily structural and hierarchical within the SOFA scene graph.\n\n### Role in FEM Pipeline:\n- **Assembly**: The class itself does not perform assembly operations but serves as a base for components that might contribute to these processes (e.g., mesh objects).\n- **Time Integration**: No direct involvement; this role is typically delegated to specialized time integration components.\n- **Nonlinear Solve**: Similarly, no direct contribution to nonlinear solves.\n- **Linear Solve**: Not directly involved in linear solve operations.\n- **Constraint Handling**: Facilitates the insertion and removal of topology objects from nodes, enabling dynamic management of constraints within a simulation setup.\n\n### Numerical Methods or Discretization Choices:\nSince `BaseTopologyObject` is an abstract base class, it does not encode specific numerical methods or discretization choices. These are left to derived classes that inherit from `BaseTopologyObject` and implement the necessary topological data structures (e.g., meshes).\n\n### Variational / Lagrangian Mechanics Framework:\nThe component plays a supportive role within this framework by providing a mechanism for organizing and managing topological data structures, which are essential for defining the geometry and connectivity of simulation objects. Derived classes can use these mechanisms to integrate with other components that implement variational or Lagrangian mechanics principles.\n\n### Methods Overview:\n- `insertInNode`: Adds the topology object into a specified node in the scene graph, facilitating its integration within the hierarchical structure of SOFA simulations.\n- `removeInNode`: Removes the topology object from a specified node, enabling dynamic modifications to the simulation setup."
  },
  "summary": {
    "abstract": "`BaseTopologyObject` manages topological data structures within the SOFA scene graph, enabling dynamic insertion and removal of topology objects from nodes.",
    "sheet": "# BaseTopologyObject\n\n## Overview\nThe `BaseTopologyObject` is an abstract base class in the SOFA framework that provides foundational support for managing topological data structures. It serves as a basis for other components that need to represent and manipulate geometrical and structural information within the simulation setup.\n\n## Dependencies and Connections\nThis component interacts with nodes in the scene graph through its methods `insertInNode` and `removeInNode`. These methods enable dynamic insertion and removal of topology objects from specified nodes, facilitating flexible configuration and modification of the simulation environment."
  }
}