рдФрд░ рдлрд┐рд░ рд╕реЗ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ: рдЧреЗрдВрдбрд╛ рд╕реНрдЯреЗрд▓рд╛рд░рд┐рдпрдо рдХрд╛ рджреМрд░рд╛ рдХреИрд╕реЗ рдХрд┐рдпрд╛

рдЕрдкрдиреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдкреВрд░реА рдЕрд╡рдзрд┐ рдореЗрдВ, рд▓реЛрдЧреЛрдВ рдиреЗ рддрд╛рд░реЛрдВ рд╡рд╛рд▓реЗ рдЖрдХрд╛рд╢ рдХреЗ рд▓рдЧрднрдЧ рдкреВрд░реЗ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИред рдЖрдЬ рддрдХ, рд╣рдордиреЗ рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ рдХреНрд╖реБрджреНрд░рдЧреНрд░рд╣реЛрдВ, рдзреВрдордХреЗрддреБ, рдиреЗрдмреБрд▓рд╛ рдФрд░ рд╕рд┐рддрд╛рд░реЛрдВ, рдЖрдХрд╛рд╢рдЧрдВрдЧрд╛рдУрдВ рдФрд░ рдЧреНрд░рд╣реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИред рдпрд╣ рд╕рдм рд╕реБрдВрджрд░рддрд╛ рдЦреБрдж рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдШрд░ рдЫреЛрдбрд╝рдиреЗ рдФрд░ рдЦреБрдж рдХреЛ рджреВрд░рдмреАрди рдЦрд░реАрджрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЖрдк рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрдХ рддрд╛рд░рд╛рдордВрдбрд▓ - рдПрдХ рдЖрднрд╛рд╕реА рддрд╛рд░рд╛рдордВрдбрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд░рд╛рдд рдХреЗ рдЖрдХрд╛рд╢ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрд░рд╛рдо рд╕реЗ рд╕реЛрдлреЗ рдкрд░ рдЭреВрда рдмреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ ... рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдЖрд░рд╛рдорджрд╛рдпрдХ рд╣реИ? рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЗрд▓реЗрд░рд┐рдпрдо рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗред



рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ ...


рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╡рд░реНрдгрди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╕реНрдЯреЗрд▓реЗрд░рд┐рдпрдо рдПрдХ рдЦреБрд▓рд╛-рд╕реНрд░реЛрдд рдЖрднрд╛рд╕реА рддрд╛рд░рд╛рдордВрдбрд▓ рд╣реИ рдЬреЛ рд▓рд┐рдирдХреНрд╕, рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдВрдбреЛрдЬ, рд╕рд┐рдореНрдмрд┐рдпрди, рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдЖрдИрдУрдПрд╕ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдореАрдЧреЛ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрд▓рдмреНрдз рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдПрдХ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдЖрдХрд╛рд╢ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдУрдкрдирдЬреАрдПрд▓ рдФрд░ рдХреНрдпреВрдЯреА рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╕реНрдЯреЗрд▓реЗрд░рд┐рдпрдо рдХреЗ рд╕рд╛рде рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдПрдХ рдордзреНрдпрдо рдФрд░ рдмрдбрд╝реА рджреВрд░рдмреАрди рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реМрд░ рдЧреНрд░рд╣рдгреЛрдВ рдФрд░ рдзреВрдордХреЗрддреБрдУрдВ рдХреА рдЧрддрд┐ рдХрд╛ рднреА рдЕрд╡рд▓реЛрдХрди рдХрд░рддрд╛ рд╣реИред

рд╕реНрдЯреЗрд▓реЗрд░рд┐рдпрдо рдХреЛ рдлреНрд░рд╛рдВрд╕реАрд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдлреИрдмрд┐рдпрди рдЪреЗрд░реВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ 2001 рдХреА рдЧрд░реНрдорд┐рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХреА рдереАред рдЕрдиреНрдп рдкреНрд░рдореБрдЦ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рд░реЙрдмрд░реНрдЯ рд╕реНрдкреАрдпрд░рдореИрди, рдЬреЛрд╣рд╛рдиреНрд╕ рдЧрдбрдЬрд╝реЛрдЗрдХ, рдореИрдереНрдпреВ рдЧреЗрдЯреНрд╕, рдЯрд┐рдореЛрдереА рд░реАрд╡реНрд╕, рдмреЛрдЧрджрд╛рди рдорд╛рд░рд┐рдиреЛрд╡ рдФрд░ рдЬреЛрд╣рд╛рди рдореАрд░рд┐рд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬреЛ рдХрд▓рд╛рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред

... рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдЯреИрдЯрд┐рдХ рдХреЛрдб рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рд╕реА, рд╕реА ++ рдФрд░ рд╕реА # (рдЬрд▓реНрдж рд╣реА рдЬрд╛рд╡рд╛ рдореЗрдВ!) рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реИред рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕ рдФрд░ рдореИрдХрдУрдПрд╕ рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛рдлреА рд╕рд░рд▓ рдерд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ GitHub рд╕реЗ Stellarium рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдПред рдЪреВрдВрдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ Qt рдХреНрд░рд┐рдПрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдХрдВрдкрд╛рдЗрд▓рд░ рд▓реЙрдиреНрдЪ рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╣рд╛рдВ рдЖрдк рд╕рдорд╛рдкреНрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реНрдЯреЗрд▓реЗрд░рд┐рдпрдо рдХреЗ рдирдП рдкрд╛рдардХреЛрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рд╕реЛрдЪрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рд▓реЗрдЦ рдХреЗ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдпреВрдирд┐рдХреЙрд░реНрди рдХреНрдпреЛрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ? рдореИрдВ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реВрдВ: рдореИрдВ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реВрдВ, рдФрд░ рдЧреЗрдВрдбрд╛ рд╣рдорд╛рд░рд╛ рдкрд╕рдВрджреАрджрд╛ рд╢рд░рд╛рд░рддреА рд╢реБрднрдВрдХрд░ рд╣реИред рдЗрддрдирд╛ рдКрдкрд░!


рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдкрд╛рдардХ рдЦреБрдж рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирдпрд╛ рд╕реАрдЦреЗрдВрдЧреЗ, рдФрд░ рд╕реНрдЯреЗрд▓рд╛рд░рд┐рдпрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдФрд░ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред

рдПрдХ рдПрдпрд░ рдХреНрд░реЛрдЗрд╕реИрди рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдХреЙрдлреА рд▓рд╛рдПрдВ рдФрд░ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЖрд░рд╛рдорджрд╛рдпрдХ рдмрдирд╛рдПрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рднрд╛рдЧ рдореЗрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ - рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди!

рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рд╕реНрдерд┐рддрд┐


рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдкрдврд╝рдиреЗ рдХреА рдЦреБрд╢реА рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕реАрдзреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдирд╣реАрдВ рджреЗрдЦрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЦреБрдж рдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдФрд░ рдЖрдЧреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

