UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
U3dRTModRayShooter Class Reference
Inheritance diagram for U3dRTModRayShooter:
U3dAbstractRayShooter U3dAbstractRayShooter U3dRayDynCalculator U3dRayDynCalculator U3dRayDynCalculator U3dRayDynCalculator U3dRayTracing U3dRayTracing U3dRayTracing U3dRayTracing U3dRTMod U3dRTMod

Public Member Functions

 U3dRTModRayShooter (U3dModel *mod3d, float stp, URayReflCoefType ctype=ZOEPPRITZ, bool save_ray_path=false)
 
bool getSurfSource (U3dPoint sp, U3D_WAVE_TYPE wt, int bId, U3dSurfSource *&ss_out)
 
bool initialSurfCovering (U3dPoint p, U3dCodeAr c, int debug_level=0)
 
bool shootSurfFirstRay (U3dPoint p, U3dCodeAr code, double &in_f, double &in_az, double df, double daz)
 
bool coverSurfFace (U3dPoint p, U3dCodeAr c, int debug_level=0)
 
U3dRayrayShoot (U3dPoint startP, double f, double az, U3dCodeAr rCode, bool waySave)
 
bool shootPoint (U3dRayPoint start_p, U3dPoint recp, double &devF, double &devAz, U3dCodeAr rCode, int bodyId, U3dRayPoint &wp, int debug_level=0)
 
double SPBodyRecShoot (U3dPoint startP, U3dPoint recp, double f, double az, U3dCodeAr rCode, int bodyId, U3dRayPoint &wp)
 
U3dRayoneBodySP2RecRayShoot (U3dPoint startP, U3dPoint recp, double stF, double stAz, U3D_WAVE_TYPE wt, int bodyId)
 
void calcDynamic (U3dRayPoint sp, U3dPoint recp, U3dCodeAr c, double &ampl, U3dPoints &ray_points)
 
U3dRaygetDynRay (U3dRayPoint sp, U3dPoint recp, U3dCodeAr c, double &dist, U3dPoint &lp, int debug_level=0)
 
bool calcGeomDivergence (U3dRay *ray, U3dPoint recp, double &geom_div)
 
U3dRayrayShootDyn (U3dRayPoint start_p, U3dPoint recp, U3dCodeAr rCode, bool waySave, int debug_level=0)
 
bool getReady ()
 
bool initSS (int bId, U3dCodeAr wc)
 
void cleanSS ()
 
void reloadSS ()
 
 U3dRTModRayShooter (U3dModel *mod3d, float stp, U3dReflCoefType ctype=ZOEPPRITZ, bool save_ray_path=false)
 
bool getSurfSource (U3dPoint sp, U3D_WAVE_TYPE wt, int bId, U3dSurfSource *&ss_out)
 
bool initialSurfCovering (U3dPoint p, U3dCodeAr c, int debug_level=0)
 
bool shootSurfFirstRay (U3dPoint p, U3dCodeAr code, double &in_f, double &in_az, double df, double daz)
 
bool coverSurfFace (U3dPoint p, U3dCodeAr c, int debug_level=0)
 
U3dRayrayShoot (U3dPoint startP, double f, double az, U3dCodeAr rCode, bool waySave)
 
bool shootPoint (U3dRayPoint start_p, U3dPoint recp, double &devF, double &devAz, U3dCodeAr rCode, int bodyId, U3dRayPoint &wp, int debug_level=0)
 
double SPBodyRecShoot (U3dPoint startP, U3dPoint recp, double f, double az, U3dCodeAr rCode, int bodyId, U3dRayPoint &wp)
 
U3dRayoneBodySP2RecRayShoot (U3dPoint startP, U3dPoint recp, double stF, double stAz, U3D_WAVE_TYPE wt, int bodyId)
 
void calcDynamic (U3dRayPoint sp, U3dPoint recp, U3dCodeAr c, double &ampl, U3dPoints &ray_points)
 
U3dRaygetDynRay (U3dRayPoint sp, U3dPoint recp, U3dCodeAr c, double &dist, U3dPoint &lp, int debug_level=0)
 
bool calcGeomDivergence (U3dRay *ray, U3dPoint recp, double &geom_div)
 
U3dRayrayShootDyn (U3dRayPoint start_p, U3dPoint recp, U3dCodeAr rCode, bool waySave, int debug_level=0)
 
bool getReady ()
 
bool initSS (int bId, U3dCodeAr wc)
 
