Пример #1
0
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();
}
Пример #2
0
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();
}
Пример #3
0
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);
  }
}
Пример #5
0
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();
    }
}
Пример #6
0
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);
}
Пример #7
0
ExpensesAccount::ExpensesAccount(Budget *parent_budget, QXmlStreamReader *xml, bool *valid) : CategoryAccount(parent_budget) {
	QXmlStreamAttributes attr = xml->attributes();
	readAttributes(&attr, valid);
	readElements(xml, valid);
}