EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Scan.h
Go to the documentation of this file.
1 
11 #ifndef EVEMU_SCANING_SCAN_H_
12 #define EVEMU_SCANING_SCAN_H_
13 
14 #include "packets/Scan.h"
16 
17 struct SignalData {
18  float distance;
19  float certainty;
20  float deviation;
24 };
25 
26 
27 class PyRep;
28 class Client;
29 class ProbeSE;
30 class SystemManager;
31 
32 class Scan {
33 public:
34  Scan(Client* pClient);
35  //Scan(Scan& scan);
36  ~Scan() { /* do nothing here */ }
37 
38  // called by client timer, which was set for probeStateChange
39  void ProcessScan(bool useProbe=false);
40 
41  uint8 GetProbeCount() { return (uint8)m_probeMap.size(); }
42 
43  PyRep* ConeScan(Call_ConeScan args);
44  void RequestScans(PyDict* dict);
45  void ShipScanResult();
46  void ProbeScanResult();
47 
48  void SystemScanStarted(uint16 duration);
49 
50  // probe methods
51  void AddProbe(ProbeSE* pProbe);
52  void RemoveProbe(ProbeSE* pProbe);
53 
54  bool GetProbeDataForSig(SignalData& data);
55  // this will determine signal strength, deviation, and other aspects based on signal type and probe data
56  void GetSignalData(SignalData& data, std::vector<ProbeSE*>& probeVec);
57 
58 protected:
59  void ScanStart();
60  void SurveyScan();
61 
62 private:
66 
67  void CalcProbeAngles(GPoint& sigPos, std::vector<ProbeSE*>& probeVec, std::map<float, std::pair<ProbeSE*, ProbeSE*>>& angleMap);
68 
70 
71  std::map<uint32, ProbeSE*> m_probeMap; // probeID/ProbeSE*
72  std::map<uint32, ProbeSE*> m_activeProbeMap; // probeID/ProbeSE*
73 };
74 
75 #endif // EVEMU_SCANING_SCAN_H_
76 
77 /*{'messageKey': 'ScnAlreadyActive', 'dataID': 17879691, 'suppressable': False, 'bodyID': 258103, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2050}
78  * {'messageKey': 'ScnAlreadyInProgress', 'dataID': 17880021, 'suppressable': False, 'bodyID': 258232, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2234}
79  * {'messageKey': 'ScnGrpsNotEnoughSkill', 'dataID': 17879688, 'suppressable': False, 'bodyID': 258102, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2049}
80  * {'messageKey': 'ScnMixedProbes', 'dataID': 17880018, 'suppressable': False, 'bodyID': 258231, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2233}
81  * {'messageKey': 'ScnNoLauncher', 'dataID': 17881289, 'suppressable': False, 'bodyID': 258722, 'messageType': 'info', 'urlAudio': '', 'urlIcon': '', 'titleID': 258721, 'messageID': 1506}
82  * {'messageKey': 'ScnNoMaterials', 'dataID': 17881579, 'suppressable': False, 'bodyID': 258824, 'messageType': 'info', 'urlAudio': '', 'urlIcon': '', 'titleID': 258823, 'messageID': 1507}
83  * {'messageKey': 'ScnNoProbes', 'dataID': 17881292, 'suppressable': False, 'bodyID': 258723, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 1508}
84  * {'messageKey': 'ScnNoResults', 'dataID': 17881295, 'suppressable': False, 'bodyID': 258724, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 1509}
85  * {'messageKey': 'ScnProbeForShips', 'dataID': 17880384, 'suppressable': False, 'bodyID': 258371, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2231}
86  * {'messageKey': 'ScnProbeProximity', 'dataID': 17879709, 'suppressable': False, 'bodyID': 258110, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2072}
87  * {'messageKey': 'ScnProbeRecoverToPod', 'dataID': 17877357, 'suppressable': False, 'bodyID': 257220, 'messageType': 'info', 'urlAudio': '', 'urlIcon': '', 'titleID': 257219, 'messageID': 2862}
88  * {'messageKey': 'ScnProbeUnusable', 'dataID': 17880172, 'suppressable': False, 'bodyID': 258291, 'messageType': 'info', 'urlAudio': '', 'urlIcon': '', 'titleID': 258290, 'messageID': 2195}
89  * {'messageKey': 'ScnShipIsCapsule', 'dataID': 17878793, 'suppressable': False, 'bodyID': 257760, 'messageType': 'info', 'urlAudio': '', 'urlIcon': '', 'titleID': 257759, 'messageID': 2315}
90  * {'messageKey': 'ScnShipScannerDeadspaceOnly', 'dataID': 17878747, 'suppressable': False, 'bodyID': 257742, 'messageType': 'info', 'urlAudio': '', 'urlIcon': '', 'titleID': 257741, 'messageID': 2286}
91  * {'messageKey': 'ScnShipScannerTooManyProbes', 'dataID': 17878742, 'suppressable': False, 'bodyID': 257740, 'messageType': 'info', 'urlAudio': '', 'urlIcon': '', 'titleID': 257739, 'messageID': 2285}
92  */
93 
Base Python wire object.
Definition: PyRep.h:66
unsigned __int8 uint8
Definition: eve-compat.h:46
float distance
Definition: Scan.h:18
void AddProbe(ProbeSE *pProbe)
Definition: Scan.cpp:45
Python's dictionary.
Definition: PyRep.h:719
Scan(Client *pClient)
Definition: Scan.cpp:36
bool GetProbeDataForSig(SignalData &data)
Definition: Scan.cpp:425
PyRep * probes
Definition: Scan.h:22
void GetSignalData(SignalData &data, std::vector< ProbeSE * > &probeVec)
Definition: Scan.cpp:580
void SystemScanStarted(uint16 duration)
Definition: Scan.cpp:204
void RemoveProbe(ProbeSE *pProbe)
Definition: Scan.cpp:51
void CalcProbeAngles(GPoint &sigPos, std::vector< ProbeSE * > &probeVec, std::map< float, std::pair< ProbeSE *, ProbeSE * >> &angleMap)
Definition: Scan.cpp:681
* args
Definition: gpoint.h:33
ManagerDB * m_db
Definition: Scan.h:63
float deviation
Definition: Scan.h:20
Definition: Probes.h:71
void RequestScans(PyDict *dict)
Definition: Scan.cpp:139
SystemManager * m_system
Definition: Scan.h:65
float certainty
Definition: Scan.h:19
bool m_probeScan
Definition: Scan.h:69
std::map< uint32, ProbeSE * > m_probeMap
Definition: Scan.h:71
PyRep * ConeScan(Call_ConeScan args)
Definition: Scan.cpp:99
std::map< uint32, ProbeSE * > m_activeProbeMap
Definition: Scan.h:72
void ProbeScanResult()
Definition: Scan.cpp:294
CosmicSignature sig
Definition: Scan.h:21
Definition: Client.h:66
void ShipScanResult()
Definition: Scan.cpp:245
void ProcessScan(bool useProbe=false)
Definition: Scan.cpp:56
uint8 GetProbeCount()
Definition: Scan.h:41
PyRep * probePos
Definition: Scan.h:23
void ScanStart()
Definition: Scan.cpp:787
~Scan()
Definition: Scan.h:36
unsigned __int16 uint16
Definition: eve-compat.h:48
Client * m_client
Definition: Scan.h:64
Definition: Scan.h:32
void SurveyScan()
Definition: Scan.cpp:792