- fix binobj unit test. Simgear now rejects zero area triangles in .btg files, and the unit test could generate them.
This commit is contained in:
parent
beeaef3868
commit
32b60f9b80
@ -97,9 +97,32 @@ void compareTexCoords(const SGBinObject& rd, const std::vector<SGVec2f>& b)
|
|||||||
int_list make_tri(int maxIndex)
|
int_list make_tri(int maxIndex)
|
||||||
{
|
{
|
||||||
int_list r;
|
int_list r;
|
||||||
r.push_back(random() % maxIndex);
|
int a, b, c;
|
||||||
r.push_back(random() % maxIndex);
|
|
||||||
r.push_back(random() % maxIndex);
|
bool valid = false;
|
||||||
|
int retry = 10;
|
||||||
|
|
||||||
|
while(!valid && retry--) {
|
||||||
|
a = (random() % maxIndex);
|
||||||
|
b = (random() % maxIndex);
|
||||||
|
c = (random() % maxIndex);
|
||||||
|
|
||||||
|
valid = ( (a!=b) && (b!=c) && (c!=a) );
|
||||||
|
|
||||||
|
if (!valid) {
|
||||||
|
num_invalid++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!valid) {
|
||||||
|
cerr << "can't generate valid triangle" << endl;
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
r.push_back(a);
|
||||||
|
r.push_back(b);
|
||||||
|
r.push_back(c);
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user