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