void QZipReaderPrivate::scanFiles() { .... // find EndOfDirectory header int i = 0; int start_of_directory = -1; EndOfDirectory eod; while (start_of_directory == -1) { const int pos = device->size() - int(sizeof(EndOfDirectory)) - i; if (pos < 0 || i > 65535) { qWarning() << "QZip: EndOfDirectory not found"; return; } device->seek(pos); device->read((char *)&eod, sizeof(EndOfDirectory)); if (readUInt(eod.signature) == 0x06054b50) break; ++i; } .... } 

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА : V654 рд▓реВрдк рдХреА рд╕реНрдерд┐рддрд┐ 'start_of_directory == - 1' рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддреА рд╣реИред qzip.cpp 617

рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреЛрдИ рдЧрд▓рддреА рдорд┐рд▓ рд╕рдХрддреА рд╣реИ? рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ рддреЛ рддрд╛рд░реАрдл рдХрд░реЗрдВред

рддреНрд░реБрдЯрд┐ рд▓реВрдк рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЪрд░ start_of_directory рд▓реВрдк рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЪрдХреНрд░ рд╢рд╛рд╢реНрд╡рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╡рд╛рдкрд╕реА рдФрд░ рдмреНрд░реЗрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ , рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХреЛрдб рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИред

рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдореЗрдВ рд╡реЗ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ start_of_directory = рдкреЙрдЬрд╝ рдХреЛ рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рдмрдирд╛рдирд╛ рднреВрд▓ рдЧрдП рдЬрд╣рд╛рдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рддрдм рд╡рд┐рд░рд╛рдо рдХрдерди рд╢рд╛рдпрдж рдЕрддрд┐рд╢реНрдпреЛрдХреНрддрд┐рдкреВрд░реНрдг рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдб рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 int i = 0; int start_of_directory = -1; EndOfDirectory eod; while (start_of_directory == -1) { const int pos = device->size() - int(sizeof(EndOfDirectory)) - i; if (pos < 0 || i > 65535) { qWarning() << "QZip: EndOfDirectory not found"; return; } device->seek(pos); device->read((char *)&eod, sizeof(EndOfDirectory)); if (readUInt(eod.signature) == 0x06054b50) start_of_directory = pos; ++i; } 

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдб рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЦреБрдж рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВред

рдПрдХ рдФрд░ рдЕрдЬреАрдм рд╕реНрдерд┐рддрд┐:

 class StelProjectorCylinder : public StelProjector { public: .... protected: .... virtual bool intersectViewportDiscontinuityInternal(const Vec3d& capN, double capD) const { static const SphericalCap cap1(1,0,0); static const SphericalCap cap2(-1,0,0); static const SphericalCap cap3(0,0,-1); SphericalCap cap(capN, capD); return cap.intersects(cap1) && cap.intersects(cap2) && cap.intersects(cap2); } }; 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V501 рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ 'cap.intersects (cap2)' рдмрд╛рдИрдВ рдУрд░ рдФрд░ '&&' рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ред StelProjectorClasses.hpp 175

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рдЪреБрдХреЗ рд╣реИрдВ, рддреНрд░реБрдЯрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╣реИ: рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдПрдХ рдЯрд╛рдЗрдкреЛ рдмрдирд╛рдпрд╛, рдФрд░ рдЕрдВрдд рдореЗрдВ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреИрдк 3 рдХреЗ рдореВрд▓реНрдп рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ рдЕрддреНрдпрдВрдд рд╕рд╛рдорд╛рдиреНрдп рд╣реИ: рд▓рдЧрднрдЧ рд╣рд░ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рд╣рдореЗрдВ рдирд╛рдо 1 рдФрд░ name2 рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдирд╛рдореЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЯрд╛рдЗрдкреЛрд╕ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдРрд╕реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрддреА рд╣реИрдВред

рдпрд╣ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдПрдХ рдЕрдиреНрдп рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐ рдкреИрдЯрд░реНрди рдХрд╛ рдПрдХ рдкреНрд░рдореБрдЦ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдПрдХ рдЕрд▓рдЧ рдорд┐рдиреА-рдЕрдзреНрдпрдпрди рднреА рдХрд┐рдпрд╛ рдерд╛ред рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧреА рдЖрдВрджреНрд░реЗрдИ рдХрд╛рд░реНрдкреЛрд╡ рдиреЗ рдЗрд╕реЗ " рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдкреНрд░рднрд╛рд╡ " рдХрд╣рд╛ред рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдореИрдВ рдмрд╛рдж рдореЗрдВ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдХ рдЯреИрдм рдЦреЛрд▓рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЬрд╛рд░реА рд░рдЦреЗрдВред

 void BottomStelBar::updateText(bool updatePos) { .... updatePos = true; .... if (location->text() != newLocation || updatePos) { updatePos = true; .... } .... if (fov->text() != str) { updatePos = true; .... } .... if (fps->text() != str) { updatePos = true; .... } if (updatePos) { .... } } 

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА:

  • V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: рдЕрдкрдбреЗрдЯрдкреЛрд╕ред StelGuiItems.cpp 732
  • V547 рдПрдХреНрд╕рдкреНрд░реЗрд╢рди 'рдЕрдкрдбреЗрдЯрдкреЛрд╕' рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред StelGuiItems.cpp 831
  • V763 рдкреИрд░рд╛рдореАрдЯрд░ 'рдЕрдкрдбреЗрдЯрдкреЛрд╕' рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдмреЙрдбреА рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред StelGuiItems.cpp 690

рдЕрдкрдбреЗрдЯрдкреЛрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдорд╛рди рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдУрд╡рд░рд░рд╛рдЗрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдлрд╝рдВрдХреНрд╢рди рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛, рднрд▓реЗ рд╣реА рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд╛рди рдкрд╛рд╕ рди рд╣реЛред

рдЕрдЬреАрдм рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд╣реИ рдирд╛? рд╕рднреА рдЬрдЧрд╣реЛрдВ рдкрд░ рдЬрд╣рд╛рдВ рдЕрдкрдбреЗрдЯрдкреЛрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реИ , рдпрд╣ рд╕рдЪ рд╣реИ ред рдЗрд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ (рд╕реНрдерд╛рди-> рдкрд╛рда) (! = NewLocation || updatePos) рдФрд░ рдпрджрд┐ (updatePos) рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╣реЛрдВрдЧреАред

рдПрдХ рдФрд░ рд╕реНрдирд┐рдкреЗрдЯ:

 void LandscapeMgr::onTargetLocationChanged(StelLocation loc) { .... if (pl && flagEnvironmentAutoEnabling) { QSettings* conf = StelApp::getInstance().getSettings(); setFlagAtmosphere(pl->hasAtmosphere() & conf->value("landscape/flag_atmosphere", true).toBool()); setFlagFog(pl->hasAtmosphere() & conf->value("landscape/flag_fog", true).toBool()); setFlagLandscape(true); } .... } 

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА:

  • V792 рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд 'toBool' рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрд╛рдПрдВ рдСрдкрд░реЗрдЯрд░ рдХреЗ рдореВрд▓реНрдп рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рд╢рд╛рдпрдж, '&&' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рд▓реИрдВрдбрд╕реНрдХреЗрдкрдордЧреНрд░реНрдкред .реи
  • V792 рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд 'toBool' рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрд╛рдПрдВ рдСрдкрд░реЗрдЯрд░ рдХреЗ рдореВрд▓реНрдп рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рд╢рд╛рдпрдж, '&&' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рд▓реИрдВрдбрд╕реНрдХреЗрдкрдордЧреНрд░реНрдкред 783

рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ setFlagAt рд╡рд╛рдпреБрдордВрдбрд▓ рдФрд░ setFagagFog рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рддрд░реНрдХреЛрдВ рдореЗрдВ рдПрдХ рд╕рдВрджрд┐рдЧреНрдз рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ: рдмрд┐рдЯ рдСрдкрд░реЗрдЯрд░ рдХреЗ рджреЛрдиреЛрдВ рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рдФрд░ рдкреНрд░рдХрд╛рд░ рдмреВрд▓ рдХреЗ рдореВрд▓реНрдп рд╣реИрдВред & рдСрдкрд░реЗрдЯрд░ рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ && рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЕрдм рдореИрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреНрдпреЛрдВред

рд╣рд╛рдВ, рдЗрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╣реЛрдЧрд╛ред рдмрд┐рдЯрд╡рд╛рдЗрдЬ тАЬрдФрд░тАЭ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рджреЛрдиреЛрдВ рдСрдкрд░реЗрдВрдб рдХреЛ рдЗрдВрдЯ рдореЗрдВ рдкрджреЛрдиреНрдирдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред C ++ рдореЗрдВ, рдРрд╕рд╛ рд░реВрдкрд╛рдВрддрд░рдг рдЕрд╕рдВрджрд┐рдЧреНрдз рд╣реИ : рдЕрд╕рддреНрдп рдХреЛ 0 рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рддреНрдп рдХреЛ 1 рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЙрд╕реА рддрд░рд╣ рд╣реЛрдЧрд╛ рдЬреИрд╕реЗ && рд╕рдВрдЪрд╛рд▓рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд▓реЗрдХрд┐рди рдПрдХ рдЕрддрд┐ рд╕реВрдХреНрд╖реНрдо рдЕрдВрддрд░ рд╣реИред && рдСрдкрд░реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп, рддрдерд╛рдХрдерд┐рдд "рдЖрд▓рд╕реА рдЧрдгрдирд╛" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдмрд╛рдПрдВ рдСрдкрд░реЗрдВрдб рдХрд╛ рдореВрд▓реНрдп рдЧрд▓рдд рд╣реИ , рддреЛ рд╕рд╣реА рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рднреА рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рддрд╛рд░реНрдХрд┐рдХ "рдФрд░" рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЧрд▓рдд рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдбрд┐рдЬрд╛рдЗрди рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреЙрдЗрдВрдЯрд░ рдЕрд╢рдХреНрдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдбрд┐рд░реЗрд▓ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг: рдЕрдЧрд░ (ptr && ptr-> foo ()) ред

рдЗрд╕ рддрд░рд╣ рдХреА "рдЖрд▓рд╕реА рдЧрдгрдирд╛" рдмрд┐рдЯрд╡рд╛рдЗрдЬ рдСрдкрд░реЗрдЯрд░ рдФрд░ : рднрд╛рд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред

рджреБрд░реНрд▓рдн рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдЙрджреНрджреЗрд╢реНрдп рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╕рд╣реА рдСрдкрд░реЗрдВрдб рдХреА рдЧрдгрдирд╛ рдХреЗ "рджреБрд╖реНрдкреНрд░рднрд╛рд╡" рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЛрдб рдХреА рд╕рдордЭ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдСрдкрд░реЗрдВрдбреНрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рдХреНрд░рдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдРрд╕реЗ "рдЯреНрд░рд┐рдХреНрд╕" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрдк рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдкрдХреЛ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯреНрд╕ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЪрд░ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдЖрдкрдХреЗ рдЖрднрд╛рд░реА рд╣реЛрдВрдЧреЗ :)


