43 #ifndef MULTIMESHVECTORFIELD_HPP
44 #define MULTIMESHVECTORFIELD_HPP 1
71 std::vector<MeshVectorField *> _field;
105 Vec3D origo,
double h );
133 double fscale,
const std::string &filename );
174 void scale(
double s );
199 Vec3D origo,
double h );
220 void add_mesh(
double xscale,
double fscale,
const std::string &filename );
225 void get_minmax(
double &min,
double &max )
const;
238 return( *_field[i] );
244 return( *_field[i] );
254 void save(
const std::string &filename )
const;
258 void save( std::ostream &s )
const;
void set_extrapolation(const field_extrpl_e extrpl[6])
Set the behaviour of field interpolation outside mesh points (extrapolation).
Abstract base class for vector field.
Definition: vectorfield.hpp:53
const MeshVectorField & operator[](int i) const
Return const reference to subfield i.
Definition: multimeshvectorfield.hpp:237
MultiMeshVectorField()
Default constructor.
Mesh geometry definion.
Definition: mesh.hpp:67
geom_mode_e
Geometry mode enum.
Definition: types.hpp:59
virtual ~MultiMeshVectorField()
Destructor.
field_extrpl_e
Field extrapolation mode.
Definition: types.hpp:76
void rotate_x(int a)
Rotate field in coordinate system around x-axis.
void add_mesh(Int3D size, Vec3D origo, double h)
Add a new mesh field to the multiple mesh vector field.
void debug_print(std::ostream &os) const
Print debugging information to os.
void scale(double s)
Scale field in coordinate system.
MultiMeshVectorField & operator=(const MultiMeshVectorField &f)
Copy operator.
void get_defined_components(bool fout[3]) const
Get which field components are defined.
void reset(geom_mode_e geom_mode, const bool fout[3], Int3D size, Vec3D origo, double h)
Resets the field geometry.
Vector field based on multiple meshes.
Definition: multimeshvectorfield.hpp:69
void rotate_z(int a)
Rotate field in coordinate system around z-axis.
3D Integer vector class.
Definition: vec3d.hpp:289
Mesh based vector field.
Definition: meshvectorfield.hpp:71
void get_minmax(double &min, double &max) const
Search minimum and maximum vector length values of vector field.
void save(const std::string &filename) const
Saves data to a new file filename.
void rotate_y(int a)
Rotate field in coordinate system around y-axis.
Three dimensional vector.
Definition: vec3d.hpp:58
MeshVectorField & operator[](int i)
Return reference to subfield i.
Definition: multimeshvectorfield.hpp:243
void clear()
Clears the field.
virtual const Vec3D operator()(Vec3D x) const
Operator for getting linearly interpolated field value at x.
void translate(Vec3D x)
Translate field in coordinate system.