void cleanSS ()
 
void reloadSS ()
 
- Public Member Functions inherited from U3dAbstractRayShooter
 U3dAbstractRayShooter (U3dModel *mod3d, URayReflCoefType coeff_type=ZOEPPRITZ)
 
bool findNextCell (int faceId, int &condId, int &i, int &j, int &filled_cells_num, int &shadow_cells_num, int &conf_type, int debug_level=0)
 
bool findNextCleanCell (int faceId, int &confId, int &resI, int &resJ, int &filled_cells_num, int &shadow_cells_num, int &conf_type, int debug_level=0)
 
bool checkFaceZone (int faceId, int zoneId, int conf, int &conf_type, int &resI, int &recJ)
 
bool coverConf (int confId, int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int conf_type)
 
bool coverNhbCCross (int faceId, int ni, int nj, U3dPoint p, U3dCodeAr c, int &resi, int &resj)
 
bool coverNhbC1 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool coverNhbC2 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool shootNhbC2Cross (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int i_n0, int j_n0, int i_n1, int j_n1)
 
bool coverNhbC3 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int conf_type)
 
bool coverNhbC4 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool coverNhbC5 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool coverNhbCSpiral (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
int checkConf (int i0, int j0, int faceId)
 
bool checkConf (int confId, int i0, int j0, int faceId, int &conf_type)
 
bool checkConf1 (int i0, int j0, int faceId)
 
bool checkConf2 (int i0, int j0, int faceId)
 
bool checkConf3 (int i0, int j0, int faceId, int &conf_type)
 
bool checkConf4 (int i0, int j0, int faceId)
 
bool checkConf5 (int i0, int j0, int faceId)
 
bool checkConf6 (int i0, int j0, int faceId)
 
bool find2FilledNhbC3 (int faceId, int i0, int j0, int conf_type, int &i_n0, int &j_n0, int &i_n1, int &j_n1)
 
bool find3FilledNhbC4 (int faceId, int i0, int j0, int &i_n0, int &j_n0, int &i_n1, int &j_n1, int &i_n2, int &j_n2)
 
bool find3FilledNhbC5 (int faceId, int i0, int j0, int &i_n0, int &j_n0, int &i_n1, int &j_n1, int &i_n2, int &j_n2)
 
bool calcNhbCPlaneAngles (int faceId, int i0, int j0, int i_n0, int j_n0, int i_n1, int j_n1, int i_n2, int j_n2, float &stF, float &stAz)
 
void printConfCell (int i0, int j0, int faceId, int confId=3)
 
void printCellNhbC (int i0, int j0, int faceId, int nhb_num=7)
 
int checkNhbCell (int faceId, int i0, int j0)
 
int shootNcheckPh1 (int faceId, U3dPoint p, float f, float az, int ni, int nj, U3dCodeAr c, int &resI, int &resJ)
 
bool shootNcheckPh2 (int faceId, U3dPoint p, float f, float az, int i0, int j0, U3dCodeAr c, int &resI, int &resJ)
 
bool findFilledNhbCell (int faceId, int &i, int &j)
 
bool findFilledFaceNhbCell (U3dPoint p, int faceId, U3dCodeAr c, int &resI, int &resJ)
 
bool findCleanNhbCell (int faceId, int &i, int &j, int &filled_cells_num, int &shadow_cells_num)
 
bool isFaceCellClean (int i, int j, int faceId)
 
bool isFaceCellShadowed (int i, int j, int faceId)
 
bool isFaceCellFilled (int i, int j, int faceId)
 
char getCellStatus (int i, int j, int faceId)
 
 U3dAbstractRayShooter (U3dModel *mod3d, U3dReflCoefType coeff_type=ZOEPPRITZ)
 
bool findNextCell (int faceId, int &condId, int &i, int &j, int &filled_cells_num, int &shadow_cells_num, int &conf_type, int debug_level=0)
 
bool findNextCleanCell (int faceId, int &confId, int &resI, int &resJ, int &filled_cells_num, int &shadow_cells_num, int &conf_type, int debug_level=0)
 
bool checkFaceZone (int faceId, int zoneId, int conf, int &conf_type, int &resI, int &recJ)
 
bool coverConf (int confId, int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int conf_type)
 
bool coverNhbCCross (int faceId, int ni, int nj, U3dPoint p, U3dCodeAr c, int &resi, int &resj)
 
bool coverNhbC1 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool coverNhbC2 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool shootNhbC2Cross (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int i_n0, int j_n0, int i_n1, int j_n1)
 
bool coverNhbC3 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int conf_type)
 