рд╣рдо рдЕрдЧрд▓реЗ рд╡рд┐рд╖рдп рдкрд░ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред

рдЧрд▓рдд рдореЗрдореЛрд░реА рд╣реИрдВрдбрд▓рд┐рдВрдЧ


рдЖрдЗрдП рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд╕рд╛рде рдЧрддрд┐рд╢реАрд▓ рд╕реНрдореГрддрд┐ рдХреЗ рд╡рд┐рд╖рдп рдХреЛ рд╢реБрд░реВ рдХрд░реЗрдВ:

 /************ Basic Edge Operations ****************/ /* __gl_meshMakeEdge creates one edge, * two vertices, and a loop (face). * The loop consists of the two new half-edges. */ GLUEShalfEdge* __gl_meshMakeEdge(GLUESmesh* mesh) { GLUESvertex* newVertex1 = allocVertex(); GLUESvertex* newVertex2 = allocVertex(); GLUESface* newFace = allocFace(); GLUEShalfEdge* e; /* if any one is null then all get freed */ if ( newVertex1 == NULL || newVertex2 == NULL || newFace == NULL) { if (newVertex1 != NULL) { memFree(newVertex1); } if (newVertex2 != NULL) { memFree(newVertex2); } if (newFace != NULL) { memFree(newFace); } return NULL; } e = MakeEdge(&mesh->eHead); if (e == NULL) { return NULL; } MakeVertex(newVertex1, e, &mesh->vHead); MakeVertex(newVertex2, e->Sym, &mesh->vHead); MakeFace(newFace, e, &mesh->fHead); return e; } 

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА:

  • V773 'newVertex1' рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдЬрд╛рд░реА рдХрд┐рдП рдмрд┐рдирд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрд╛рд╣рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рд╕рдВрднрд╡ рд╣реИред mesh.c 312
  • V773 'newVertex2' рдкреЙрдЗрдВрдЯрд░ рдЬрд╛рд░реА рдХрд┐рдП рдмрд┐рдирд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрд╛рд╣рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рд╕рдВрднрд╡ рд╣реИред mesh.c 312
  • V773 'newFace' рдкреЙрдЗрдВрдЯрд░ рдЬрд╛рд░реА рдХрд┐рдП рдмрд┐рдирд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрд╛рд╣рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рд╕рдВрднрд╡ рд╣реИред mesh.c 312

