Back

VisualPointCloud

sofa::component::visual::VisualPointCloud
VisualModel
Doc (from source)

Render a point cloud.

Abstract (AI generated)

Renders a point cloud in the simulation environment with adjustable parameters for point size, color, and index display.

Metadata
module
Sofa.Component.Visual
namespace
sofa::component::visual
include
sofa/component/visual/VisualPointCloud.h
inherits
  • VisualModel
templates
  • sofa::defaulttype::Rigid3Types
  • sofa::defaulttype::Vec3Types
description

The VisualPointCloud component in the Sofa.Component.Visual module is primarily focused on rendering point clouds within the simulation environment. This component does not directly contribute to the governing equations or operators that are central to the finite element method (FEM) simulation framework. Instead, its primary role is to provide a visualization tool for displaying points, spheres, and frames based on user-defined parameters. The following aspects of VisualPointCloud are described in detail:

Governing Equations and Operators

  • No Direct Contribution: The VisualPointCloud component does not implement or contribute to the governing equations or operators such as the mass matrix $M$, stiffness matrix $K$, internal force vector $f_{int}$, or residual vector $R$ that are typical in FEM formulations. Its primary function is visualization.

Constitutive and Kinematic Laws

  • No Direct Contribution: The component does not define any constitutive laws (such as stress-strain relationships) or kinematic laws (such as deformation gradients). It solely handles the rendering of points based on their positions and attributes like size, color, and indices.

Role in the Global FEM Pipeline

  • Visualization: VisualPointCloud fits into the broader SOFA framework as a visualization tool. It operates within the visual rendering pipeline to display points or frames according to user-defined settings. Specifically:
  • Point Size (pointSize): Controls the size of points and frames.
  • Color (color): Sets the color of the points being rendered.
  • Indices Display (showIndices): Toggles the display of indices for each point, with adjustable scale (indicesScale) and color (indicesColor).

Numerical Methods or Discretization Choices

  • No Direct Contribution: The component does not perform any numerical discretization or time integration schemes. It relies on the draw tools provided by the SOFA framework to render points in a specified mode (point, sphere, frame).

Variational / Lagrangian Mechanics Framework

  • No Direct Contribution: VisualPointCloud is purely a visualization component and does not fit into the variational or Lagrangian mechanics framework directly. Its role is ancillary to the main simulation processes.

Summary

The VisualPointCloud component in SOFA is dedicated to rendering point clouds with customizable visual attributes such as size, color, and indices display. It interacts with the standard visual rendering pipeline provided by SOFA to achieve this visualization without contributing directly to any of the governing equations or operators involved in FEM simulations.

