void AMF0Object::read() { /* uint8_t marker = bs.getU8(); if(marker != AMF0_TYPE_OBJECT) { printf("error: the current marker is not a valid object, marker = %02X\n", marker); return; } */ readElements(); }
void PartitionIO<MeshType>::read (mesh_ptrtype& meshPart) { meshPart.reset(); M_meshPartIn.reset (new mesh_type); M_HDF5IO.openFile (M_fileName, M_comm, true); readStats(); readPoints(); readEdges(); readFaces(); readElements(); M_HDF5IO.closeFile(); meshPart = M_meshPartIn; M_meshPartIn.reset(); }
void MD5Model::loadMesh(const char *filename) { // sanity check if (!filename) throw Exception("MD5Model::loadMesh(): filename is NULL"); // attempt to open file for reading std::ifstream fin(filename, std::ifstream::in); // was open successful? if (!fin.is_open()) { std::string msg = std::string("MD5Model::loadMesh(): unable to open ") + std::string(filename) + std::string(" for reading"); throw Exception(msg); } // read in file version std::string str; getNextToken(fin, &str); // token must read "MD5Version" if (str != "MD5Version") throw Exception("MD5Model::loadMesh(): expected 'MD5Version'"); // get version # int ver = readInt(fin); // must be version 10 if (ver != 10) throw Exception("MD5Model::loadMesh(): MD5Version must be 10"); // clear any data before reading file clear(); // read in all of the MD5Model elements readElements(fin); // close input file (should be done destructor anyway...) fin.close(); // calculate vertex positions and normals from information in joints // 模型pose姿势中,多个骨骼节点初始位置+连续weight位置变换(骨骼节点开始的位置 + weightPos经过joint四元数旋转的位置)* 权重 的结果作为顶点的位置。 buildVerts(); // 直接叉乘,规范化,将单位面法向量作为每个顶点的法向量 buildNormals(); createRenderData(); }
void EditableLevelObjectEntryGroups::readAndConstructReadStep( LoadedROM& rom, Taddress tableEndAddress) { // Iterate over primary storage addresses and read corresponding data for (AddressIndexMap::iterator it = addressToIndex_.begin(); it != addressToIndex_.end(); ++it) { // std::cout << "start: " << it->first << std::endl; Taddress startAddress = it->first; // Read elements in array LevelObjectEntryGroup dst; readElements(dst, rom.directRead(startAddress), 1); // Add read elements to primary storage primaryStorage_[it->second] = LevelObjectEntryGroup(dst); } }
void FlickrPrivate::parse(const QByteArray &data, const QString &startTag, const QMap<QString,QString> &request) { _xmlStreamReader.clear(); _xmlStreamReader.addData(data); while(!_xmlStreamReader.atEnd()) { _xmlStreamReader.readNext(); if(_xmlStreamReader.isStartElement()) { if(_xmlStreamReader.name() == startTag) { if(_xmlStreamReader.attributes().value("stat") == "ok") { readElements(request); } else { readErrorElement(); } } else { _xmlStreamReader.raiseError(QObject::tr("The file is not an RSP file.")); } } } if(_xmlStreamReader.hasError()) { _flickrError.code = 1002; _flickrError.message = _xmlStreamReader.errorString(); } }
AssetsAccount::AssetsAccount(Budget *parent_budget, QXmlStreamReader *xml, bool *valid) : Account(parent_budget) { o_currency = NULL; QXmlStreamAttributes attr = xml->attributes(); readAttributes(&attr, valid); readElements(xml, valid); }
ExpensesAccount::ExpensesAccount(Budget *parent_budget, QXmlStreamReader *xml, bool *valid) : CategoryAccount(parent_budget) { QXmlStreamAttributes attr = xml->attributes(); readAttributes(&attr, valid); readElements(xml, valid); }