Per-triangle geometric data for a cortical or BEM surface. More...
#include <mne_triangle.h>
Public Types | |
| typedef QSharedPointer< MNETriangle > | SPtr |
| typedef QSharedPointer< const MNETriangle > | ConstSPtr |
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() |
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.
| typedef QSharedPointer<const MNETriangle> MNELIB::MNETriangle::ConstSPtr |
Const shared pointer type for MNETriangle.
Definition at line 82 of file mne_triangle.h.
| typedef QSharedPointer<MNETriangle> MNELIB::MNETriangle::SPtr |
Shared pointer type for MNETriangle.
Definition at line 81 of file mne_triangle.h.
|
default |
Constructs an empty MNETriangle with zeroed geometry.
|
default |
Default destructor (non-owning pointers are not freed).
| 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.
| float MNELIB::MNETriangle::area = 0.0f |
Triangle area.
Definition at line 111 of file mne_triangle.h.
| Eigen::Vector3f MNELIB::MNETriangle::cent = Eigen::Vector3f::Zero() |
Centroid position.
Definition at line 112 of file mne_triangle.h.
| 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.
| 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.
| Eigen::Vector3f MNELIB::MNETriangle::nn = Eigen::Vector3f::Zero() |
Unit normal vector.
Definition at line 110 of file mne_triangle.h.
| 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.
| 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.
| 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.
| 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.
| 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.
| int* MNELIB::MNETriangle::vert = nullptr |
Triangle vertex indices (non-owning; points into parent surface itris).
Definition at line 104 of file mne_triangle.h.