Example #1
0
void writeNetlistContents(QXmlStreamWriter &stream, const QVariantList &v)
{
    stream.writeStartElement("contents");

    for (int i = 1; i < v.size(); i++)
    {
        QVariant v2 = v[i];
        if (v2.type() == QVariant::List)
        {
            QVariantList l2 = v2.toList();
            if (l2.size() > 0)
            {
                QString tag = l2.first().toString();
                if (tag == "instance")
                {
                    writeInstance(stream, l2);
                }
                else if (tag == "net")
                {
                    writeNet(stream, l2);
                }
                else
                {
                    qWarning("Unexpected tag '%s' in 'contents' tag", qPrintable(tag));
                }
            }
        }
    }

    stream.writeEndElement();
}
Example #2
0
bool nNFileWriter::write(string name, vector<nMeshInstance *> instances, vector<string> names)
{
	ofstream *file = openFile(name);
	if(!file || !file->is_open())
		return false;

	for(unsigned int i = 0; i != instances.size(); i++)
	{
		uint8_t l = names[i].size();
		file->write((const char*)&l, 1);
		file->write(names[i].c_str(), names[i].size());
		uint32_t size = getSize(instances[i]);
		cout<<"size of \""<<names[i]<<"\" = "<<size<<endl;
		file->write((const char*)&size, 4);
	}
	file->write("\0", 1);

	for(unsigned int i = 0; i != instances.size(); i++)
		writeInstance(*file, instances[i]);


	file->close();
	nGine::instance()->getLogger()->addDebugLog("file written");

	return true;
}
Example #3
0
void WekaClassifier::addData(const InstancePtr &instance) {
  if ((dropFrac > 1e-10) && (rng->randomFloat() < dropFrac))
    return;
  //std::cout << "adding " << *instance << std::endl;
  writeInstance(instance);
  sendInstances(false);

  //strcpy(comm->msg,"TESTING THIS OUT");
  //*(comm->cmd) = 'w';
  //comm->send();
  //comm->wait();
}
Example #4
0
bool nNFileWriter::write(string name, nMeshInstance *dp)
{
	ofstream *file = openFile(name);
	if(!file || !file->is_open())
		return false;

	file->write("\0", 1);
	writeInstance(*file, dp);

	nGine::instance()->getRessourcesManager()->getMeshManager()->addMesh(dp, name, "");
	file->close();

	nGine::instance()->getLogger()->addDebugLog("file written");
	return true;
}
Example #5
0
void HtmlWriter::writeRoomTag(const vector<InstanceInfo>& instances) {
	
	m_Output << "<Room ";
	map<string,string>::iterator itr= m_RoomAtributes.begin();
    while(itr != m_RoomAtributes.end()) {
        m_Output << itr->first << "=\"" << itr->second << "\" ";
        itr++;
    }
    m_Output << m_Origin << ">" << endl;

	m_Output << "<Object id=\"object_hull\" collision_id=\"object_hull\"";
	m_Output << " shader_id=\"" << m_DefaultShaderId << "\"";
	m_Output << " locked=\"true\" "<< TransformIdentity<<" />" << endl;
	
	for(size_t i=0; i < instances.size(); i++) 
		writeInstance(instances[i]);
	
	m_Output << "</Room>" << endl;
}
Example #6
0
void WekaClassifier::classifyInternal(const InstancePtr &instance, Classification &classification) {
  sendInstances(true);
  //std::cout << "classifying" << std::endl;
  writeInstance(instance);
  comm->sendWait('c');
  *(comm->n) = 0;
  classification.resize(numClasses);
  
  const float EPS = 0.001;
  bool unclassified = true;
  for (unsigned int i = 0; i < numClasses; i++) {
    classification[i] = comm->classes[i];
    if (classification[i] > EPS)
      unclassified = false;
  }
  if (unclassified) {
    for (unsigned int i = 0; i < numClasses; i++)
      classification[i] = 1.0 / numClasses;
  } 
}