Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
test.C File Reference
#include "rocman.h"
Include dependency graph for test.C:

Go to the source code of this file.

Classes

class  ActionA
 
class  ActionB
 
class  ActionC
 
class  ActionD
 
class  ActionE
 
class  ActionF
 
class  ActionG
 

Functions

int main ()
 

Function Documentation

int main ( )

Definition at line 89 of file test.C.

References Scheduler::add_action(), d, ActionA::declare(), ActionB::declare(), ActionC::declare(), ActionD::declare(), ActionE::declare(), ActionF::declare(), ActionG::declare(), Scheduler::finalize_actions(), Scheduler::init_actions(), Scheduler::print(), Scheduler::run_actions(), and Scheduler::schedule().

90 {
91  Scheduler * sched = new Scheduler;
92 
93  // root action
94  ActionA *a = new ActionA(0, NULL, NULL, NULL, "A");
95  sched->add_action(*a);
96  a->declare(*sched);
97 
98  char *attr_c[] = { "c" };
99  int idx_c[] = { 1 };
100  ActionC *c = new ActionC(1, attr_c, idx_c, NULL, "C");
101  sched->add_action(*c);
102  c->declare(*sched);
103 
104  char *attr_d[] = { "d", "c" };
105  int idx_d[] = { 1, 1 };
106  ActionD *d = new ActionD(2, attr_d, idx_d, NULL, "D");
107  sched->add_action(*d);
108  d->declare(*sched);
109 
110  char *attr_b[] = { "b" };
111  int idx_b[] = { 1 };
112  ActionB *b = new ActionB(1, attr_b, idx_b, NULL, "B");
113  sched->add_action(*b);
114  b->declare(*sched);
115 
116  // action E is a container action that has its own sub-schduler
117  // the sub scheduler contains action F and G
118  Scheduler * subsched = new Scheduler;
119 
120  ActionF *f = new ActionF(0, NULL, NULL, NULL, "F");
121  subsched->add_action(*f);
122  f->declare(*subsched);
123 
124  char *attr_g[] = { "f" };
125  int idx_g[] = { 1 };
126  ActionG *g = new ActionG(1, attr_g, idx_g, NULL, "G");
127  subsched->add_action(*g);
128  g->declare(*subsched);
129 
130  char *attr_e[] = { "f" };
131  int idx_e[] = { 1 };
132  ActionE *e = new ActionE(subsched, 1, attr_e, idx_e, NULL, "E");
133  sched->add_action(*e);
134  e->declare(*sched);
135 
136  // all creation done now
137  sched->schedule();
138 
139  // generate GDL file for visualization with iaSee tool
140  sched->print("out.gdl");
141 
142  sched->init_actions(1);
143 
144  sched->run_actions(1, 0.1);
145 
146  sched->finalize_actions();
147 }
virtual void declare(Scheduler &sched)
Definition: test.C:39
virtual void declare(Scheduler &sched)
Definition: test.C:68
Definition: test.C:73
const NT & d
virtual void declare(Scheduler &sched)
Definition: test.C:48
Definition: test.C:45
virtual void schedule()
Definition: Scheduler.C:162
virtual void declare(Scheduler &sched)
Definition: test.C:30
void print(const char *fname)
Definition: Scheduler.C:244
Definition: test.C:81
Definition: test.C:55
void finalize_actions()
Definition: Scheduler.C:351
virtual void declare(Scheduler &sched)
Definition: test.C:76
Definition: test.C:26
virtual void declare(Scheduler &sched)
Definition: test.C:58
Definition: test.C:64
virtual void declare(Scheduler &sched)
Definition: test.C:84
virtual void add_action(Action *)
Definition: Scheduler.C:41
void init_actions(double t)
Definition: Scheduler.C:324
void run_actions(double t, double dt)
Definition: Scheduler.C:339
Definition: test.C:36

Here is the call graph for this function: