Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML 3.0.2] Assertion failed: right != 0 && "Vector2::operator/ cannot divide by 0"

Ostatnio zmodyfikowano dzisiaj: 10h » 16 min
Autor Wiadomość
pekfos
» 2025-10-13 16:52:34
A co mówi zakładka call stack na dole?
P-183132
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-13 16:55:37


P-183133
DejaVu
» 2025-10-13 16:57:39
generateMask - linia 275
P-183134
pekfos
» 2025-10-13 16:58:11
No to kliknij na te generateMask w call stack. Interesuje Cię w pierwszej kolejności pierwszy Twój kod w tym oknie.
P-183135
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-13 17:00:54
P-183136
pekfos
» 2025-10-13 17:08:58
Umm, dopiero teraz widzę że to nie jest Twój kod :D Weź nie męcz oczu tymi screenami, albo robisz czytelny autofit, albo nie robisz autofit. Zawartość tego stacka można skopiować.
  ucrtbased.dll!00007ff9d35c4805() Unknown
  ucrtbased.dll!00007ff9d35c49a3() Unknown
  ucrtbased.dll!00007ff9d35dba9d() Unknown
  ucrtbased.dll!00007ff9d35e1715() Unknown
  ucrtbased.dll!00007ff9d35e1387() Unknown
  ucrtbased.dll!00007ff9d35df378() Unknown
  ucrtbased.dll!00007ff9d35e1c7f() Unknown
  Anim-Paint.exe!sf::operator/<float>(sf::Vector2<float> left, float right) Line 185 C++
  Anim-Paint.exe!sf::Shape::updateOutline() Line 316 C++
  Anim-Paint.exe!sf::Shape::update() Line 232 C++
> Anim-Paint.exe!sf::Shape::setOutlineThickness(float thickness) Line 124 C++
  Anim-Paint.exe!Lasso::generateMask() Line 275 C++
  Anim-Paint.exe!Canvas::handleEvent(const sf::Event & event) Line 437 C++
  Anim-Paint.exe!main() Line 180 C++
  [External Code]
Trzeba by poczytać czy nie naruszasz jakichś wymagań na sf::ConvexShape z tymi punktami
-  _points { size=5 } std::vector<sf::Vector2<int>,std::allocator<sf::Vector2<int>>>
  [capacity] 9 unsigned __int64
+  [allocator] allocator std::_Compressed_pair<std::allocator<sf::Vector2<int>>,std::_Vector_val<std::_Simple_types<sf::Vector2<int>>>,1>
+  [0] {x=0 y=0 } sf::Vector2<int>
+  [1] {x=0 y=1 } sf::Vector2<int>
+  [2] {x=1 y=2 } sf::Vector2<int>
+  [3] {x=2 y=2 } sf::Vector2<int>
+  [4] {x=3 y=3 } sf::Vector2<int>

https://www.sfml-dev.org/documentation/3.0.2/classsf_1_1ConvexShape.html
It is important to keep in mind that a convex shape must always be... convex, otherwise it may not be drawn correctly. Moreover, the points must be defined in order; using a random order would result in an incorrect shape.

Taki średnio wypukły ten kształt, ale czy SFML powinno się z tego powodu wywalać? Kwestia sporna. Jak dodam punkt (3,0) to już się nie wywala. Dalej nie masz wypukłego kształtu, ale przynajmniej nie składa się sam na siebie, co pewnie było problemem.
P-183137
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-13 17:33:42
Kurde - w SFML 2.6.2 to działało. Teraz mam problem, bo nie wiem jak napisać narzędzie lasso innym sposobem :-/ Chyba się nie da
P-183138
pekfos
» 2025-10-13 17:39:48
Możesz zgłosić buga. Ale niewykluczone że dostaniesz odpowiedź w stylu "klasa nie jest odporna na błędne dane ze względów wydajnościowych". Ostatecznie podajesz dane które nie spełniają założeń klasy. Wyświetlaj lasso jako LineStrip i niech działa, potem się możesz martwić wyglądem.
P-183139
1 2 « 3 » 4 5
Poprzednia strona Strona 3 z 5 Następna strona