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); }
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"); }