File: treeWidth.C

package info (click to toggle)
ball 1.5.0%2Bgit20180813.37fc53c-6
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 239,888 kB
  • sloc: cpp: 326,149; ansic: 4,208; python: 2,303; yacc: 1,778; lex: 1,099; xml: 958; sh: 322; makefile: 95
file content (25 lines) | stat: -rw-r--r-- 725 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <BALL/DATATYPE/GRAPH/treeWidth.h>

#include <BALL/KERNEL/atom.h>

namespace BALL
{
	template <>
	void TreeWidth<MolecularGraph>::BagContentWriter::operator() (std::ostream& out, const TreeDecompositionBag& v) const
	{
		out << "[label=\"";

		// find all vertices in the current bag
		TreeDecompositionContent content = boost::get(boost::vertex_bag_content, *td_, v);

		for (TreeDecompositionContent::const_iterator tdc_it = content.begin(); tdc_it != content.end(); ++tdc_it)
		{
			TreeWidth<MolecularGraph>::OriginalVertexType ov = *tdc_it;
			Atom const* atom = boost::get(boost::vertex_atom_ptr, *original_graph_, ov);

			out << atom->getFullName() << " (" << atom << ") " << "\\n";
		}

		out << "\"]";
	}
}