コード例 #1
0
ファイル: ChimeraWriter.cpp プロジェクト: apolitis/imp
bool ChimeraWriter::handle_polygon(PolygonGeometry *g, Color color,
                                   std::string name) {
  cleanup(name, false, true);
  Ints triangles = internal::get_triangles(g);
  get_stream() << "v=[";
  for (unsigned int i = 0; i < g->get_geometry().size(); ++i) {
    get_stream() << "(" << commas_io(g->get_geometry()[i]) << "), ";
  }
  get_stream() << "]\n";
  get_stream() << "vi=[";
  for (unsigned int i = 0; i < triangles.size() / 3; ++i) {
    get_stream() << "(" << triangles[3 * i] << ", " << triangles[3 * i + 1]
                 << ", " << triangles[3 * i + 2] << "), ";
  }
  get_stream() << "]\n";
  get_stream() << "m.addPiece(v, vi, (" << commas_io(color) << ", 1))\n";
  return true;
}
コード例 #2
0
ファイル: ChimeraWriter.cpp プロジェクト: drussel/imp
bool ChimeraWriter::handle_triangle(TriangleGeometry *g,
                            Color color, std::string name) {
  cleanup(name, false, true);
  get_stream() << "v=[";
  for (unsigned int i=0; i< 3; ++i) {
    get_stream() << "(" << commas_io(g->get_geometry().get_point(i)) << "), ";
  }
  get_stream() << "]\n";
  get_stream() << "vi=[";
  for (unsigned int i=2; i< 3; ++i) {
    get_stream() << "(";
    get_stream() << "0" << ", " << i-1 << ", " << i;
    get_stream() << "), ";
  }
  get_stream() << "]\n";
  get_stream() << "m.addPiece(v, vi, (" << commas_io(color)
  << ", 1))\n";
  return true;
}
コード例 #3
0
ファイル: ChimeraWriter.cpp プロジェクト: apolitis/imp
bool ChimeraWriter::handle_segment(SegmentGeometry *g, Color color,
                                   std::string name) {
  cleanup(name, true);
  write_marker(get_stream(), g->get_geometry().get_point(0), color, 0);
  get_stream() << "ml=mark\n";
  write_marker(get_stream(), g->get_geometry().get_point(1), color, 0);
  get_stream() << "Link(ml, mark, (" << commas_io(color) << ")";
  get_stream() << ", .1)\n";
  get_stream() << "ml=mark\n";
  return true;
}