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: 7h » 12 min
Autor Wiadomość
pekfos
» 2025-10-13 15:50:52
Nie rozwijałeś tego przypadkiem na githubie?
P-183122
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-13 16:01:13
Tak. Na githubie jest ten projekt. Tutaj jest link.
https://github.com/tBane1995/Anim-Paint

Żeby projekt działał należy wypakować SFML 3.0.2 na dysk C:/
https://www.sfml-dev.org/download/sfml/3.0.2/

Program się wywala podczas korzystania z narzędzia lasso - nie mogę namierzyć błędu. Zazwyczaj lasso działa, ale co jakiś czas wyrzuca z programu podczas zaznaczania. Do projektu dorzuciłem testowy obra, który mżna wkleić przy pomocy skrótu Ctrl+V lub ręcznie poprzez przycisk wklej (ten u góry)
Kod jest w canvas.cpp oraz w lasso.cpp, a także kopiowanie/wklejanie/itp w selection.cpp

Tak to jest dlatego, że selection jest w trakcie przebudowy. Docelowo narzędzie lasso ma być przepisane na ogólne selection, bo obecnie selection to zaznaczenie prostokątne. Potrzebuję zaznaczenia lasso, żeby móc "odwracać zaznaczenie". Więc kod trochę chaotyczny. W każdym bądź razie trzeba naprawić zaznaczenie lasso a potem na spokojnie to jakoś przepiszę na ogólne selection ... Przynajmniej taki jest plan.
P-183123
pekfos
» 2025-10-13 16:44:04
I w czym dokładnie miałeś problem? Odpaliłem pod debuggerem, poklikałem i to leci tu (Shape::updateOutline):
C/C++
// Make sure that the normals point towards the outside of the shape
// (this depends on the order in which the points were defined)
if( n1.dot( m_vertices[ 0 ].position - p1 ) > 0 )
   
 n1 = - n1;

if( n2.dot( m_vertices[ 0 ].position - p1 ) > 0 )
   
 n2 = - n2;

// Combine them to get the extrusion direction
const float factor = 1.f +( n1.x * n2.x + n1.y * n2.y ); //// n1={x=-0.707106769 y=0.707106769 }, n2={x=0.707106829 y=-0.707106829 }
const Vector2f normal =( n1 + n2 ) / factor; /// <----------------------- factor=0
P-183126
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-13 16:46:19
Jak to namierzyłeś?
P-183127
pekfos
» 2025-10-13 16:47:17
Odpaliłem pod debuggerem, poklikałem.
P-183128
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-13 16:48:30
P-183129
pekfos
» 2025-10-13 16:49:39
"Press retry to debug the application", tzn "Ponów próbę".
P-183130
tBane
Temat założony przez niniejszego użytkownika
» 2025-10-13 16:50:58
P-183131
1 « 2 » 3 4 5
Poprzednia strona Strona 2 z 5 Następna strona