mirror of
https://github.com/nasa/trick.git
synced 2024-12-30 18:07:00 +00:00
69 lines
1.6 KiB
Plaintext
69 lines
1.6 KiB
Plaintext
|
/************************TRICK HEADER*************************
|
||
|
PURPOSE:
|
||
|
(blah blah blah)
|
||
|
LIBRARY DEPENDENCIES:
|
||
|
(
|
||
|
)
|
||
|
*************************************************************/
|
||
|
|
||
|
#define DRAW_THREAD C1
|
||
|
|
||
|
#include "sim_objects/default_trick_sys.sm"
|
||
|
|
||
|
##include "ODE/OdeWorld/OdeWorld.hh"
|
||
|
##include "ODE/DrawStuff/DrawStuff.hh"
|
||
|
|
||
|
##include "ODE/Ball/Ball.hh"
|
||
|
##include "ODE/Ball/BallDrawStuffObject.hh"
|
||
|
|
||
|
%{
|
||
|
const double OdeWorldSimObject::time_step = 0.01 ;
|
||
|
%}
|
||
|
|
||
|
/**
|
||
|
This class is the base ball class
|
||
|
*/
|
||
|
class OdeWorldSimObject : public Trick::SimObject {
|
||
|
|
||
|
public:
|
||
|
|
||
|
OdeWorld ode_world ;
|
||
|
DrawStuff drawstuff ;
|
||
|
|
||
|
static const double time_step ;
|
||
|
|
||
|
/** Constructor to add the jobs */
|
||
|
OdeWorldSimObject() {
|
||
|
("initialization") ode_world.init() ;
|
||
|
(time_step, "scheduled") ode_world.step(time_step) ;
|
||
|
DRAW_THREAD (1000000.0, "scheduled") drawstuff.draw() ;
|
||
|
("shutdown") drawstuff.shutdown() ;
|
||
|
("shutdown") ode_world.shutdown() ;
|
||
|
}
|
||
|
} ;
|
||
|
|
||
|
class OdeObjectsSimObject : public Trick::SimObject {
|
||
|
|
||
|
public:
|
||
|
|
||
|
Ball ball ;
|
||
|
BallDrawStuffObject ball_drawstuff_object ;
|
||
|
|
||
|
/** Constructor to add the jobs */
|
||
|
OdeObjectsSimObject() {
|
||
|
("initialization") ball.init() ;
|
||
|
("initialization") ball_drawstuff_object.init(ball.geom) ;
|
||
|
}
|
||
|
} ;
|
||
|
|
||
|
// Instantiations
|
||
|
OdeWorldSimObject world ;
|
||
|
OdeObjectsSimObject ode_objects ;
|
||
|
|
||
|
// Connect objects
|
||
|
void create_connections() {
|
||
|
// Set the default termination time
|
||
|
exec_set_terminate_time(300.0) ;
|
||
|
}
|
||
|
|