Back

AverageCoord

sofa::component::engine::analyze::AverageCoord
DataEngine, SingleStateAccessor
Doc (from source)

Compute the average of coordinates. This class computes the average of a set of Coordinates

Abstract (AI generated)

The `AverageCoord` component computes the average of coordinates from specified indices within a given vector type.

Metadata
module
Sofa.Component.Engine.Analyze
namespace
sofa::component::engine::analyze
include
sofa/component/engine/analyze/AverageCoord.h
inherits
  • DataEngine
  • SingleStateAccessor
templates
  • sofa::defaulttype::Rigid2Types
  • sofa::defaulttype::Rigid3Types
  • sofa::defaulttype::Vec2Types
description
No maths data.
Data Fields
NameTypeDefaultHelp
d_indices VecIndex indices of the coordinates to average
d_vecId unsigned int index of the vector (default value corresponds to core::vec_id::write_access::position )
d_average Coord (default value corresponds to the average coord of the mechanical context)
Methods
void init () virtual
void reinit () virtual
void doUpdate () virtual
void handleEvent (core::objectmodel::Event * event) virtual
void onBeginAnimationStep (const double )
{
  "name": "AverageCoord",
  "namespace": "sofa::component::engine::analyze",
  "module": "Sofa.Component.Engine.Analyze",
  "include": "sofa/component/engine/analyze/AverageCoord.h",
  "doc": "Compute the average of coordinates.\n\nThis class computes the average of a set of Coordinates",
  "inherits": [
    "DataEngine",
    "SingleStateAccessor"
  ],
  "templates": [
    "sofa::defaulttype::Rigid2Types",
    "sofa::defaulttype::Rigid3Types",
    "sofa::defaulttype::Vec2Types"
  ],
  "data_fields": [
    {
      "name": "d_indices",
      "type": "VecIndex",
      "xmlname": "indices",
      "help": "indices of the coordinates to average"
    },
    {
      "name": "d_vecId",
      "type": "unsigned int",
      "xmlname": "vecId",
      "help": "index of the vector (default value corresponds to core::vec_id::write_access::position )"
    },
    {
      "name": "d_average",
      "type": "Coord",
      "xmlname": "average",
      "help": "(default value corresponds to the average coord of the mechanical context)"
    }
  ],
  "links": [],
  "methods": [
    {
      "name": "init",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "reinit",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "doUpdate",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "handleEvent",
      "return_type": "void",
      "params": [
        {
          "name": "event",
          "type": "core::objectmodel::Event *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "onBeginAnimationStep",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "const double"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    }
  ],
  "description": "The `AverageCoord` component is part of the SOFA framework and belongs to the `sofa::component::engine::analyze` namespace. It computes the average of a set of coordinates, which can be useful for various analysis tasks in simulations.\n\n**Role and Purpose:**\n- The primary role of `AverageCoord` is to calculate the average coordinate values from a specified set of indices within a given vector type (e.g., Vec2, Vec3, Rigid).\n\n**Interactions with Other Components:**\n- It inherits from `DataEngine`, indicating that it processes data and provides outputs for other components in the simulation pipeline.\n- The component requires a mechanical state to function properly. It interacts with this state through methods like `doUpdate()` and `onBeginAnimationStep()`.\n\n**Practical Usage Guidance:**\n- Users can specify the indices of the coordinates to average using the `d_indices` data field.\n- The index of the vector to be averaged is specified by `d_vecId`, with a default value corresponding to position vectors.\n- The resulting average coordinate is output through the `d_average` data field. If no specific indices are provided, it will compute the average across all coordinates in the given vector.",
  "code_snippets": [
    {
      "file_path": "sofa/component/engine/analyze/AverageCoord.h",
      "start_line": 45,
      "end_line": 68
    },
    {
      "file_path": "sofa/component/engine/analyze/AverageCoord.inl",
      "start_line": 39,
      "end_line": 71
    }
  ],
  "abstract": "The `AverageCoord` component computes the average of coordinates from specified indices within a given vector type.",
  "sheet": "\n# AverageCoord\n\n## Overview\nThe `AverageCoord` component, part of the SOFA framework, calculates the average coordinate values from specified indices. It inherits from `DataEngine`, indicating that it processes data and provides outputs for other components in the simulation pipeline.\n\n## Parameters and Data\n- **d_indices**: Indices of the coordinates to be averaged (`VecIndex`).\n- **d_vecId**: Index of the vector (default value corresponds to position vectors) (`unsigned int`).\n- **d_average**: The resulting average coordinate (`Coord`), defaulting to the average coord of the mechanical context.\n"
}