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);
116 float& stF,
float& stAz);
118 void printConfCell(
int i0,
int j0,
int faceId,
int confId = 3);
120 void printCellNhbC(
int i0,
int j0,
int faceId,
int nhb_num = 7);
131 int ni,
int nj, U3dCodeAr c,
int &resI,
int &resJ);
135 int i0,
int j0, U3dCodeAr c,
int &resI,
int &resJ);
145 bool findCleanNhbCell(
int faceId,
int &i,
int &j,
int &filled_cells_num,
int &shadow_cells_num);
156 char getCellStatus(
int i,
int j,
int faceId);
244 typedef std::vector<ARSFaceZone> ARSFaceZonesAr;
246 ARSFaceZonesAr m_face_active_zones;
248 virtual void formFaceActiveZones(
int faceId)
255 ARSFaceZone face_zone;
258 face_zone.imax = imax;
261 face_zone.jmax = jmax;
263 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)
static void error(const char *format,...)
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:192
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:200
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)
bool checkConf5(int i0, int j0, int faceId)
bool coverNhbC2(int faceId, int i0, int j0, U3dPoint p, U3dCodeAr c)
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:208
int checkNhbCell(int faceId, int i0, int j0)
Definition: u3d_point.hpp:16
virtual int getFaceId(U3dRay *r)
Definition: u3d_abstract_shooter.hpp:165
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:174
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:226
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:183
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:217
bool coverNhbCCross(int faceId, int ni, int nj, U3dPoint p, U3dCodeAr c, int &resi, int &resj)
bool isFaceCellFilled(int i, int j, int faceId)