///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Copyright (C) 2006 by Intel Coproration and Carnegie Mellon University    //
// Contacts: casey.j.helfrich @ intel.com                                    //
//           bdr @ cs.cmu.edu                                                //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include <iostream>
#include <errno.h>
#include <string.h>

#include "Snowflake.hxx"

#include "CatomWorld.hxx"

CODE_MODULE_DECLARATION( Snowflake, Snowflake );

using namespace std;

//static unsigned int f_remap[7] = { 0, 1, 2, 4, 6, 5, 3 };


void Snowflake::newTick() {
}

void Snowflake::endTick() {
}

void Snowflake::oracle() {
  cout << "SNOracle: running concurrently with simulationStart\n";
  oracleYield();
  cout << "SNOracle: running with other oracles only\n";

  //
  // Open/generate plan.
  //

  oracleYield();
  while (1) {
    cout << "SNOracle: running concurrently with newTick, endTick\n";
    oracleYield();
    cout << "SNOracle: running with other oracles only\n";

    //
    // do some MoveTo()'s
    //

    // worldPtr->catomHash[GUID]->C.moveTo(Target_GUID, Target_FeatureID);

    oracleYield();
  }
}
