mirror of https://github.com/CGAL/cgal
Moved file to customadaptor.cc.
This commit is contained in:
parent
85001add69
commit
d05e558ed4
|
|
@ -1,59 +0,0 @@
|
||||||
#include <CGAL/Box_intersection_d.h>
|
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
#include <cstdlib>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
struct Primitive {
|
|
||||||
float f;
|
|
||||||
Primitive() : f( drand48() ) {}
|
|
||||||
bool intersect( Primitive *other )
|
|
||||||
{ return f * other->f > 0.6f; }
|
|
||||||
};
|
|
||||||
|
|
||||||
struct User_box : public CGAL::Box_intersection_d::Unique_numbers
|
|
||||||
{
|
|
||||||
Primitive *primitive;
|
|
||||||
float lo[3], size;
|
|
||||||
User_box( Primitive *p ) : primitive( p ) {
|
|
||||||
for( unsigned int d = 0; d < 3; ++d )
|
|
||||||
lo[d] = 10.0 * drand48();
|
|
||||||
size = 1 + 3.0 * drand48();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct Box_traits {
|
|
||||||
typedef const User_box& Box;
|
|
||||||
typedef float NT;
|
|
||||||
|
|
||||||
static NT get_lo( Box b, unsigned int dim )
|
|
||||||
{ return b.lo[ dim ]; }
|
|
||||||
|
|
||||||
static NT get_hi( Box b, unsigned int dim )
|
|
||||||
{ return b.lo[ dim ] + b.size; }
|
|
||||||
|
|
||||||
static unsigned int get_id( Box b )
|
|
||||||
{ return b.get_id(); }
|
|
||||||
|
|
||||||
static unsigned int get_dim() { return 3; }
|
|
||||||
};
|
|
||||||
|
|
||||||
void fill_boxes( unsigned int n, std::vector<User_box> &boxes ) {
|
|
||||||
for( unsigned int i = 0; i < n; ++i )
|
|
||||||
boxes.push_back( User_box( new Primitive() ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
void callback( const User_box &a, const User_box &b ) {
|
|
||||||
if( a.primitive->intersect( b.primitive ) )
|
|
||||||
std::cout << "intersection between box "
|
|
||||||
<< a.get_id() << " and " << b.get_id() << std::endl;
|
|
||||||
};
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
std::vector<User_box> a, b;
|
|
||||||
fill_boxes( 100, a );
|
|
||||||
fill_boxes( 100, b );
|
|
||||||
CGAL::box_intersection_d( a.begin(), a.end(),
|
|
||||||
b.begin(), b.end(), callback, Box_traits() );
|
|
||||||
}
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue