int main(int argc, char **argv)
{

  std::string str;
  int ret;
  ArTcpConnection con;
  ArRobot robot;

  ActionTest at1(-50, 333);
  ActionTest at2(25, 666);
  ActionTest at3(25, 0);
  ActionTest at4(0, -999);

  Aria::init();
  
  if ((ret = con.open()) != 0)
  {
    str = con.getOpenMessage(ret);
    printf("Open failed: %s\n", str.c_str());
    Aria::shutdown();
    return 1;
  }

  robot.setDeviceConnection(&con);
  if (!robot.blockingConnect())
  {
    printf("Could not connect to robot... exiting\n");
    Aria::shutdown();
    return 1;
  }

  robot.addAction(&at1, 100);
  robot.addAction(&at2, 100);
  robot.addAction(&at3, 100);
  robot.addAction(&at4, 100);

  robot.run(true);
  Aria::shutdown();
  return 0;



}
void Event_test::simultaneousThreadUnsafeOneEvent()
{
  ThreadSafeCounter count("gov.fnal.counter");
  bool wasChanged=false;
  
  AccessTestingProd* at1(new AccessTestingProd("access1","",demo::kThreadUnsafe,count,wasChanged));
  AccessTestingProd* at2(new AccessTestingProd("access2","",demo::kThreadUnsafe,count,wasChanged));
  std::vector<std::pair<std::string, std::string> > toGet;
  toGet.push_back(std::pair<std::string,std::string>("access1",""));
  toGet.push_back(std::pair<std::string,std::string>("access2",""));
  SumGetterProd* sum3(new SumGetterProd("sum3","",toGet));
  
  demo::Event event;
  event.setIndex(1);
  
  event.addProducer(at1);
  event.addProducer(at2);
  event.addProducer(sum3);
  
  CPPUNIT_ASSERT(event.get("sum3","")==2);
  CPPUNIT_ASSERT(count.value()==2);
  CPPUNIT_ASSERT(wasChanged==false);
}
void TunnelLevel::setup(){
    INFO("Generating Test Level...");
    readFile();
    initalizeGrid();
    createRenders();

    createLevel();
    INFO("Removal String so less of make");

    waterSurfaceManager = WaterSurfaceManagerPtr(new WaterSurfaceManager());
    addGameObject(waterSurfaceManager);

    CameraPtr cam3(new Camera(glm::vec3(30, 45, 0), glm::vec3(30, 15, 6),
                             glm::vec3(0, 1, 0)));
    cam3->setProjectionMatrix(
        glm::perspective(glm::radians(90.0f),
                        (float) Global::ScreenWidth/Global::ScreenHeight,
                        0.1f, 100.f));

    addCamera("CinematicCamera", cam3);
    setMainCamera("CinematicCamera");
    setCullingCamera("CinematicCamera");

    INFO("Setting up the cameras for the Test Level...");
    CameraPtr cam1(new Camera(glm::vec3(32.0f, 12.0f, -24.0f), glm::vec3(4, 4, -10),
                             glm::vec3(0, 1, 0)));
    cam1->setProjectionMatrix(
        glm::perspective(glm::radians(90.0f),
                        (float) Global::ScreenWidth/Global::ScreenHeight,
                        0.1f, 100.f));

    addCamera("Camera1", cam1);
    setMainCamera("Camera1");
    setCullingCamera("Camera1");

    CameraPtr cam2(new Camera(glm::vec3(0, 1, 0), glm::vec3(-6, -3, 6),
                             glm::vec3(0, 1, 0)));
    cam2->setProjectionMatrix(
        glm::perspective(glm::radians(90.0f),
                        (float) Global::ScreenWidth/Global::ScreenHeight,
                        0.1f, 100.f));

    l1 = LightPtr(new Light(glm::vec3(1), 30.0f, glm::vec3(32, 30, -20)));
    l1->setPosition(l1->getDirection());
    

    Uniform3DGridPtr<int> typeGrid = getTypeGrid();
    gridCenter = glm::vec3((typeGrid->getMaxX() - typeGrid->getMinX())/2.0f,
                         (typeGrid->getMaxY() - typeGrid->getMinY())/2.0f,
                         (typeGrid->getMinZ() - typeGrid->getMaxZ())/2.0f);

    l1->setViewMatrix(glm::lookAt(
        l1->getPosition(),
        gridCenter, glm::vec3(0, 1, 0)));
    l1->setProjectionMatrix(glm::ortho<float>(-30,30,-30,30,-70,70));

    addLight("Sun", l1);

    cinematicPlayer = CinematicPlayerPtr(new CinematicPlayer(cam3));
    cinematicPlayer->setup();
    addGameObject("cinematicPlayer", cinematicPlayer);

    INFO("Setting up the player for the Test Level...");
    player = PlayerPtr(new Player(cam1, 2));
    player->setup();
    addGameObject("player" , player);
    CollisionManager::addCollisionObjectToList(player);

    debugPlayer = DebugPlayerPtr(new DebugPlayer(cam2));
    debugPlayer->setup();
    addGameObject("debugPlayer" , debugPlayer);

    addCamera("DebugCamera", cam2);
    INFO("Creating Switch for the Test Level...");
    SwitchPtr s1(new Switch(glm::vec3(0.9f, 0.1f, 0.1f), glm::vec3(33.7f, 11.0f, -27.0f), 
                             glm::vec3(0,0,1), -20.0f, 1));
    s1->setup();
    addGameObject("s1", s1);
    CollisionManager::addCollisionObjectToGrid(s1);




    std::list<SolidCubePtr> solidCubes;
    // INFO("Creating Active Terrain for the Test Level...");
    for(int i = 11; i < 36; i+=2) {
        for(int j = -27; j < -20; j+=2) {
            SolidCubePtr at1(new SolidCube(glm::vec3(29, i, j)));
            at1->setup();
            RenderEngine::getRenderGrid()->removeObject(at1->getObject());

            solidCubes.push_back(at1);
        }
    }    

    ActiveTerrainPtr a1(new ActiveTerrain(s1, glm::vec3(), glm::vec3(), 50.0f));
    a1->setup();
    a1->setCubes(solidCubes);
    addGameObject("a1", a1);





    sky = ObjectPtr(new Object(
        LoadManager::getMesh("sphere.obj"),
        MaterialManager::getMaterial("None")));

    sky->applyTexture(LoadManager::getTexture("Sky"));
    sky->enableTexture();
    sky->scale(glm::vec3(-50.0f,-50.0f,-50.0f));
    sky->translate(Director::getScene()->getCamera()->getEye());
    RenderEngine::getRenderElement("textured")->addObject(sky);

    ExclamationPtr exclamation = ExclamationPtr(new Exclamation(glm::vec3(60, 5, -23)));
    exclamation->setup();
    addGameObject("exclamation", exclamation);
    


    
    PTR_CAST(SolidCube, (*grid)(7, 20, 11))->getObject()->applyTextureIndex(LoadManager::getTexture("DrainTexture"), 0);
    PTR_CAST(SolidCube, (*grid)(7, 20, 12))->getObject()->applyTextureIndex(LoadManager::getTexture("DrainTexture"), 0);
    PTR_CAST(SolidCube, (*grid)(7, 20, 11))->getObject()->applyNormalMapIndex(LoadManager::getTexture("RegularNormalMap"), 0);
    PTR_CAST(SolidCube, (*grid)(7, 20, 12))->getObject()->applyNormalMapIndex(LoadManager::getTexture("RegularNormalMap"), 0);
    shearRegion(8, 10, 21, 21, 11, 12, 1, 0, 0.0f);
    shearRegion(11, 13, 20, 20, 11, 12, 1, 0, 0.5f);

    PTR_CAST(SolidCube, (*grid)(16, 12, 0))->getObject()->applyTextureIndex(LoadManager::getTexture("DrainTexture"), 0);
    PTR_CAST(SolidCube, (*grid)(17, 12, 0))->getObject()->applyTextureIndex(LoadManager::getTexture("DrainTexture"), 0);
    PTR_CAST(SolidCube, (*grid)(16, 12, 0))->getObject()->applyNormalMapIndex(LoadManager::getTexture("RegularNormalMap"), 0);
    PTR_CAST(SolidCube, (*grid)(17, 12, 0))->getObject()->applyNormalMapIndex(LoadManager::getTexture("RegularNormalMap"), 0);
    shearRegion(16, 17, 13, 13, 1, 4, 0, 1, 0.0f);
    shearRegion(16, 17, 12, 12, 5, 8, 0, 1, 0.5f);

    PTR_CAST(SolidCube, (*grid)(16, 12, 23))->getObject()->applyTextureIndex(LoadManager::getTexture("DrainTexture"), 0);
    PTR_CAST(SolidCube, (*grid)(17, 12, 23))->getObject()->applyTextureIndex(LoadManager::getTexture("DrainTexture"), 0);
    PTR_CAST(SolidCube, (*grid)(16, 12, 23))->getObject()->applyNormalMapIndex(LoadManager::getTexture("RegularNormalMap"), 0);
    PTR_CAST(SolidCube, (*grid)(17, 12, 23))->getObject()->applyNormalMapIndex(LoadManager::getTexture("RegularNormalMap"), 0);
    shearRegion(16, 17, 13, 13, 19, 22, 0, -1, 0.0f);
    shearRegion(16, 17, 12, 12, 15, 18, 0, -1, 0.5f);

    PTR_CAST(SolidCube, (*grid)(26, 12, 15))->getObject()->applyTextureIndex(LoadManager::getTexture("DrainTexture"), 0);
    PTR_CAST(SolidCube, (*grid)(26, 12, 8))->getObject()->applyTextureIndex(LoadManager::getTexture("DrainTexture"), 0);
    PTR_CAST(SolidCube, (*grid)(26, 12, 15))->getObject()->applyNormalMapIndex(LoadManager::getTexture("RegularNormalMap"), 0);
    PTR_CAST(SolidCube, (*grid)(26, 12, 8))->getObject()->applyNormalMapIndex(LoadManager::getTexture("RegularNormalMap"), 0);
}
Exemple #4
0
int main()
{
  std::mt19937 gen;
  gen.seed(std::chrono::system_clock::now().time_since_epoch().count());

  //Settings
  MotifGenSettings set1(1.5, &gen, 3);

  //Create some global abstract motifs
  std::vector<AbstractMotif> am;
  am.push_back(AbstractMotif(set1));
  am.push_back(AbstractMotif(set1));
  am.push_back(AbstractMotif(set1));
  set1.length = 1;
  am.push_back(AbstractMotif(set1));
  am.push_back(AbstractMotif(set1));
  am.push_back(AbstractMotif(set1));

  //Abstract themes
  ThemeGenSettings set2(3, am, .25, &gen, 3);
  AbstractTheme at1(set2);
  set2.concreteness = .5;
  AbstractTheme at2(set2);
  set2.concreteness = .75;
  AbstractTheme at3(set2);
  set2.concreteness = 1;
  AbstractTheme at4(set2);
  AbstractTheme at5(set2);

  //Concrete themes
  ThemeConcreteSettings set3("C4", 0, 80, midi::Instrument::ACOUSTIC_GRAND_PIANO,
                             1500, &gen, 3);

  midi::NoteTrack nt;
  std::uint32_t ticks = 0;

  ConcreteTheme ct(at1, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  ct.generate(at1, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  ct.generate(at1, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  ct.generate(at4, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  ct.generate(at4, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  ct.generate(at4, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  ct.generate(at4, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //1 1 2 2 3 3 1 1 4 4 5 5 1 1
  //1
  /*
  ConcreteTheme ct(at1, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //1
  ct.generate(at1, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //2
  ct.generate(at2, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //2
  ct.generate(at2, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //3
  ct.generate(at3, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //3
  ct.generate(at3, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //1
  ct.generate(at1, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //1
  ct.generate(at1, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //4
  ct.generate(at4, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //4
  ct.generate(at4, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //5
  ct.generate(at5, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //5
  ct.generate(at5, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //1
  ct.generate(at1, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;

  //1
  ct.generate(at1, set3);
  ct.addToTrack(nt, ticks);
  ticks += ct.ticks() + 5000;*/

  //Save
  midi::MIDI_Type0 mid(nt, midi::TimeDivision(1548));
  mid.write("testtheme.mid");
}