Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
	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;
	}
Ejemplo n.º 3
0
 /**
  * Workspace constructor
  */
 ScopedWorkspace::ScopedWorkspace(Workspace_sptr ws) :
   m_name( generateUniqueName() )
 {
   set(ws);
 }
Ejemplo n.º 4
0
 /** 
  * Empty constructor
  */
 ScopedWorkspace::ScopedWorkspace() :
   m_name( generateUniqueName() )
 {}
Ejemplo n.º 5
0
	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;
	}
Ejemplo n.º 6
0
String NameManager::generateSingleName(NameData* nameData, NameRules* rules) {
	if (System::random(100) < rules->getUniqueChance())
		return generateUniqueName(nameData, rules);
	else
		return generateRandomizedName(nameData, rules);
}