Update of /cvsroot/opal/opal/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19257/src
Modified Files:
testsolid.cpp
Log Message:
Rolled back incorrect changes in ODESimulator. Adjusted unit tests for this case.
Index: testsolid.cpp
===================================================================
RCS file: /cvsroot/opal/opal/src/testsolid.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** testsolid.cpp 12 Dec 2005 00:35:13 -0000 1.9
--- testsolid.cpp 12 Dec 2005 06:13:25 -0000 1.10
***************
*** 251,338 ****
}
! class TwoSolidFixture
! {
! public:
! TwoSolidFixture()
! {
! sim = createSimulator();
! s0 = sim->createSolid();
! s1 = sim->createSolid();
! }
! ~TwoSolidFixture()
! {
! sim->destroy();
! }
! Simulator * sim;
! Solid * s0;
! Solid * s1;
! };
! class MockCollision : public CollisionEventHandler
! {
! public:
! MockCollision()
! {
! calls = 0;
! }
! void OPAL_CALL handleCollisionEvent( const CollisionEvent & e )
! {
! ++calls;
! }
! int calls;
! };
! QT_TEST( same_contact_group_no_collision )
! {
! TwoSolidFixture f;
! {
! SphereShapeData data;
! data.radius = 1;
! data.contactGroup = 1;
! f.s0->addShape( data );
! f.s1->addShape( data );
! }
! MockCollision * c = new MockCollision( );
! f.s0->setCollisionEventHandler( c );
! f.s1->setCollisionEventHandler( c );
! f.s0->setPosition( 0, 0, 0 );
! f.s1->setPosition( 0, 0, 0 );
! f.sim->setupContactGroups( 1, 1, false );
! c->calls = 0;
! f.sim->simulate( 1 );
! QT_CHECK_EQUAL( c->calls, 0 );
! }
! QT_TEST( same_contact_group_with_collision )
! {
! TwoSolidFixture f;
! {
! SphereShapeData data;
! data.radius = 1;
! data.contactGroup = 1;
! f.s0->addShape( data );
! f.s1->addShape( data );
! }
! MockCollision * c = new MockCollision( );
! f.s0->setCollisionEventHandler( c );
! f.s1->setCollisionEventHandler( c );
! f.s0->setPosition( 0, 0, 0 );
! f.s1->setPosition( 0, 0, 0 );
! f.sim->setupContactGroups( 1, 1, true );
! c->calls = 0;
! f.sim->simulate( 1 );
! QT_CHECK_GREATER( c->calls, 0 );
! }
}
--- 251,344 ----
}
! class TwoSolidFixture
! {
! public:
! TwoSolidFixture()
! {
! sim = createSimulator();
! s0 = sim->createSolid();
! s1 = sim->createSolid();
! }
! ~TwoSolidFixture()
! {
! sim->destroy();
! }
! Simulator * sim;
! Solid * s0;
! Solid * s1;
! };
! class MockCollision : public CollisionEventHandler
! {
! public:
! MockCollision()
! {
! calls = 0;
! }
! void OPAL_CALL handleCollisionEvent( const CollisionEvent & e )
! {
! ++calls;
! }
! int calls;
! };
! QT_TEST( same_contact_group_no_collision_but_events )
! {
! TwoSolidFixture f;
! {
! SphereShapeData data;
! data.radius = 1;
! data.contactGroup = 1;
! f.s0->addShape( data );
! f.s1->addShape( data );
! }
! MockCollision * c = new MockCollision( );
! f.s0->setCollisionEventHandler( c );
! f.s1->setCollisionEventHandler( c );
! f.s0->setPosition( 0, 0, 0 );
! f.s1->setPosition( 0, 0, 0 );
! f.sim->setupContactGroups( 1, 1, false );
! c->calls = 0;
! f.sim->simulate( 1 );
! QT_CHECK_EQUAL( f.s0->getPosition(), Point3r( 0, 0, 0 ) );
! QT_CHECK_EQUAL( f.s1->getPosition(), Point3r( 0, 0, 0 ) );
! QT_CHECK_GREATER( c->calls, 0 );
! }
! QT_TEST( same_contact_group_with_collision_and_events )
! {
! TwoSolidFixture f;
! {
! SphereShapeData data;
! data.radius = 1;
! data.contactGroup = 1;
! f.s0->addShape( data );
! f.s1->addShape( data );
! }
! MockCollision * c = new MockCollision( );
! f.s0->setCollisionEventHandler( c );
! f.s1->setCollisionEventHandler( c );
! f.s0->setPosition( 0, 0, 0 );
! f.s1->setPosition( 0, 0, 0 );
! f.sim->setupContactGroups( 1, 1, true );
! c->calls = 0;
! f.sim->simulate( 1 );
!
! QT_CHECK_NOT_EQUAL( f.s0->getPosition(), Point3r( 0, 0, 0 ) );
! QT_CHECK_NOT_EQUAL( f.s1->getPosition(), Point3r( 0, 0, 0 ) );
!
! QT_CHECK_GREATER( c->calls, 0 );
! }
}
|