[Plib-cvs] plib/examples/src/ssg/dynamics dynamics.cxx,1.1,1.2
Brought to you by:
sjbaker
From: Steve B. <sj...@us...> - 2002-08-11 18:20:33
|
Update of /cvsroot/plib/plib/examples/src/ssg/dynamics In directory usw-pr-cvs1:/tmp/cvs-serv6343/plib/examples/src/ssg/dynamics Modified Files: dynamics.cxx Log Message: Dynamics demo now looks cool. Index: dynamics.cxx =================================================================== RCS file: /cvsroot/plib/plib/examples/src/ssg/dynamics/dynamics.cxx,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- dynamics.cxx 11 Aug 2002 17:53:49 -0000 1.1 +++ dynamics.cxx 11 Aug 2002 18:20:30 -0000 1.2 @@ -31,9 +31,9 @@ void initSMD () { - particle [ 0 ] = new sgParticle ( 1.0f, 4.0f, -4.0f, 4.0f ) ; - particle [ 1 ] = new sgParticle ( 1.0f, 8.0f, 0.0f, 4.0f ) ; - particle [ 2 ] = new sgParticle ( 1.0f, 4.0f, 4.0f, 4.0f ) ; + particle [ 0 ] = new sgParticle ( 1.0f, 2.0f, -4.0f, 4.0f ) ; + particle [ 1 ] = new sgParticle ( 1.0f, 2.4f, 0.0f, 6.0f ) ; + particle [ 2 ] = new sgParticle ( 1.0f, 2.0f, 4.0f, 4.0f ) ; particle [ 3 ] = new sgParticle ( 1.0f, 4.0f, -4.0f, 0.0f ) ; particle [ 4 ] = new sgParticle ( 1.0f, 0.0f, -4.0f, 0.0f ) ; particle [ 5 ] = new sgParticle ( 1.0f, 4.0f, 4.0f, 0.0f ) ; @@ -41,23 +41,28 @@ num_particles = 7 ; - spring [ 0] = new sgSpringDamper ( particle[0], particle[1], 0.1f, 1.0f ) ; - spring [ 1] = new sgSpringDamper ( particle[0], particle[2], 0.1f, 1.0f ) ; - spring [ 2] = new sgSpringDamper ( particle[0], particle[3], 0.1f, 1.0f ) ; - spring [ 3] = new sgSpringDamper ( particle[0], particle[4], 0.1f, 1.0f ) ; - spring [ 4] = new sgSpringDamper ( particle[0], particle[5], 0.1f, 1.0f ) ; - spring [ 5] = new sgSpringDamper ( particle[1], particle[2], 0.1f, 1.0f ) ; - spring [ 6] = new sgSpringDamper ( particle[2], particle[3], 0.1f, 1.0f ) ; - spring [ 7] = new sgSpringDamper ( particle[2], particle[5], 0.1f, 1.0f ) ; - spring [ 8] = new sgSpringDamper ( particle[2], particle[6], 0.1f, 1.0f ) ; - spring [ 9] = new sgSpringDamper ( particle[3], particle[4], 0.1f, 1.0f ) ; - spring [10] = new sgSpringDamper ( particle[3], particle[5], 0.1f, 1.0f ) ; - spring [11] = new sgSpringDamper ( particle[4], particle[6], 0.1f, 1.0f ) ; - spring [12] = new sgSpringDamper ( particle[5], particle[6], 0.1f, 1.0f ) ; - spring [13] = new sgSpringDamper ( particle[3], particle[6], 0.1f, 1.0f ) ; - spring [14] = new sgSpringDamper ( particle[4], particle[5], 0.1f, 1.0f ) ; + int s=0; - num_springs = 15 ; + spring [s++] = new sgSpringDamper ( particle[0], particle[1], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[0], particle[2], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[0], particle[3], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[0], particle[4], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[0], particle[5], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[1], particle[2], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[2], particle[3], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[2], particle[5], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[2], particle[6], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[3], particle[4], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[3], particle[5], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[4], particle[6], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[5], particle[6], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[3], particle[6], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[4], particle[5], 50.0f, 1.0f ) ; + + spring [s++] = new sgSpringDamper ( particle[2], particle[4], 50.0f, 1.0f ) ; + spring [s++] = new sgSpringDamper ( particle[0], particle[6], 50.0f, 1.0f ) ; + + num_springs = s ; for ( int i = 0 ; i < num_particles ; i++ ) { @@ -78,14 +83,14 @@ { sgVec3 friction ; - sgScaleVec3 ( friction, particle[i]->getVel (), -1.0 ) ; + sgScaleVec3 ( friction, particle[i]->getVel (), 0.1 ) ; if ( particle [ i ] -> getPos()[2] <= 0.0f ) particle [ i ] -> zeroForce () ; else particle [ i ] -> gravityOnly () ; -// particle [ i ] -> addForce ( friction ) ; + particle [ i ] -> subForce ( friction ) ; } for ( int i = 0 ; i < num_springs ; i++ ) @@ -119,8 +124,12 @@ float t = ck . getAbsTime () ; float dt = ck . getDeltaTime () ; + + if ( dt > 0.05f ) dt = 0.05f ; + ocean -> updateAnimation ( t ) ; - updateSMD ( dt/10.0f ) ; + + updateSMD ( dt ) ; } |