Program Listing for File basis3D.hpp¶
↰ Return to documentation for file (src_qcm/basis3D.hpp)
#ifndef basis3D_h
#define basis3D_h
#include <iostream>
#include "vector3D.hpp"
struct basis3D
{
vector<vector3D<double>> e;
matrix<double> M;
double vol;
basis3D(){e.reserve(3);}
basis3D(vector<double> _e);
void trivial(){
e.push_back(vector3D<double>(1.0,0.0,0.0));
e.push_back(vector3D<double>(0.0,1.0,0.0));
e.push_back(vector3D<double>(0.0,0.0,1.0));
init();
}
void init();
void inverse();
vector3D<double> to(const vector3D<double>& v);
vector3D<double> from(const vector3D<double>& v);
void dual(basis3D &D);
friend std::istream & operator>>(std::istream &flux, basis3D &x);
friend std::ostream & operator<<(std::ostream &flux, basis3D &x);
};
#endif