Технический форум по робототехнике.
blindman писал(а):На самом деле вопрос не в том,насколько удобно использовать wxWidgets, а в том, сможет ли автор предоставить свои закрытые библиотеки скомпилированные под Linux
if(gpCmdArray) {
bool MvFrw = gpCmdArray->Cmd[cmFORWARD];
bool MvBkw = gpCmdArray->Cmd[cmBACKWARDS];
bool MvLft = gpCmdArray->Cmd[cmLEFT];
bool MvRht = gpCmdArray->Cmd[cmRIGHT];
bool TrLft = gpCmdArray->Cmd[cmTURRET_LEFT];
bool TrRht = gpCmdArray->Cmd[cmTURRET_RIGHT];
memset(gpCmdArray, 0, sizeof(TCmdArray));
if(d.ObjTotal) {
double ScrBase = MIN(apImage->width, apImage->height);
double ObjBase = MAX(d.ObjRect->width, d.ObjRect->height);
double ObjZoom = ObjBaseScrBase;
int cXs = apImage->width>>1;
int cXo = d.ObjRect->x + (d.ObjRect->width>>1);
int cXd = cXs - cXo;
if(ObjZoom > 0.6 || (ObjZoom > 0.57 && MvBkw)) { gpCmdArray->Cmd[cmBACKWARDS] = true; }
if(ObjZoom < 0.30 || (ObjZoom < 0.33 && MvFrw)) { gpCmdArray->Cmd[cmFORWARD] = true; }
if(cXd > 40) {
if(!MvLft && gNvg.TurretBalance > 0) { gpCmdArray->Cmd[cmLEFT] = true; }
if(!TrLft) {
gpCmdArray->Cmd[cmTURRET_LEFT] = true;
gNvg.TurretBalance++;
}
}
if(cXd < -40) {
if(!MvRht && gNvg.TurretBalance < 0) { gpCmdArray->Cmd[cmRIGHT] = true; }
if(!TrRht) {
gpCmdArray->Cmd[cmTURRET_RIGHT] = true;
gNvg.TurretBalance--;
}
}
} else {
// Выравнивание башни
if(gNvg.TurretBalance) {
if(gNvg.TurretBalance > 0) {
gpCmdArray->Cmd[cmTURRET_RIGHT] = true;
gNvg.TurretBalance--;
} else {
gpCmdArray->Cmd[cmTURRET_LEFT] = true;
gNvg.TurretBalance++;
}
}
}
}