4 #ifndef __u3d_abstract_shooter_hpp
5 #define __u3d_abstract_shooter_hpp
7 #include "u3d_raydyn_calculator.hpp"
8 #include "u3d_shooter_defines.hpp"
28 bool findNextCell(
int faceId,
int &condId,
int &i,
int &j,
29 int &filled_cells_num,
int &shadow_cells_num,
int& conf_type,
32 bool findNextCleanCell(
int faceId,
int &confId,
int &resI,
int &resJ,
33 int &filled_cells_num,
int &shadow_cells_num,
int& conf_type,
36 bool checkFaceZone(
int faceId,
int zoneId,
int conf,
int& conf_type,
int &resI,
int &recJ);
45 bool coverConf(
int confId,
int faceId,
int i0,
int j0,
U3dPoint p, U3dCodeAr c,
int conf_type);
49 int &resi,
int &resj);
57 bool shootNhbC2Cross(
int faceId,
int i0,
int j0,
U3dPoint p, U3dCodeAr c,
58 int i_n0,
int j_n0,
int i_n1,
int j_n1);
76 int checkConf(
int i0,
int j0,
int faceId);
78 bool checkConf(
int confId,
int i0,
int j0,
int faceId,
int& conf_type);
87 bool checkConf3(
int i0,
int j0,
int faceId,
int& conf_type);
99 bool find2FilledNhbC3(
int faceId,
int i0,
int j0,
int conf_type,
100 int& i_n0,
int& j_n0,
int& i_n1,
int& j_n1);
104 int& i_n0,
int& j_n0,
int& i_n1,
int& j_n1,
int& i_n2,
int& j_n2);
108 int& i_n0,
int& j_n0,
int& i_n1,
int& j_n1,
int& i_n2,
int& j_n2);
113 int i_n0,
int j_n0,
int i_n1,
int j_n1,
int i_n2,
int j_n2,
114 float& stF,
float& stAz);
116 void printConfCell(
int i0,
int j0,
int faceId,
int confId = 3);
118 void printCellNhbC(
int i0,
int j0,
int faceId,
int nhb_num = 7);
129 int ni,
int nj, U3dCodeAr c,
int &resI,
int &resJ);
133 int i0,
int j0, U3dCodeAr c,
int &resI,
int &resJ);
143 bool findCleanNhbCell(
int faceId,
int &i,
int &j,
int &filled_cells_num,
int &shadow_cells_num);
154 char getCellStatus(
int i,
int j,
int faceId);
242 typedef std::vector<ARSFaceZone> ARSFaceZonesAr;
244 ARSFaceZonesAr m_face_active_zones;
246 virtual void formFaceActiveZones(
int faceId)
249 UMessage::error(
"U3dAbstractRayShooter :: formFaceActiveZones works...");
256 face_zone.imax = imax;
259 face_zone.jmax = jmax;
261 m_face_active_zones.push_back(face_zone);
bool isFaceCellShadowed(int i, int j, int faceId)
bool coverConf(int confId, int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int conf_type)
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)
virtual void getFaceCellIJ(U3dPoint p, int faceId, int &i, int &j)
Definition: u3d_abstract_shooter.hpp:190
bool coverNhbC5(int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
bool coverNhbC1(int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
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)
virtual void setShadowedFlag(int i, int j, int faceId)
Definition: u3d_abstract_shooter.hpp:198
bool shootNcheckPh2(int faceId, U3dPoint p, float f, float az, int i0, int j0, U3dCodeAr c, int &resI, int &resJ)
bool checkConf2(int i0, int j0, int faceId)
Definition: u3d_abstract_shooter.hpp:234
bool checkConf5(int i0, int j0, int faceId)
bool coverNhbC2(int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
static void error(const char *format,...)
bool checkConf4(int i0, int j0, int faceId)
bool findCleanNhbCell(int faceId, int &i, int &j, int &filled_cells_num, int &shadow_cells_num)
virtual float getFaceCellT(int i, int j, int faceId)
Definition: u3d_abstract_shooter.hpp:206
int checkNhbCell(int faceId, int i0, int j0)
Definition: u3d_point.hpp:16
virtual int getFaceId(U3dRay *r)
Definition: u3d_abstract_shooter.hpp:163
bool checkConf1(int i0, int j0, int faceId)
bool findFilledFaceNhbCell(U3dPoint p, int faceId, U3dCodeAr c, int &resI, int &resJ)
bool coverNhbC4(int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
Definition: u3d_ray.hpp:14
int shootNcheckPh1(int faceId, U3dPoint p, float f, float az, int ni, int nj, U3dCodeAr c, int &resI, int &resJ)
bool coverNhbCSpiral(int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
bool coverNhbC3(int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c, int conf_type)
virtual int getFaceIMax(int faceId)
Definition: u3d_abstract_shooter.hpp:172
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)
Definition: u3d_raydyn_calculator.hpp:14
virtual float getFaceCellStAz(int i, int j, int faceId)
Definition: u3d_abstract_shooter.hpp:224
Definition: u3d_model.hpp:15
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)
Definition: u3d_abstract_shooter.hpp:17
bool checkConf6(int i0, int j0, int faceId)
virtual int getFaceJMax(int faceId)
Definition: u3d_abstract_shooter.hpp:181
bool checkConf3(int i0, int j0, int faceId, int &conf_type)
bool isFaceCellClean(int i, int j, int faceId)
bool findFilledNhbCell(int faceId, int &i, int &j)
virtual float getFaceCellStF(int i, int j, int faceId)
Definition: u3d_abstract_shooter.hpp:215
bool coverNhbCCross(int faceId, int ni, int nj, U3dPoint p, U3dCodeAr c, int &resi, int &resj)
bool isFaceCellFilled(int i, int j, int faceId)