bool coverNhbC4 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool coverNhbC5 (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
bool coverNhbCSpiral (int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
 
int checkConf (int i0, int j0, int faceId)
 
bool checkConf (int confId, int i0, int j0, int faceId, int &conf_type)
 
bool checkConf1 (int i0, int j0, int faceId)
 
bool checkConf2 (int i0, int j0, int faceId)
 
bool checkConf3 (int i0, int j0, int faceId, int &conf_type)
 
bool checkConf4 (int i0, int j0, int faceId)
 
bool checkConf5 (int i0, int j0, int faceId)
 
bool checkConf6 (int i0, int j0, int faceId)
 
bool find2FilledNhbC3 (int faceId, int i0, int j0, int conf_type, int &i_n0, int &j_n0, int &i_n1, int &j_n1)
 
bool find3FilledNhbC4 (int faceId, int i0, int j0, int &i_n0, int &j_n0, int &i_n1, int &j_n1, int &i_n2, int &j_n2)
 
bool find3FilledNhbC5 (int faceId, int i0, int j0, int &i_n0, int &j_n0, int &i_n1, int &j_n1, int &i_n2, int &j_n2)
 
bool calcNhbCPlaneAngles (int faceId, int i0, int j0, int i_n0, int j_n0, int i_n1, int j_n1, int i_n2, int j_n2, float &stF, float &stAz)
 
void printConfCell (int i0, int j0, int faceId, int confId=3)
 
void printCellNhbC (int i0, int j0, int faceId, int nhb_num=7)
 
int checkNhbCell (int faceId, int i0, int j0)
 
int shootNcheckPh1 (int faceId, U3dPoint p, float f, float az, int ni, int nj, U3dCodeAr c, int &resI, int &resJ)
 
bool shootNcheckPh2 (int faceId, U3dPoint p, float f, float az, int i0, int j0, U3dCodeAr c, int &resI, int &resJ)
 
bool findFilledNhbCell (int faceId, int &i, int &j)
 
bool findFilledFaceNhbCell (U3dPoint p, int faceId, U3dCodeAr c, int &resI, int &resJ)
 
bool findCleanNhbCell (int faceId, int &i, int &j, int &filled_cells_num, int &shadow_cells_num)
 
bool isFaceCellClean (int i, int j, int faceId)
 
bool isFaceCellShadowed (int i, int j, int faceId)
 
bool isFaceCellFilled (int i, int j, int faceId)
 
char getCellStatus (int i, int j, int faceId)
 
- Public Member Functions inherited from U3dRayDynCalculator
 U3dRayDynCalculator (U3dModel *mod3d, URayReflCoefType coeff_type=ZOEPPRITZ)
 
double calcRTRCoeff (U3dRay *ray, int debug_level=0)
 
- Public Member Functions inherited from U3dRayTracing
 U3dRayTracing (U3dModel *mod3d)
 
bool snellius (double vin, double teta0, double az, double vout, int rtr, double iAngle, double iAz, double &teta1, double &az1)
 
U3dModelgetModel () const
 
 U3dRayTracing (U3dModel *mod3d)
 
bool snellius (double vin, double teta0, double az, double vout, int rtr, double iAngle, double iAz, double &teta1, double &az1)
 
U3dModelgetModel () const
 

Public Attributes

bool m_save_ray_path
 
- Public Attributes inherited from U3dAbstractRayShooter
ARSFaceZonesAr m_face_active_zones
 

Protected Member Functions

void shadowPerimeter ()
 
U3dRayPoint getNearestRayPoint (U3dRayPoint rp_prev, U3dRayPoint rp0, U3dPoint recp, double vel)
 
int getFaceId (U3dRay *r)
 
int getFaceIMax (int faceId)
 
int getFaceJMax (int faceId)
 
void getFaceCellIJ (U3dPoint p, int faceId, int &i, int &j)
 
void setShadowedFlag (int i, int j, int faceId)
 
float getFaceCellT (int i, int j, int faceId)
 
float getFaceCellStF (int i, int j, int faceId)
 
float getFaceCellStAz (int i, int j, int faceId)
 
void formFaceActiveZones (int faceId)
 
void shadowPerimeter ()
 
U3dRayPoint getNearestRayPoint (U3dRayPoint rp_prev, U3dRayPoint rp0, U3dPoint recp, double vel)
 
int getFaceId (U3dRay *r)
 
int getFaceIMax (int faceId)
 
int getFaceJMax (int faceId)
 
void getFaceCellIJ (U3dPoint p, int faceId, int &i, int &j)
 
void setShadowedFlag (int i, int j, int faceId)
 
float getFaceCellT (int i, int j, int faceId)
 
float getFaceCellStF (int i, int j, int faceId)
 
float getFaceCellStAz (int i, int j, int faceId)
 
void formFaceActiveZones (int faceId)
 
- Protected Member Functions inherited from U3dRayDynCalculator
dcomplex getZoeppritzCoeff (double p1, U3D_WAVE_TYPE wt1, U3D_WAVE_TYPE wt2, bool transfer, double ro1, double vp1, double vs1, double ro2, double vp2, double vs2)
 
dcomplex cdet4 (dcomplex(*L4)[4])
 
U3D_RTR_TYPE getRTRType (U3D_WAVE_TYPE wt0, U3D_WAVE_TYPE wt1)
 
double getApproxCoeff (int rtr_type, double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsCoeff (int rtr_type, double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsRDir (double f, double v0, double den0, double v1, double den1)
 
double getAkiRichardsRPPup (double f0, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsRPSup (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsRPSdown (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsRPS (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1, bool up=true)
 
double getAkiRichardsRSSup (double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsRSPup (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getAkiRichardsRSPdown (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyCoeff (int rtr_type, double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyRDir (double f, double v0, double den0, double v1, double den1)
 
double getShueyRPPup (double f0, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyRPSup (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyRPSdown (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyRSSup (double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyRSPup (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getShueyRSPdown (double f0, double f1, double vp0, double vs0, double den0, double vp1, double vs1, double den1)
 
double getA (double B, double sigma)
 
double getR0 (double vp0, double vp1, double den0, double den1)
 
double getB (double vp0, double vp1, double R0)
 
double getPoissonsRatio (double vp, double vs)
 
- Protected Member Functions inherited from U3dRayTracing
U3D_STEP_RESULT RayStep (U3dRayPoint &rp, double df, double &dt, double &iAngle, double &iAz, double &iCurvity, int &iBoundNum, U3D_WAVE_TYPE vPS, bool prevInt, bool noIntersect=false)
 
U3D_STEP_RESULT rayStep (U3dRayPoint &rp, double df, double &dt, double &iAngle, double &iAz, double &iCurvity, int &iBoundNum, int &bn1, int &bn2, U3D_WAVE_TYPE vPS, bool prevInt, bool noIntersect=false)
 
bool intersectCellTriangles (const U3dGridCell *cell, U3dPoint p1, U3dPoint p2, U3dPoint &ip, int &iBoundNum, double &iAngle, double &iAz, int debug_level=0)
 
bool processNeighbourCells (const U3dGridCell *cell1, const U3dGridCell *cell2, U3dPoint p1, U3dPoint p2, U3dPoint &ip, int &iBoundNum, double &iAngle, double &iAz, int debug_level=0)
 
double getTime (U3dPoint p0, U3dPoint p1, double v0)
 
bool stepOnRay (U3dRayPoint p1, U3dRayPoint &p2, double df, U3D_WAVE_TYPE vPS, bool prevInt, double &vel)
 
void stepOnChord (double k, double fK, double azK, double df, double vel, U3dRayPoint rp0, U3dRayPoint &rp1)
 
void CalcIntParams (U3dRayPoint p, U3dPoint p0, int rtr, U3dPoint &p1)
 
void calcIntNeighPoints (U3dPoint p_int, double f, double az, U3dPoint &p0, U3dPoint &p1)
 
void getEndPoint (U3dPoint p0, U3dPoint &p1)
 
U3D_STEP_RESULT RayStep (U3dRayPoint &rp, double df, double &dt, double &iAngle, double &iAz, double &iCurvity, int &iBoundNum, U3D_WAVE_TYPE vPS, bool prevInt, bool noIntersect=false)
 
U3D_STEP_RESULT rayStep (U3dRayPoint &rp, double df, double &dt, double &iAngle, double &iAz, double &iCurvity, int &iBoundNum, int &bn1, int &bn2, U3D_WAVE_TYPE vPS, bool prevInt, bool noIntersect=false)
 
bool intersectCellTriangles (const U3dGridCell *cell, U3dPoint p1, U3dPoint p2, U3dPoint &ip, int &iBoundNum, double &iAngle, double &iAz, int debug_level=0)
 
bool processNeighbourCells (const U3dGridCell *cell1, const U3dGridCell *cell2, U3dPoint p1, U3dPoint p2, U3dPoint &ip, int &iBoundNum, double &iAngle, double &iAz, int debug_level=0)
 
double getTime (U3dPoint p0, U3dPoint p1, double v0)
 
bool stepOnRay (U3dRayPoint p1, U3dRayPoint &p2, double df, U3D_WAVE_TYPE vPS, bool prevInt, double &vel)
 
void stepOnChord (double k, double fK, double azK, double df, double vel, U3dRayPoint rp0, U3dRayPoint &rp1)
 
void CalcIntParams (U3dRayPoint p, U3dPoint p0, int rtr, U3dPoint &p1)
 
void calcIntNeighPoints (U3dPoint p_int, double f, double az, U3dPoint &p0, U3dPoint &p1)
 
void getEndPoint (U3dPoint p0, U3dPoint &p1)
 

Protected Attributes

U3dSurfSourcem_ss
 
bool m_ready
 
float m_ss_stp
 
- Protected Attributes inherited from U3dRayDynCalculator
URayReflCoefType m_coeff_type
 
- Protected Attributes inherited from U3dRayTracing
U3dModelm_model
 
U3dBoxm_modelBox
 
double dl
 

Static Protected Attributes

static int m_faceId
 

Additional Inherited Members

- Public Types inherited from U3dAbstractRayShooter
typedef std::vector< ARSFaceZoneARSFaceZonesAr
 
typedef std::vector< ARSFaceZoneARSFaceZonesAr
 

Member Function Documentation

void U3dRTModRayShooter::cleanSS ( )

Free m_ss member

void U3dRTModRayShooter::cleanSS ( )

Free m_ss member

bool U3dRTModRayShooter::coverSurfFace ( U3dPoint  p,
U3dCodeAr  c,
int  debug_level = 0 
)

Cover surface by the rays

Parameters
ppoint, from which all rays will be shooted
cray code
debug_leveldebug information level
bool U3dRTModRayShooter::coverSurfFace ( U3dPoint  p,
U3dCodeAr  c,
int  debug_level = 0 
)

Cover surface by the rays

Parameters
ppoint, from which all rays will be shooted
cray code
debug_leveldebug information level
void U3dRTModRayShooter::getFaceCellIJ ( U3dPoint  p,
int  faceId,
int &  i,
int &  j 
)
protectedvirtual

For current point belongs to modelling area face this function returns its coordinates

Reimplemented from U3dAbstractRayShooter.

void U3dRTModRayShooter::getFaceCellIJ ( U3dPoint  p,
int  faceId,
int &  i,
int &  j 
)
protectedvirtual

For current point belongs to modelling area face this function returns its coordinates

Reimplemented from U3dAbstractRayShooter.

float U3dRTModRayShooter::getFaceCellStAz ( int  i,
int  j,
int  faceId 
)
protectedvirtual

Retruns value of ray start azimuth for current cell on the modelling area face

Reimplemented from U3dAbstractRayShooter.

float U3dRTModRayShooter::getFaceCellStAz ( int  i,
int  j,
int  faceId 
)
protectedvirtual

Retruns value of ray start azimuth for current cell on the modelling area face

Reimplemented from U3dAbstractRayShooter.

float U3dRTModRayShooter::getFaceCellStF ( int  i,
int  j,
int  faceId 
)
protectedvirtual

Retruns value of ray start angle for current cell on the modelling area face

Reimplemented from U3dAbstractRayShooter.

float U3dRTModRayShooter::getFaceCellStF ( int  i,
int  j,
int  faceId 
)
protectedvirtual

Retruns value of ray start angle for current cell on the modelling area face

Reimplemented from U3dAbstractRayShooter.

float U3dRTModRayShooter::getFaceCellT ( int  i,
int  j,
int  faceId 
)
protectedvirtual

Retruns Time value for current cell on the modelling area face

Reimplemented from U3dAbstractRayShooter.

float U3dRTModRayShooter::getFaceCellT ( int  i,
int  j,
int  faceId 
)
protectedvirtual

Retruns Time value for current cell on the modelling area face

Reimplemented from U3dAbstractRayShooter.

int U3dRTModRayShooter::getFaceId ( U3dRay r)
protectedvirtual

Retruns flag of belonging ray's last point to current bound

Reimplemented from U3dAbstractRayShooter.

int U3dRTModRayShooter::getFaceId ( U3dRay r)
protectedvirtual

Retruns flag of belonging ray's last point to current bound

Reimplemented from U3dAbstractRayShooter.

int U3dRTModRayShooter::getFaceIMax ( int  faceId)
protectedvirtual

Retruns maximal i-index for current modelling area face

Reimplemented from U3dAbstractRayShooter.

int U3dRTModRayShooter::getFaceIMax ( int  faceId)
protectedvirtual

Retruns maximal i-index for current modelling area face

Reimplemented from U3dAbstractRayShooter.

int U3dRTModRayShooter::getFaceJMax ( int  faceId)
protectedvirtual

Retruns maximal j-index for current modelling area face

Reimplemented from U3dAbstractRayShooter.

int U3dRTModRayShooter::getFaceJMax ( int  faceId)
protectedvirtual

Retruns maximal j-index for current modelling area face

Reimplemented from U3dAbstractRayShooter.

bool U3dRTModRayShooter::getReady ( )
inline

Return object status flag

bool U3dRTModRayShooter::getReady ( )
inline

Return object status flag

bool U3dRTModRayShooter::getSurfSource ( U3dPoint  sp,
U3D_WAVE_TYPE  wt,
int  bId,
U3dSurfSource *&  ss_out 
)

Calculate surface source for given shot point and bound

Parameters
spshot point
wtwave type
bIdbound identifier
ss_outformed bound surface source
bool U3dRTModRayShooter::getSurfSource ( U3dPoint  sp,
U3D_WAVE_TYPE  wt,
int  bId,
U3dSurfSource *&  ss_out 
)

Calculate surface source for given shot point and bound

Parameters
spshot point
wtwave type
bIdbound identifier
ss_outformed bound surface source
bool U3dRTModRayShooter::initialSurfCovering ( U3dPoint  p,
U3dCodeAr  c,
int  debug_level = 0 
)
Parameters
ppoint, from which all rays will be shooted
cray code
debug_leveldebug information level
bool U3dRTModRayShooter::initialSurfCovering ( U3dPoint  p,
U3dCodeAr  c,
int  debug_level = 0 
)
Parameters
ppoint, from which all rays will be shooted
cray code
debug_leveldebug information level
bool U3dRTModRayShooter::initSS ( int  bId,
U3dCodeAr  wc 
)

Initialize surface source (m_ss member)

bool U3dRTModRayShooter::initSS ( int  bId,
U3dCodeAr  wc 
)

Initialize surface source (m_ss member)

U3dRay* U3dRTModRayShooter::oneBodySP2RecRayShoot ( U3dPoint  startP,
U3dPoint  recp,
double  stF,
double  stAz,
U3D_WAVE_TYPE  wt,
int  bodyId 
)

Makes ray steps, until the receiver will be reached. Last point will be saved as well intersection point.

Parameters
startPshot point
recpreceiver point
stFray start angle
stAzray start azimuth
wtwave type
bodyIdbody identifier
U3dRay* U3dRTModRayShooter::oneBodySP2RecRayShoot ( U3dPoint  startP,
U3dPoint  recp,
double  stF,
double  stAz,
U3D_WAVE_TYPE  wt,
int  bodyId 
)

Makes ray steps, until the receiver will be reached. Last point will be saved as well intersection point.

Parameters
startPshot point
recpreceiver point
stFray start angle
stAzray start azimuth
wtwave type
bodyIdbody identifier
U3dRay* U3dRTModRayShooter::rayShoot ( U3dPoint  startP,
double  f,
double  az,
U3dCodeAr  rCode,
bool  waySave 
)
virtual

Single ray shooting procedure (main, is used in coverSurfFace() method and so on)

Parameters
startPray start point
fray start angle
azray start azimuth
rCoderay code
waySaveflag to save ray path, or not

Reimplemented from U3dRayTracing.

U3dRay* U3dRTModRayShooter::rayShoot ( U3dPoint  startP,
double  f,
double  az,
U3dCodeAr  rCode,
bool  waySave 
)
virtual

Single ray shooting procedure (main, is used in coverSurfFace() method and so on)

Parameters
startPray start point
fray start angle
azray start azimuth
rCoderay code
waySaveflag to save ray path, or not

Reimplemented from U3dRayTracing.

U3dRay* U3dRTModRayShooter::rayShootDyn ( U3dRayPoint  start_p,
U3dPoint  recp,
U3dCodeAr  rCode,
bool  waySave,
int  debug_level = 0 
)

Single ray shooting procedure (directly from shot point up to the receiver). The dynamic parameters are calculated.

Parameters
start_pstart point and initial ray direction
recpreceiver point
rCoderay code
waySaveflag to save ray path, or not
U3dRay* U3dRTModRayShooter::rayShootDyn ( U3dRayPoint  start_p,
U3dPoint  recp,
U3dCodeAr  rCode,
bool  waySave,
int  debug_level = 0 
)

Single ray shooting procedure (directly from shot point up to the receiver). The dynamic parameters are calculated.

Parameters
start_pstart point and initial ray direction
recpreceiver point
rCoderay code
waySaveflag to save ray path, or not
void U3dRTModRayShooter::setShadowedFlag ( int  i,
int  j,
int  faceId 
)
protectedvirtual

Sets shadowed flag for current cell on the modelling area face

Reimplemented from U3dAbstractRayShooter.

void U3dRTModRayShooter::setShadowedFlag ( int  i,
int  j,
int  faceId 
)
protectedvirtual

Sets shadowed flag for current cell on the modelling area face

Reimplemented from U3dAbstractRayShooter.

bool U3dRTModRayShooter::shootPoint ( U3dRayPoint  start_p,
U3dPoint  recp,
double &  devF,
double &  devAz,
U3dCodeAr  rCode,
int  bodyId,
U3dRayPoint wp,
int  debug_level = 0 
)

Procedure for single receiver shooting

Parameters
start_pstart point and initial ray direction
recpreceiver point
devFresulting ray angle deviation from initial direction
devAzresulting ray azimuth deviation from initial direction
rCoderay code
bodyIdbody identifier
wpshooted point (nearest to the receiver)
debug_leveldebug information level
bool U3dRTModRayShooter::shootPoint ( U3dRayPoint  start_p,
U3dPoint  recp,
double &  devF,
double &  devAz,
U3dCodeAr  rCode,
int  bodyId,
U3dRayPoint wp,
int  debug_level = 0 
)

Procedure for single receiver shooting

Parameters
start_pstart point and initial ray direction
recpreceiver point
devFresulting ray angle deviation from initial direction
devAzresulting ray azimuth deviation from initial direction
rCoderay code
bodyIdbody identifier
wpshooted point (nearest to the receiver)
debug_leveldebug information level
bool U3dRTModRayShooter::shootSurfFirstRay ( U3dPoint  p,
U3dCodeAr  code,
double &  in_f,
double &  in_az,
double  df,
double  daz 
)

Provide looped ray shooting to define the first ray, intersecting given bound

Parameters
pshot point
coderay code
in_fray start angle
in_azray start azimuth
dfray angle step
dazray azimuth step
bool U3dRTModRayShooter::shootSurfFirstRay ( U3dPoint  p,
U3dCodeAr  code,
double &  in_f,
double &  in_az,
double  df,
double  daz 
)

Provide looped ray shooting to define the first ray, intersecting given bound

Parameters
pshot point
coderay code
in_fray start angle
in_azray start azimuth
dfray angle step
dazray azimuth step
double U3dRTModRayShooter::SPBodyRecShoot ( U3dPoint  startP,
U3dPoint  recp,
double  f,
double  az,
U3dCodeAr  rCode,
int  bodyId,
U3dRayPoint wp 
)

Service procedure for shootPoint() method

Parameters
startPshot point
recpreceiver point
fray start angle
azray start azimuth
rCoderay code
bodyIdbody identifier
wpshooted point (nearest to the receiver)
double U3dRTModRayShooter::SPBodyRecShoot ( U3dPoint  startP,
U3dPoint  recp,
double  f,
double  az,
U3dCodeAr  rCode,
int  bodyId,
U3dRayPoint wp 
)

Service procedure for shootPoint() method

Parameters
startPshot point
recpreceiver point
fray start angle
azray start azimuth
rCoderay code
bodyIdbody identifier
wpshooted point (nearest to the receiver)

Member Data Documentation

bool U3dRTModRayShooter::m_save_ray_path

Flag to remember the ray paths or not (during dynamic calculation)


The documentation for this class was generated from the following files: