34int check_for_error( Vec2 p1, Vec2 p2, Vec2 p3, Vec2 p4,
float s,
float t );
42 auto p4_p3_t = p4_p3 * t;
43 auto hitPoint1 = p3 + p4_p3_t;
46 auto p2_p1_s = p2_p1 * s;
47 auto hitPoint2 = p1 + p2_p1_s;
50 if( (fabs( hitPoint1.x - hitPoint2.x) > 0.1f) || ( fabs(hitPoint1.y - hitPoint2.y) > 0.1f) )
52 log(
"ERROR: (%f,%f) != (%f,%f)", hitPoint1.x, hitPoint1.y, hitPoint2.x, hitPoint2.y);
61 if (BugsTestBase::init())
66 Vec2 A,B,C,D,p1,p2,p3,p4;
76 for(
int i=0; i < 10000; i++)
81 float ax = CCRANDOM_0_1() * -5000;
82 float ay = CCRANDOM_0_1() * 5000;
87 float dx = CCRANDOM_0_1() * 5000;
88 float dy = CCRANDOM_0_1() * -5000;
93 float bx = CCRANDOM_0_1() * 5000;
94 float by = CCRANDOM_0_1() * 5000;
99 float cx = CCRANDOM_0_1() * -5000;
100 float cy = CCRANDOM_0_1() * -5000;
106 if( Vec2::isLineIntersect( A, D, B, C, &s, &t) ) {
113 log(
"Test1 - End. OK=%i, Err=%i", ok, err);
118 log(
"Test2 - Start");
126 if( Vec2::isLineIntersect(p1, p2, p3, p4, &s, &t) )
135 log(
"Test3 - Start");
139 for(
int i=0;i<10000;i++)
144 float ax = CCRANDOM_0_1() * -500;
145 float ay = CCRANDOM_0_1() * 500;
151 float dx = CCRANDOM_0_1() * 500;
152 float dy = CCRANDOM_0_1() * -500;
158 float y = ay - ((ay - dy) /2.0f);
163 float cx = CCRANDOM_0_1() * -500;
169 float bx = CCRANDOM_0_1() * 500;
174 if( Vec2::isLineIntersect(p1, p2, p3, p4, &s, &t) ) {
182 log(
"Test3 - End. OK=%i, err=%i", ok, err);
int check_for_error(Vec2 p1, Vec2 p2, Vec2 p3, Vec2 p4, float s, float t)
virtual bool init() override