Update of /cvsroot/plib/plib/examples/src/ssg/dynamics
In directory usw-pr-cvs1:/tmp/cvs-serv1434/plib/examples/src/ssg/dynamics
Modified Files:
dynamics.cxx
Log Message:
Added collisions to dynamics demo.
Index: dynamics.cxx
===================================================================
RCS file: /cvsroot/plib/plib/examples/src/ssg/dynamics/dynamics.cxx,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- dynamics.cxx 11 Aug 2002 18:34:54 -0000 1.3
+++ dynamics.cxx 11 Aug 2002 19:52:07 -0000 1.4
@@ -15,6 +15,8 @@
#define GUI_BASE 80
#define VIEW_GUI_BASE 20
#define FONT_COLOUR 1,1,1,1
+#define DEEPEST_HELL -10000.0
+#define HOT_TOLERANCE 1.0
ssgRoot *scene = NULL ;
ssgaWaveSystem *ocean = NULL ;
@@ -33,11 +35,11 @@
{
particle [ 0 ] -> setPos ( 2.0f, -4.0f, 0.0f ) ;
[...94 lines suppressed...]
+ particle [ i ] -> update ( dt ) ;
- if ( particle [ i ] -> getVel ()[2] < 0.0f )
- particle [ i ] -> getVel ()[2] = 0.0f ;
+ sgVec3 normal ;
- if ( particle [ i ] -> getForce ()[2] < 0.0f )
- particle [ i ] -> getForce ()[2] = 0.0f ;
- }
+ float hot = getHeightAndNormal ( particle [ i ] -> getPos(), normal ) ;
- particle [ i ] -> update ( dt ) ;
+ if ( particle [ i ] -> getPos ()[2] <= hot )
+ {
+ particle [ i ] -> bounce ( normal, RESTITUTION ) ;
+ particle [ i ] -> getPos ()[2] = hot ;
+ }
}
for ( int i = 0 ; i < num_particles ; i++ )
|