QString AbstractDb::generateUniqueDbNameNoLock() { SqlQueryPtr results = exec("PRAGMA database_list;", Db::Flag::NO_LOCK); if (results->isError()) { qWarning() << "Could not get PRAGMA database_list. Falling back to internal db list. Error was:" << results->getErrorText(); return generateUniqueName("attached", attachedDbMap.leftValues()); } QStringList existingDatabases; foreach (SqlResultsRowPtr row, results->getAll()) existingDatabases << row->value("name").toString(); return generateUniqueName("attached", existingDatabases); }
PhysicalEntity* SimulationEngine::createVisualPhysicalEntity( const std::string& name, osg::TransformPtr tr, opal::Solid* s) { if (!s) { return NULL; } std::string nameStr = name; if (nameStr.empty()) { nameStr = generateUniqueName(); } // Create a new PhysicalEntity. PhysicalEntity* pe = new PhysicalEntity(nameStr, tr, s); // Store the pointer in the PhysicalEntity list. mPhysicalEntityList.push_back(pe); // If the name is not empty, also store the pointer in the // map of named PhysicalEntities. if (!name.empty()) { mPhysicalEntityMap[nameStr] = pe; } return pe; }
/** * Workspace constructor */ ScopedWorkspace::ScopedWorkspace(Workspace_sptr ws) : m_name( generateUniqueName() ) { set(ws); }
/** * Empty constructor */ ScopedWorkspace::ScopedWorkspace() : m_name( generateUniqueName() ) {}
PhysicalEntity* SimulationEngine::createPhysicalEntity( const std::string& name, const std::string& materialName, opal::Solid* s) { PhysicalEntity* pe = NULL; std::string nameStr = name; if (nameStr.empty()) { nameStr = generateUniqueName(); } #ifndef SIMULATION_ENGINE_PHYSICS_ONLY // Create an Ogre SceneNode for the Entity. //Ogre::SceneNode* sn = mOgreSceneMgr->getRootSceneNode()-> //createChildSceneNode(nameStr); osg::NodePtr tn = osg::Node::create(); osg::TransformPtr tr = osg::Transform::create(); // now provide some data... osg::Matrix m; // set the core to the matrix we created osg::beginEditCP(tr); m.setIdentity(); tr->setMatrix(m); osg::endEditCP(tr); osg::beginEditCP(tn); tn->setCore(tr); osg::endEditCP(tn); //osg::NodePtr sn = osg::Node::create(); //osg::NodePtr sn = osg::makeTorus(.5, 2, 16, 16); for (unsigned int i = 0; i < s->getData().getNumShapes(); ++i) { char shapeName[512]; sprintf(shapeName, "%s_shape_%d", nameStr.c_str(), i); osg::NodePtr sn = osg::Node::create(); //osg::NodePtr sn = osg::makeTorus(.5, 2, 16, 16); //osg::NodePtr sn; createChildVisualEntity(sn, /*tr,*/ s->getData().getShapeData(i), shapeName, materialName); osg::beginEditCP(tn); tn->addChild(sn); osg::endEditCP(tn); } //osg::beginEditCP(tn, osg::Node::CoreFieldMask | osg::Node::ChildrenFieldMask); //osg::endEditCP(tn, osg::Node::CoreFieldMask | osg::Node::ChildrenFieldMask); //osg::beginEditCP(mSceneRoot, osg::Node::ChildrenFieldMask); osg::beginEditCP(mSceneRoot); mSceneRoot->addChild(tn); osg::endEditCP(mSceneRoot); //osg::endEditCP(mSceneRoot, osg::Node::ChildrenFieldMask); //mSceneRoot = tn; pe = createVisualPhysicalEntity(nameStr, tr, s); #else pe = createNonVisualPhysicalEntity(nameStr, s); #endif return pe; }
String NameManager::generateSingleName(NameData* nameData, NameRules* rules) { if (System::random(100) < rules->getUniqueChance()) return generateUniqueName(nameData, rules); else return generateRandomizedName(nameData, rules); }