Example #1
0
BinaryOutputStream::BinaryOutputStream(Endianness endian)
: NamedObject("<memory>"),
  m_path("<memory>"),
  m_beginEndBits(0),
  m_bitString(0),
  m_bitPos(0),
  m_buffer(NULL),
  m_bufferLen(0),
  m_bufferCapacity(0),
  m_pos(0),
  m_alreadyWritten(0),
  m_ok(true)
{
  setEndianness(endian);
}
Example #2
0
	void exportState(int iteration, owConfigProperty * config, float * position,
					 float * connections, float * velocity, int * membranes,
					 float * muscleActivationSignal) {

		std::string filename = config->getLoadPath() + std::string("state_")
			+ to_string(iteration, 8, '0') + std::string(".vtp");

		std::ofstream outFile(filename.c_str());
		if (!outFile) {
			throw std::runtime_error("Cannot create VTK file.");
		}

		if (numConns == -1) {
			/* Initialization of variables */
			countExistingConnections(connections, config);
			setEndianness();
		}

		outFile << "<VTKFile type=\"PolyData\" version=\"0.1\""
				<< " byte_order="
				<< (isBigEndian ? "\"BigEndian\"" : "\"LittleEndian\"")
				<< ">\n";
		outFile << "<PolyData>\n";
		outFile << "<Piece"
				<< " NumberOfPoints=\"" << config->getParticleCount() << "\""
				<< " NumberOfPolys=\""	<< config->numOfMembranes << "\""
				<< " NumberOfLines=\""	<< numConns << "\""
				<< ">\n";

		printParticles(outFile, position, velocity, config);
		printMembranes(outFile, membranes, config);
		printConnections(outFile, connections, config);

		outFile << "<CellData>\n";
		printCellTypes(outFile, config);
		printMuscleNumbers(outFile, connections, config);
		printMuscleActivation(outFile, connections, muscleActivationSignal, config);
		outFile << "</CellData>\n";

		outFile << "</Piece>\n";
		outFile << "</PolyData>\n";
		outFile << "</VTKFile>\n";

		outFile.close();
	}
Example #3
0
BinaryOutputStream::BinaryOutputStream(std::string const & path, Endianness file_endian)
: NamedObject(FilePath::objectName(path)),
  m_path(path),
  m_beginEndBits(0),
  m_bitString(0),
  m_bitPos(0),
  m_buffer(NULL),
  m_bufferLen(0),
  m_bufferCapacity(0),
  m_pos(0),
  m_alreadyWritten(0),
  m_ok(true)
{
  setEndianness(file_endian);

  // Verify ability to write to disk
  _commit(false, true);
}