Data Fields
NameTypeDefaultHelp
d_pointSize float The size of the points and frames
d_color type::RGBAColor The color of the points
d_showIndices bool Show the indices of the points
d_indicesScale float The scale of the indices
d_indicesColor type::RGBAColor The color of the indices
Methods
void computeBBox (const core::ExecParams * , bool ) virtual
{
  "name": "VisualPointCloud",
  "namespace": "sofa::component::visual",
  "module": "Sofa.Component.Visual",
  "include": "sofa/component/visual/VisualPointCloud.h",
  "doc": "Render a point cloud.",
  "inherits": [
    "VisualModel"
  ],
  "templates": [
    "sofa::defaulttype::Rigid3Types",
    "sofa::defaulttype::Vec3Types"
  ],
  "data_fields": [
    {
      "name": "d_pointSize",
      "type": "float",
      "xmlname": "pointSize",
      "help": "The size of the points and frames"
    },
    {
      "name": "d_color",
      "type": "type::RGBAColor",
      "xmlname": "color",
      "help": "The color of the points"
    },
    {
      "name": "d_showIndices",
      "type": "bool",
      "xmlname": "showIndices",
      "help": "Show the indices of the points"
    },
    {
      "name": "d_indicesScale",
      "type": "float",
      "xmlname": "indicesScale",
      "help": "The scale of the indices"
    },
    {
      "name": "d_indicesColor",
      "type": "type::RGBAColor",
      "xmlname": "indicesColor",
      "help": "The color of the indices"
    }
  ],
  "links": [],
  "methods": [
    {
      "name": "computeBBox",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "const core::ExecParams *"
        },
        {
          "name": "",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    }
  ],
  "description": "The `VisualPointCloud` component in the Sofa.Component.Visual module is designed to render point clouds in the simulation environment. It inherits from the `core::visual::VisualModel` class and can handle both `Vec3Types` and `Rigid3Types` data types.\n\nIts primary purpose is to visualize points or frames within a scene, allowing for customization of point size, color, indices display, and indices scale through its data fields:\n- `pointSize`: Controls the size of the points and frames.\n- `color`: Sets the color of the points.\n- `showIndices`: Toggles the display of point indices.\n- `indicesScale`: Adjusts the scale of displayed indices.\n- `indicesColor`: Defines the color used for displaying indices.\n\nIt interacts with other SOFA components through standard visual rendering pipelines, utilizing draw tools provided by the scene to render points or frames based on the specified mode (point, sphere, frame). The component also calculates its bounding box (`computeBBox`) and handles drawing indices if enabled.",
  "maths": "The `VisualPointCloud` component in the Sofa.Component.Visual module is primarily focused on rendering point clouds within the simulation environment. This component does not directly contribute to the governing equations or operators that are central to the finite element method (FEM) simulation framework. Instead, its primary role is to provide a visualization tool for displaying points, spheres, and frames based on user-defined parameters. The following aspects of `VisualPointCloud` are described in detail:\n\n### Governing Equations and Operators\n- **No Direct Contribution**: The `VisualPointCloud` component does not implement or contribute to the governing equations or operators such as the mass matrix \\(M\\), stiffness matrix \\(K\\), internal force vector \\(f_{int}\\), or residual vector \\(R\\) that are typical in FEM formulations. Its primary function is visualization.\n\n### Constitutive and Kinematic Laws\n- **No Direct Contribution**: The component does not define any constitutive laws (such as stress-strain relationships) or kinematic laws (such as deformation gradients). It solely handles the rendering of points based on their positions and attributes like size, color, and indices.\n\n### Role in the Global FEM Pipeline\n- **Visualization**: `VisualPointCloud` fits into the broader SOFA framework as a visualization tool. It operates within the visual rendering pipeline to display points or frames according to user-defined settings. Specifically:\n  - **Point Size (`pointSize`)**: Controls the size of points and frames.\n  - **Color (`color`)**: Sets the color of the points being rendered.\n  - **Indices Display (`showIndices`)**: Toggles the display of indices for each point, with adjustable scale (`indicesScale`) and color (`indicesColor`).\n\n### Numerical Methods or Discretization Choices\n- **No Direct Contribution**: The component does not perform any numerical discretization or time integration schemes. It relies on the draw tools provided by the SOFA framework to render points in a specified mode (point, sphere, frame).\n\n### Variational / Lagrangian Mechanics Framework\n- **No Direct Contribution**: `VisualPointCloud` is purely a visualization component and does not fit into the variational or Lagrangian mechanics framework directly. Its role is ancillary to the main simulation processes.\n\n### Summary\nThe `VisualPointCloud` component in SOFA is dedicated to rendering point clouds with customizable visual attributes such as size, color, and indices display. It interacts with the standard visual rendering pipeline provided by SOFA to achieve this visualization without contributing directly to any of the governing equations or operators involved in FEM simulations.",
  "abstract": "Renders a point cloud in the simulation environment with adjustable parameters for point size, color, and index display.",
  "sheet": "# VisualPointCloud\n\n## Overview\nThe `VisualPointCloud` component is designed to render point clouds within the SOFA framework. It inherits from the `core::visual::VisualModel` class and supports both `Vec3Types` and `Rigid3Types`. This component does not contribute to any governing equations or operators but serves as a visualization tool.\n\n## Parameters and Data\nThe significant data fields exposed by this component include:\n- **pointSize (`d_pointSize`, float)**: Controls the size of the points and frames. Default value is not specified.\n- **color (`d_color`, RGBAColor)**: Sets the color of the points. Default value is not specified.\n- **showIndices (`d_showIndices`, bool)**: Toggles the display of point indices. Default value is `false`.\n- **indicesScale (`d_indicesScale`, float)**: Adjusts the scale of displayed indices. Default value is not specified.\n- **indicesColor (`d_indicesColor`, RGBAColor)**: Defines the color used for displaying indices. Default value is not specified."
}