Exemplo n.º 1
0
  bool readFrame(Real *trajDst) {
    if (!curTime)
      if (!readKeyFrame()) return false;
    while ((curTime == expectedSegment.top().time) && (chunkCur < chunkSz))
      readSegment();
    if (expectedSegment.top().time <= curTime)
      return false;
    // push data to trajDst
    if (trajDst) {
      for (int i=0; i<numTraj; i++)
	trajDst[i] = trajState[i].get<Real>(curTime, quantum);
    }
    curTime++;
    return true;
  }
Exemplo n.º 2
0
/**
 * Creates the KML, COLLADA and Network Link KML files for use in Google Earth.
 *
 * @param segments A vector of individual swath segments for processing.
 */
bool KMLBuilder::generateFiles(QVector<Segment> segments) {
	container* c;
	kml *kmlFile;
	collada *colladaFile;
	netlink *netlinkFile;
	netlinkFile = new netlink(fileDirs["root"], templates["header"],
		templates["network_link"], templates["footer"]);
	for(int i = 0; i < segments.size(); i++) {	
		if ((c = readSegment(segments.at(i))) == NULL)
			return 0;
		kmlFile = new kml(fileDirs["ge_files"], c, templates["kml"]);
		colladaFile = new collada(fileDirs["models"], c,
			templates["collada"]);
		netlinkFile->addLink(c);
		delete kmlFile;
		delete c;
	}
	delete netlinkFile;
	
	relocateImages();
	return 1;	
}