рдлрд╝рдВрдХреНрд╢рди рдХрдИ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреЙрдЗрдВрдЯрд░реНрд╕ newVertex1 , newVertex2 (рджрд┐рд▓рдЪрд╕реНрдк рдирд╛рдо, рд╕рд╣реА?) рдФрд░ newFace рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ ред рдпрджрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдЖрд░рдХреНрд╖рд┐рдд рд╕рднреА рдореЗрдореЛрд░реА рдХреЛ рдореБрдХреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред

рдпрджрд┐ рд╕рднреА рддреАрди рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЖрдмрдВрдЯрд┐рдд рд╣реЛрддреА рд╣реИ, рдФрд░ MakeEdge (& mesh-> eHead) рдлрд╝рдВрдХреНрд╢рди NULL рджреЗрддрд╛ рд╣реИ ? рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рджреВрд╕рд░реЗ рд░рд┐рдЯрд░реНрди рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ред

рдЪреВрдВрдХрд┐ рд╕рдВрдХреЗрдд newVertex1 , newVertex2 рдФрд░ newFace рд╕реНрдерд╛рдиреАрдп рдЪрд░ рд╣реИрдВ, рд╡реЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдореМрдЬреВрдж рд░рд╣рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдЬреЛ рд╕реНрдореГрддрд┐ рдЙрдирд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдереА рдЙрд╕рдХреА рд░рд┐рд╣рд╛рдИ рдирд╣реАрдВ рд╣реЛрдЧреАред рдпрд╣ рдЖрд░рдХреНрд╖рд┐рдд рд░рд╣реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреА рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реЛрдЧреАред

рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдореЗрдореЛрд░реА рд▓реАрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдп: рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде, рдпрд╣ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд░реИрдо рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рдХреА рдердХрд╛рд╡рдЯ рддрдХред

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рддреАрд╕рд░рд╛ рд░рд┐рдЯрд░реНрди рдЧрд▓рдд рдирд╣реАрдВ рд╣реИред MakeVertex рдФрд░ MakeFace рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЖрд╡рдВрдЯрд┐рдд рдбреЗрдЯрд╛ рдХреЗ рдкрддреЗ рдХреЛ рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЗрд╕рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╕реМрдВрдк рджреА рдЬрд╛рддреА рд╣реИред

рдЕрдЧрд▓рд╛ рджреЛрд╖ рд╡рд┐рдзрд┐ рдореЗрдВ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ 90 рд▓рд╛рдЗрдиреЗрдВ рд▓рдЧрддреА рд╣реИрдВред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрдо рдХрд░ рджрд┐рдпрд╛, рдХреЗрд╡рд▓ рд╕рдорд╕реНрдпрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ред

 void AstroCalcDialog::drawAngularDistanceGraph() { .... QVector<double> xs, ys; .... } 

рд╕рд┐рд░реНрдл рдПрдХ рд▓рд╛рдЗрди рдмрдЪреАред рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реВрдВ: рдпрд╣ рдХреЗрд╡рд▓ xs рдФрд░ ys рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИред

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА:

  • V808 'xs' рдСрдмреНрдЬреЗрдХреНрдЯ 'QVector' рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрд╕реНрдЯреНрд░реЛрдХрд╛реЕрд▓рдбрд┐рдпреЛрдЧреЙрдЧред 5329
  • V808 'ys' рдСрдмреНрдЬреЗрдХреНрдЯ 'QVector' рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрд╕реНрдЯреНрд░реЛрдХрд╛реЕрд▓рдбрд┐рдпреЛрдЧреЙрдЧред 5329

рд╡реИрдХреНрдЯрд░ xs рдФрд░ ys рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд╣реАрдВ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдбреНрд░рд╛рдЕрдВрдЧреБрд▓рд░рдбрд┐рд╕реНрдЯреЗрдВрд╕рдЧреНрд░рд╛рдл рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдЦрд╛рд▓реА рдХрдВрдЯреЗрдирд░ рдХрд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╡рд┐рд▓реЛрдкрди рд╣реЛрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХреЗ рдмрд╛рдж рдХреЛрдб рдореЗрдВ рдмрдирд╛ рд░рд╣рд╛ред рдпрд╣, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдПрдХ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рдХреЛ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрдЬреАрдм рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рддрд┐рдпрд╛рдБ


рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реНрд╡рд░реВрдкрдг рдХреЗ рдмрд╛рдж рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

 void SatellitesDialog::updateSatelliteData() { .... // set default buttonColor = QColor(0.4, 0.4, 0.4); .... } 

рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рддреНрд░реБрдЯрд┐ рдХреНрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ Qcolor рд╡рд░реНрдЧ рдХреЗ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛:


рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА:

  • V674 'рдбрдмрд▓' рдкреНрд░рдХрд╛рд░ рдХреЗ рд╢рд╛рдмреНрджрд┐рдХ '0.4' рдХреЛ 'рдХреНрдпреВрдХрд▓рд░' рдлрд╝рдВрдХреНрд╢рди рдХрд╣рддреЗ рд╣реБрдП 'рдЗрдВрдЯ' рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдирд┐рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдкрд╣рд▓реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред SatellitesDialog.cpp 413
  • V674 'рдбрдмрд▓' рдкреНрд░рдХрд╛рд░ рдХреЗ рд╢рд╛рдмреНрджрд┐рдХ '0.4' рдХреЛ 'рдХреНрдпреВрдХрд▓рд░' рдлрд╝рдВрдХреНрд╢рди рдХрд╣рддреЗ рд╣реБрдП 'рдЗрдВрдЯ' рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдирд┐рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рджреВрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред SatellitesDialog.cpp 413
  • V674 'рдбрдмрд▓' рдкреНрд░рдХрд╛рд░ рдХреЗ рд╢рд╛рдмреНрджрд┐рдХ '0.4' рдХреЛ 'рдХреНрдпреВрдХрд▓рд░' рдлрд╝рдВрдХреНрд╢рди рдХрд╣рддреЗ рд╣реБрдП 'рдЗрдВрдЯ' рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдирд┐рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рддреАрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред SatellitesDialog.cpp 413

Qcolor рд╡рд░реНрдЧ рдХреЗ рдкрд╛рд╕ рдРрд╕реЗ рдирд┐рд░реНрдорд╛рддрд╛ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рджреЛрд╣рд░реЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рддрд░реНрдХ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ int рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдмрдЯрди r рдорд╛рди рдХреЗ рдлрд╝реАрд▓реНрдб r , g , b рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдорд╛рди 0 рд╣реЛрддрд╛ рд╣реИ ред

рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдбрдмрд▓ рдЯрд╛рдЗрдк рдХреЗ рдореВрд▓реНрдпреЛрдВ рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд▓рд┐рдЦрдХрд░ Qrgb рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ:

 buttonColor = QColor(QColor::fromRgbF(0.4, 0.4, 0.4)); 

рдпрд╣ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред Qt рдЖрд░рдЬреАрдмреА рд░рдВрдЧреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЗрдВрдЬ [0, 255] рдореЗрдВ рдкреВрд░реНрдг рдорд╛рдиреЛрдВ рдпрд╛ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реЗ рдкреВрд░реНрдгрд╛рдВрдХ рддрдХ рдорд╛рдиреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрдХрд░ рдЕрдиреБрд╡рд╛рдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

 buttonColor = QColor((int)(255 * 0.4), (int)(255 * 0.4), (int)(255 * 0.4)); 

рдпрд╛ рдмрд╕

 buttonColor = QColor(102, 102, 102); 

рдХреНрдпрд╛ рдЖрдк рдКрдм рдЧрдП рд╣реИрдВ? рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ: рд╣рдорд╛рд░реЗ рдЖрдЧреЗ рдФрд░ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдЧрд▓рддрд┐рдпрд╛рдБ рд╣реИрдВред


"рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдЧреЗрдВрдбрд╛ред" рддрд╛рд░рд╛рдордВрдбрд▓ рд╕реЗ рджреЗрдЦреЗрдВред

рдЕрдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдВ


рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдХреБрдЫ рдФрд░ рд╕реНрд╡рд╛рджрд┐рд╖реНрдЯ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ :) рдЪрд▓реЛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЙрддрд░реЛред

 HipsTile* HipsSurvey::getTile(int order, int pix) { .... if (order == orderMin && !allsky.isNull()) { int nbw = sqrt(12 * 1 << (2 * order)); int x = (pix % nbw) * allsky.width() / nbw; int y = (pix / nbw) * allsky.width() / nbw; int s = allsky.width() / nbw; QImage image = allsky.copy(x, y, s, s); .... } .... } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V634 '*' рдСрдкрд░реЗрд╢рди рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ '<<' рдСрдкрд░реЗрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрд╖реНрдардХ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПред StelHips.cpp 271

рдЦреИрд░, рдХреНрдпрд╛ рдЖрдк рдЧрд▓рддреА рдвреВрдВрдв рд╕рдХрддреЗ рд╣реИрдВ? рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (12 * 1 << (2 * рдХреНрд░рдо)) рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдпрд╛рдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдСрдкрд░реЗрд╢рди ' * ' рдореЗрдВ рдмрд┐рдЯ рд╢рд┐рдлреНрдЯ рдСрдкрд░реЗрд╢рди ' << ' рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИред рдпрд╣ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ 12 рдХреЛ 1 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдирд╛ рд╡реНрдпрд░реНрде рд╣реИ, рдФрд░ 2 * рдСрд░реНрдбрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрд╖реНрдардХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

  ,    : int nbw = sqrt(12 * (1 << 2 * order));     <i>12 </i>     . 

