Electromagnetic Template Library (EMTL)
|
/ line projector: output fields are t,sx,sy,sz,slen class emLineProjector: public emProjector{ vec_type *it,*isx,*isy,*isz,*ilen; public: emLineProjector(){ it=AddField("t",0); isx=AddField("sx",0); isy=AddField("sy",0); isz=AddField("sz",0); ilen=AddField("slen",0); } More...
#include <analyzer.h>
Public Member Functions | |
int | AddFilter (int ix, int iy, int iz) |
Adds filter to sort out grid planes by index -1 means that this index is not sorted f.e. | |
int | SetPlaneMode (int coord=-1) |
Sets the coord which will cause separator after looping over nmax. | |
int | CheckIterator (UniformGrid< Vector_3 >::iterator &it) |
Specialization: checks filters. | |
int | GetFileName (std::string &fname, const emRecArg &rec, UniformGrid< Vector_3 >::iterator &it) |
Specialization: gets filename or -1 if this entry is to be skipped. | |
Public Member Functions inherited from emPoint2File | |
void | SetOutputMode (int four, int arg=argAll) |
Sets the output representation. | |
template<class iter_t > | |
int | GetFileName (std::string &fname, const emRecArg &r, iter_t &it) |
Gets filename or -1 if this entry is to be skipped returns the number of separators ' ' to print | |
template<class iter_t > | |
int | CheckIterator (iter_t &it) |
returns 1 if this iterator should be printed, or -1 if it should be skipped | |
virtual int | CheckEntry (const emRecArg &r) |
returns 1 if this argument should be printed, or -1 if it should be skipped | |
virtual int | process (std::vector< vec_type > &vout, const emRecArg &r, int refnum=0) |
records to vout list of argument values to print | |
Additional Inherited Members | |
Protected Attributes inherited from emPoint2File | |
std::string | pref |
file name prefix | |
std::string | fv |
printf template to put time /space iterator at the name of the file | |
Vector_3 | v |
current position | |
valtype | t |
current time | |
std::string | ch [3] |
name of three space arguments (x, y, z in rectangular system) | |
int | argflags |
bit flag which specifies which arguments will be printed | |
int | single_file |
all in one file | |
/ line projector: output fields are t,sx,sy,sz,slen class emLineProjector: public emProjector{ vec_type *it,*isx,*isy,*isz,*ilen; public: emLineProjector(){ it=AddField("t",0); isx=AddField("sx",0); isy=AddField("sy",0); isz=AddField("sz",0); ilen=AddField("slen",0); }
int SetLine(){} int SetLimits(){}
virtual int process(std::vector<double> &vout, const Vector_3 &v, int refnum=0){ std::vector<double>::iterator it=vout.begin() vout.clear(); double t0=(v-x0)*n/n.norm2(); Vector_3 s=v-x0-n*t0; if(!(tleft<=t && t<= tright))return 0; // not in the area vec_type slen=s.norm(); if(slen>=maxlen)return 0; isx=s[0]; isy=s[1]; isz=s[2]; it=t0; ilen=slen; TransferValues(vout); return 1; } }; This class is used while printing text files with data (electromagnetic field) on rectangular mesh.
|
inline |
Adds filter to sort out grid planes by index -1 means that this index is not sorted f.e.
AddFilter(-1,-1,3) means XY plane where iz=3
int emGridProjector::GetFileName | ( | std::string & | fname, |
const emRecArg & | rec, | ||
UniformGrid< Vector_3 >::iterator & | it | ||
) |
Specialization: gets filename or -1 if this entry is to be skipped.