[Plib-cvs] plib/examples/src/ssg/dynamics dynamics.cxx,1.2,1.3
Brought to you by:
sjbaker
|
From: Steve B. <sj...@us...> - 2002-08-11 18:34:57
|
Update of /cvsroot/plib/plib/examples/src/ssg/dynamics
In directory usw-pr-cvs1:/tmp/cvs-serv11571/plib/examples/src/ssg/dynamics
Modified Files:
dynamics.cxx
Log Message:
Added some more convenience functions.
Index: dynamics.cxx
===================================================================
RCS file: /cvsroot/plib/plib/examples/src/ssg/dynamics/dynamics.cxx,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- dynamics.cxx 11 Aug 2002 18:20:30 -0000 1.2
+++ dynamics.cxx 11 Aug 2002 18:34:54 -0000 1.3
@@ -29,6 +29,25 @@
int num_particles ;
int num_springs ;
+void resetSMD ()
+{
+ particle [ 0 ] -> setPos ( 2.0f, -4.0f, 0.0f ) ;
+ particle [ 1 ] -> setPos ( 2.4f, 0.0f, 6.0f ) ;
+ particle [ 2 ] -> setPos ( 2.0f, 4.0f, 0.0f ) ;
+ particle [ 3 ] -> setPos ( 4.0f, -4.0f, 0.0f ) ;
+ particle [ 4 ] -> setPos ( 0.0f, -4.0f, 0.0f ) ;
+ particle [ 5 ] -> setPos ( 4.0f, 4.0f, 0.0f ) ;
+ particle [ 6 ] -> setPos ( 0.0f, 4.0f, 0.0f ) ;
+
+ particle [ 0 ] -> setVel ( 0, 0, 0 ) ;
+ particle [ 1 ] -> setVel ( 0, 0, 30 ) ;
+ particle [ 2 ] -> setVel ( 0, 0, 0 ) ;
+ particle [ 3 ] -> setVel ( 0, 0, 0 ) ;
+ particle [ 4 ] -> setVel ( 0, 0, 0 ) ;
+ particle [ 5 ] -> setVel ( 0, 0, 0 ) ;
+ particle [ 6 ] -> setVel ( 0, 0, 0 ) ;
+}
+
void initSMD ()
{
particle [ 0 ] = new sgParticle ( 1.0f, 2.0f, -4.0f, 4.0f ) ;
@@ -101,7 +120,12 @@
if ( particle [ i ] -> getPos()[2] <= 0.0f )
{
particle [ i ] -> getPos ()[2] = 0.0f ;
- particle [ i ] -> getVel ()[2] = 0.0f ;
+
+ if ( particle [ i ] -> getVel ()[2] < 0.0f )
+ particle [ i ] -> getVel ()[2] = 0.0f ;
+
+ if ( particle [ i ] -> getForce ()[2] < 0.0f )
+ particle [ i ] -> getForce ()[2] = 0.0f ;
}
particle [ i ] -> update ( dt ) ;
@@ -155,6 +179,7 @@
switch ( key )
{
case 0x03 : exit ( 0 ) ;
+ default : resetSMD () ; break ;
}
}
|