рдиреЛрдЯред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рд╕рд╣реА рдСрдкрд░реЗрдВрдб ' << ' рдХрд╛ рдорд╛рди рд▓реЗрдлреНрдЯ рдСрдкрд░реЗрдВрдб рдХреЗ рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реИ, рддреЛ рдкрд░рд┐рдгрд╛рдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИред рдЪреВрдВрдХрд┐ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдВрддрд░ рд╣реИ, рдЬреЛ 32 рдмрд┐рдЯреНрд╕ рд▓реЗрддрд╛ рд╣реИ, рдСрд░реНрдбрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдорд╛рди 15 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдпрдерд╛, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдореЗрдВ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╣рдо рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдиреАрдЪреЗ рджреА рдЧрдИ рд╡рд┐рдзрд┐ рдмрд╣реБрдд рднреНрд░рд╛рдордХ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдПрдХ рдкрд░рд┐рд╖реНрдХреГрдд рдкрд╛рдардХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ :)

 /* inherits documentation from base class */ QCPRange QCPStatisticalBox:: getKeyRange(bool& foundRange, SignDomain inSignDomain) const { foundRange = true; if (inSignDomain == sdBoth) { return QCPRange(mKey - mWidth * 0.5, mKey + mWidth * 0.5); } else if (inSignDomain == sdNegative) { if (mKey + mWidth * 0.5 < 0) return QCPRange(mKey - mWidth * 0.5, mKey + mWidth * 0.5); else if (mKey < 0) return QCPRange(mKey - mWidth * 0.5, mKey); else { foundRange = false; return QCPRange(); } } else if (inSignDomain == sdPositive) { if (mKey - mWidth * 0.5 > 0) return QCPRange(mKey - mWidth * 0.5, mKey + mWidth * 0.5); else if (mKey > 0) return QCPRange(mKey, mKey + mWidth * 0.5); else { foundRange = false; return QCPRange(); } } foundRange = false; return QCPRange(); } 

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА: V779 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред qcustomplot.cpp 19512ред

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╕рднреА ... рдЕрдиреНрдп рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рд╡рд╛рдкрд╕реА рд╣реЛрддреА рд╣реИ ред рдЗрд╕рд▓рд┐рдП, рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдЕрдВрддрд┐рдо рджреЛ рд▓рд╛рдЗрдиреЛрдВ рддрдХ рдХрднреА рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИред

рджреНрд╡рд╛рд░рд╛ рдФрд░ рдмрдбрд╝реЗ, рдпрд╣ рдЙрджрд╛рд╣рд░рдг рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЪрд▓реЗрдЧрд╛ рдФрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрдХреЗрд▓реЗ рдЕрдЧрдореНрдп рдХреЛрдб рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдПрдХ рд╕рдВрдХреЗрдд рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╡рд┐рдзрд┐ рдХреА рдЧрд▓рдд рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХреЛрдб рдХреА рдкрдардиреАрдпрддрд╛ рдФрд░ рд╕рдордЭ рдХреЛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд╛рдл рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:

 /* inherits documentation from base class */ QCPRange QCPStatisticalBox:: getKeyRange(bool& foundRange, SignDomain inSignDomain) const { foundRange = true; switch (inSignDomain) { case sdBoth: { return QCPRange(mKey - mWidth * 0.5, mKey + mWidth * 0.5); break; } case sdNegative: { if (mKey + mWidth * 0.5 < 0) return QCPRange(mKey - mWidth * 0.5, mKey + mWidth * 0.5); else if (mKey < 0) return QCPRange(mKey - mWidth * 0.5, mKey); break; } case sdPositive: { if (mKey - mWidth * 0.5 > 0) return QCPRange(mKey - mWidth * 0.5, mKey + mWidth * 0.5); else if (mKey > 0) return QCPRange(mKey, mKey + mWidth * 0.5); break; } } foundRange = false; return QCPRange(); } 

