7 #include "vel2dmod_global.hpp" 
   10 #include "vel2dmod_service.hpp" 
   26   Vel2dModel(
double *x, 
double *z, 
double *ang, 
double *vp, 
double *vs, 
 
   27          double *pkz, 
double *skz,
double *den, 
 
   28          double *an_kp, 
double *an_ks, 
double *R, 
int n, 
 
   29          double xMin, 
double xMax, 
double zMin, 
double zMax, 
 
   30          double mod_x, 
double mod_y, 
double mod_az, 
int approx_type = 0, 
double grid_cell_size = RT_GRIDSIZE);
 
   34          double mod_x, 
double mod_y, 
double mod_az, 
int approx_type = 0);
 
   48   void     CheckModelStatus();                  
 
   59   int      ExactDefineBound(
double x, 
double z, 
double eps=DEFINE_BOUND_EPS, 
bool cry=
true);
 
   61   int      GetBoundNum(
double x, 
double z);             
 
   64   double   GetVel(
double x, 
double z, WAVE_TYPE vPS, 
int bodyNum=-1);
 
   66   double   GetVel(
double x, 
double z, WAVE_TYPE vPS, 
double angle, 
int bodyNum=-1);
 
   69   void     GetVelGr(
double x, 
double z, 
double &vk, 
double &vka, WAVE_TYPE wt);
 
   71   double   GetVelMax(WAVE_TYPE wt);
 
   74   double   AnyBound(
int bNum, 
double x, 
bool &flag, 
double z=-1);
 
   77   bool     GetParams(
double x, 
double z, 
double &vP, 
double &vS, 
double &den, 
double &anKP, 
double &anKS, 
double &R);
 
   78   bool     GetParams(
double x, 
double z, 
double &vP, 
double &vS, 
double &den) {
 
   80     return GetParams(x, z, vP, vS, den, anKP, anKS, R);
 
   82   bool     GetParams2(
double x, 
double z, 
double &vPx, 
double &vPz, 
double &vSx, 
double &vSz, 
double &den, 
double &R);
 
   85   bool     BoundInt(
int bNum, 
double x1, 
double z1, 
double x2, 
double z2, 
double &ix, 
double &iz,
 
   86             double &iAngle, 
double &curvity, 
bool ANY=
false);
 
   97   int      GetSegNum(
int bn, 
int n);
 
   98   int      GetSegNum(
int bn, 
double x, 
double z);
 
  106   void     RebuildModel(
int bn, 
double *x, 
double *z, 
bool *flag, 
int num, 
double rc=-1, 
double sp=-1, 
bool *im_flag=NULL);
 
  108   void     GenerateGrid(
double step=-1);  
 
  109   void     RegenerateGrid(
double xmn, 
double zmn, 
double xmx, 
double zmx);
 
  110   double   GetGridCellSize();
 
  115   bool     IsInsideOfModelArea(
double x, 
double z);
 
  117   void     SetModelXYAZ(
double m_x, 
double m_y, 
double m_az);
 
  118   void     GetModelXYAZ(
double &m_x, 
double &m_y, 
double &m_az);
 
  124   virtual bool     AddBound(
double *x, 
double *z, 
bool *flag, 
int p_num, 
double rc=-1, 
double sp=-1);
 
  135   bool     checkInside(
double x, 
double z);
 
  137   bool     belongPerimeter(
double x, 
double z);
 
  150   virtual void    SetPBLimits(
int n, 
double lmin, 
double lmax) 
 
  151   {n=0; lmin=0; lmax=0;}; 
 
  153   {n=0; 
if (0x0 == str) 
return;};         
 
  160   void   GetModelXY(
double &x, 
double &y) { x=modelX; y=modelY; }; 
 
  162   bool LineInt(
int bNum, 
double p, 
double coord1,
double coord2,
bool finiteFlag,
 
  163            bool xzFlag, 
double &result);
 
  176   bool TestLine(
int bNum, 
double p, 
double coord1, 
double coord2, 
bool finiteFlag, 
bool xzFlag);
 
  178   void RebuildOuterBound(
int bn, 
double x0, 
double z0, 
double x1, 
double z1, 
bool st_end);
 
  179   void BoundsSegmentation();
 
  186   double  modelAZ, modelX, modelY;
 
Class, describing bodies bound. 
Definition: vel2dmod_service.hpp:23
 
virtual bool RemoveBound(int boundN)
 
bool ready
Definition: vel2dmod.hpp:143
 
void RebuildModel(int bn, double *x, double *z, bool *flag, int num, double rc=-1, double sp=-1, bool *im_flag=NULL)
 
Definition: vel2dmod.hpp:19
 
int ExactDefineBound(double x, double z, double eps=DEFINE_BOUND_EPS, bool cry=true)
 
virtual void AddPBValue(int n, double val)
Definition: vel2dmod.hpp:156
 
bool BoundInt(int bNum, double x1, double z1, double x2, double z2, double &ix, double &iz, double &iAngle, double &curvity, bool ANY=false)
 
bool GetLegitimValues(int bn, bool st_end, double &zmin, double &zmax)
 
double GetVel(double x, double z, WAVE_TYPE vPS, int bodyNum=-1)
 
bool IsOuterBound(int bNum)
 
double AnyBound(int bNum, double x, bool &flag, double z=-1)
 
Bound * SplitBounds(Bound *bound, double z)
 
double GetModelAz()
Definition: vel2dmod.hpp:159
 
void AddGridPtr(Grid2d *gridPtr)
 
int ExactDefineBody(double x, double z)
 
BodiesAr Bodies
Definition: vel2dmod.hpp:139
 
virtual void SetPBValue(int n, double val)
Definition: vel2dmod.hpp:154
 
int getApproxType()
Definition: vel2dmod.hpp:41
 
double xMin
Definition: vel2dmod.hpp:146
 
bool ExportToTextFiles(const char *files_path)
 
Observation system class. 
Definition: os.hpp:13
 
void GetVelGr(double x, double z, double &vk, double &vka, WAVE_TYPE wt)
 
int m_approx_type
Definition: vel2dmod.hpp:184
 
Grid2d * pGrid
Definition: vel2dmod.hpp:147
 
void GetModelXY(double &x, double &y)
Definition: vel2dmod.hpp:160
 
Definition: grid2d.hpp:39
 
bool GetParams(double x, double z, double &vP, double &vS, double &den, double &anKP, double &anKS, double &R)
 
bool CombineBounds(Bound *top_b, Bound *bot_b)
 
bool LineInt(int bNum, double p, double coord1, double coord2, bool finiteFlag, bool xzFlag, double &result)
 
virtual void SetPBComment(int n, const char *str)
Definition: vel2dmod.hpp:152
 
Definition: objectar.hpp:17
 
int DefineBody(double x, double z)
 
virtual bool AddBound(double *x, double *z, bool *flag, int p_num, double rc=-1, double sp=-1)
 
BoundsAr Bounds
Definition: vel2dmod.hpp:140