#include #include "starter.h" #include "trick/integrator_c_intf.h" #include "trick/exec_proto.h" #include "trick/message_proto.h" #include "trick/mm_macros.hh" Starter::Starter() { } int Starter::default_data() { // Allocate a dynamic object DynamicObj * obj = new DynamicObj() ; obj->a = 5; obj->b = "Hello world!"; obj->c = (double *) malloc (sizeof(double) * 3); obj->c[0] = 0.0; obj->c[1] = 1.0; obj->c[2] = 2.0; TMM_declare_ext_var(obj, TRICK_STRUCTURED,"DynamicObj", 0, "DynamicObj_alloc", 0, NULL) ; return 0; } int Starter::init() { return 0; } int Starter::scheduled() { message_publish(MSG_NORMAL, "Hello World!\n"); return 0; } int Starter::deriv() { return 0; } int Starter::integ() { int ipass; load_state( NULL /* list is NULL terminated */ ); /* LOAD THE POSITION AND VELOCITY STATE DERIVATIVES */ load_deriv( NULL /* list is NULL terminated */ ); /* Call the Trick integrate service */ ipass = integrate(); /* unload new state */ unload_state( NULL /* list is NULL terminated */ ); /* returns 0 if integerate() was successful */ return ipass; } int Starter::shutdown() { return 0; }