рд╣рдорд╛рд░реА рд╕рдореАрдХреНрд╖рд╛ рдореЗрдВ рдЕрдВрддрд┐рдо рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА рдЬреЛ рдореБрдЭреЗ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдкрд╕рдВрдж рдЖрдИред рдореБрд╕реАрдмрдд рдХрд╛ рд╕реНрдерд╛рди рдХреЛрдб рдЫреЛрдЯрд╛ рдФрд░ рд╕рд░рд▓ рд╣реИ:

 Plane::Plane(Vec3f &v1, Vec3f &v2, Vec3f &v3) : distance(0.0f), sDistance(0.0f) { Plane(v1, v2, v3, SPolygon::CCW); } 

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХреБрдЫ рд╕рдВрджрд┐рдЧреНрдз рджреЗрдЦрд╛ рд╣реИ? рд╣рд░ рдХреЛрдИ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ :)

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдкреНрд▓реЗрди :: рдкреНрд▓реЗрди (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рдорд╛рдиред 29 29

рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЙрдореНрдореАрдж рдереА рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдиреЗрд╕реНрдЯреЗрдб рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдЕрдВрджрд░ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд┐рдХрд▓рд╛: рдЬрдм рдкреНрд▓реЗрди рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ (Vec3f & v1, Vec3f & v2, Vec3f рдФрд░ v3) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЕрдирд╛рдо рдЕрд╕реНрдерд╛рдпреА рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рддреБрд░рдВрдд рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╡рд╕реНрддреБ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдЕрд╕рд┐рдВрдЪрд┐рдд рд░рд╣рддрд╛ рд╣реИред

рдХреЛрдб рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реА ++ 11 рдХреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛:

 Plane::Plane(Vec3f& v1, Vec3f& v2, Vec3f& v3) : Plane(v1, v2, v3, SPolygon::CCW) { distance = 0.0f; sDistance = 0.0f; } 

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рднрд╛рд╖рд╛ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:

 Plane::Plane(Vec3f &v1, Vec3f &v2, Vec3f &v3) : distance(0.0f), sDistance(0.0f) { this->Plane::Plane(v1, v2, v3, SPolygon::CCW); } 

рдпрд╛ рддреЛ:

 Plane::Plane(Vec3f &v1, Vec3f &v2, Vec3f &v3) : distance(0.0f), sDistance(0.0f) { new (this) Plane(v1, v2, v3, SPolygon::CCW); } 

рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдкрд┐рдЫрд▓реЗ рджреЛ рддрд░реАрдХреЗ рдмрд╣реБрдд рдЦрддрд░рдирд╛рдХ рд╣реИрдВ ред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдРрд╕реЗ рддрд░реАрдХреЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдирд┐рд╖реНрдХрд░реНрд╖


рд╕реНрдЯреЗрд▓рд╛рд░рд┐рдпрдо рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдмрд╣реБрдд рдЧрд▓рддрд┐рдпрд╛рдБ рдирд╣реАрдВ рдереАрдВред рд╕рд╛рде рд╣реА, рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рдореБрдЭреЗ рдПрдХ рднреА рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓реА рдЬрд┐рд╕рдореЗрдВ рдХреЛрдб рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдмрдВрдзрд╛ рд╣реЛред рдУрдкрдирд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рдирд┐рдХрд▓реА, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореИрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдЕрдкрдиреА рдЯреЛрдкреА рд▓реЗрддрд╛ рд╣реВрдВред рддреБрдо рд▓реЛрдЧ рдорд╣рд╛рди рд╣реЛ! рдореБрдЭреЗ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реБрдИред

рддрд╛рд░рд╛рдордВрдбрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ - рдореИрдВ рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдПрдХ рд╢рд╣рд░ рдореЗрдВ рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ, рдореИрдВ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдПрдХ рд╕реНрдкрд╖реНрдЯ рд░рд╛рдд рдХреЗ рдЖрдХрд╛рд╢ рдХрд╛ рдЖрдирдВрдж рд▓реЗ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рд╕реНрдЯреЗрд▓реЗрд░рд┐рдпрдо рдореБрдЭреЗ рд╕реЛрдлреЗ рд╕реЗ рдЙрдареЗ рдмрд┐рдирд╛ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХрд╣реАрдВ рднреА рд░рд╣рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд░рд╛рдорджрд╛рдпрдХ рд╣реИ!

рдореБрдЭреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ "рдирдХреНрд╖рддреНрд░ рдХрд▓рд╛" рдореЛрдб рдкрд╕рдВрдж рд╣реИред рдПрдХ рдЕрдЬреАрдм рдиреГрддреНрдп рдореЗрдВ рдкреВрд░реЗ рдЖрдХрд╛рд╢ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рд╢рд╛рд▓ рдЖрдХреГрддрд┐рдпреЛрдВ рдХреА рджреГрд╖реНрдЯрд┐ рд▓реБрднрд╛рд╡рдиреА рд╣реИред


"рдПрдХ рдЕрдЬреАрдм рдиреГрддреНрдпред" рддрд╛рд░рд╛рдордВрдбрд▓ рд╕реЗ рджреЗрдЦреЗрдВред

рдЕрд░реНрдерд┐рдВрдЧ рдЧрд▓рддрд┐рдпрд╛рдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рддрдереНрдп рдореЗрдВ рдХреБрдЫ рднреА рд╢рд░реНрдордирд╛рдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпреЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдХреЛрдб рдореЗрдВ рд▓реАрдХ рд╣реЛрддреА рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг, рдЬреИрд╕реЗ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ, рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЗрд╕ рдкреГрдереНрд╡реА рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВ - рдЬреИрд╕реЗ рдХрд┐, рдореИрдВ рдЖрдкрдХреЛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдЖрдЬрд╝рдорд╛рдПрдВ ред

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдореЗрд░реЗ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рдереЗ, рдФрд░ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдХреБрдЫ рдирдпрд╛ рдФрд░ рдЙрдкрдпреЛрдЧреА рд╕реАрдЦрд╛ред рдФрд░ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдорд┐рд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╢реАрдШреНрд░ рд╕реБрдзрд╛рд░ рд╣реЛред

рд╣рдорд╛рд░реЗ рдЪреИрдирд▓реЛрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рджреБрдирд┐рдпрд╛ рд╕реЗ рдЦрдмрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдмрдиреЗ рд░рд╣реЗрдВ!



рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдЬреЙрд░реНрдЬ рдЧреНрд░рд┐рдмрдХреЛрд╡ред рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдлрд┐рд░ рд╕реЗ: рдХреИрд╕реЗ рдЧреЗрдВрдбрд╛ рдХрд╛ рджреМрд░рд╛ рддрд╛рд░рд╛рдордВрдбрд▓

Source: https://habr.com/ru/post/hi432954/


All Articles