v2.0.0
Loading...
Searching...
No Matches
MNELIB::MNETriangle Class Reference

Per-triangle geometric data for a cortical or BEM surface. More...

#include <mne_triangle.h>

Public Types

typedef QSharedPointer< MNETriangleSPtr
typedef QSharedPointer< const MNETriangleConstSPtr

Public Member Functions

 MNETriangle ()
 ~MNETriangle ()=default
void compute_data ()

Public Attributes

int * vert = nullptr
const float * r1 = nullptr
const float * r2 = nullptr
const float * r3 = nullptr
Eigen::Vector3f r12 = Eigen::Vector3f::Zero()
Eigen::Vector3f r13 = Eigen::Vector3f::Zero()
Eigen::Vector3f nn = Eigen::Vector3f::Zero()
float area = 0.0f
Eigen::Vector3f cent = Eigen::Vector3f::Zero()
Eigen::Vector3f ex = Eigen::Vector3f::Zero()
Eigen::Vector3f ey = Eigen::Vector3f::Zero()

Detailed Description

Per-triangle geometric data for a cortical or BEM surface.

Stores vertex indices, edge vectors, normal, area, centroid and auxiliary unit vectors. Vertex pointers (r1/r2/r3) and the index pointer (vert) alias data owned by the parent surface and must not be freed.

Definition at line 78 of file mne_triangle.h.

Member Typedef Documentation

◆ ConstSPtr

typedef QSharedPointer<const MNETriangle> MNELIB::MNETriangle::ConstSPtr

Const shared pointer type for MNETriangle.

Definition at line 82 of file mne_triangle.h.

◆ SPtr

typedef QSharedPointer<MNETriangle> MNELIB::MNETriangle::SPtr

Shared pointer type for MNETriangle.

Definition at line 81 of file mne_triangle.h.

Constructor & Destructor Documentation

◆ MNETriangle()

MNETriangle::MNETriangle ( )
default

Constructs an empty MNETriangle with zeroed geometry.

◆ ~MNETriangle()

MNELIB::MNETriangle::~MNETriangle ( )
default

Default destructor (non-owning pointers are not freed).

Member Function Documentation

◆ compute_data()

void MNETriangle::compute_data ( )

Compute derived geometry (edge vectors, normal, area, centroid, auxiliary unit vectors) from the current vertex positions.

Definition at line 60 of file mne_triangle.cpp.

Member Data Documentation

◆ area

float MNELIB::MNETriangle::area = 0.0f

Triangle area.

Definition at line 111 of file mne_triangle.h.

◆ cent

Eigen::Vector3f MNELIB::MNETriangle::cent = Eigen::Vector3f::Zero()

Centroid position.

Definition at line 112 of file mne_triangle.h.

◆ ex

Eigen::Vector3f MNELIB::MNETriangle::ex = Eigen::Vector3f::Zero()

In-plane unit vector (ey x nn; used by BEM).

Definition at line 113 of file mne_triangle.h.

◆ ey

Eigen::Vector3f MNELIB::MNETriangle::ey = Eigen::Vector3f::Zero()

In-plane unit vector (normalized r13; used by BEM).

Definition at line 114 of file mne_triangle.h.

◆ nn

Eigen::Vector3f MNELIB::MNETriangle::nn = Eigen::Vector3f::Zero()

Unit normal vector.

Definition at line 110 of file mne_triangle.h.

◆ r1

const float* MNELIB::MNETriangle::r1 = nullptr

Position of vertex 0 (non-owning; points into parent surface rr).

Definition at line 105 of file mne_triangle.h.

◆ r12

Eigen::Vector3f MNELIB::MNETriangle::r12 = Eigen::Vector3f::Zero()

Edge vector from vertex 0 to vertex 1 (r2 - r1).

Definition at line 108 of file mne_triangle.h.

◆ r13

Eigen::Vector3f MNELIB::MNETriangle::r13 = Eigen::Vector3f::Zero()

Edge vector from vertex 0 to vertex 2 (r3 - r1).

Definition at line 109 of file mne_triangle.h.

◆ r2

const float* MNELIB::MNETriangle::r2 = nullptr

Position of vertex 1 (non-owning; points into parent surface rr).

Definition at line 106 of file mne_triangle.h.

◆ r3

const float* MNELIB::MNETriangle::r3 = nullptr

Position of vertex 2 (non-owning; points into parent surface rr).

Definition at line 107 of file mne_triangle.h.

◆ vert

int* MNELIB::MNETriangle::vert = nullptr

Triangle vertex indices (non-owning; points into parent surface itris).

Definition at line 104 of file mne_triangle.h.


The documentation for this class was generated from the following files: