Re: [Seqan-dev] Using EdgeProperties and VertexProperties


Hey Mat,

In the write function in graph_types/graph_drawing.h, for each vertex and edge property the following call is used:

_streamWrite(file, getProperty(nodeMap, *itVertex));

_streamWrite(file, getProperty(edgeMap, *itEdge));


Best, Tobias



________________________________________
From: Mat [matthias.dodt@mdc-berlin.de]
Sent: Monday, February 07, 2011 4:34 PM
To: SeqAn Development
Subject: [Seqan-dev] Using EdgeProperties and VertexProperties

Hey guys!

I would like to create a .dot file of my graph using the

write(strmWrite, *graph, *vertexPropertyMap,*edgePropertyMap,DotDrawing());

method.

The two maps are defined as follows:

seqan::String<VertexProperty> *vertexPropertyMap = new seqan::String<VertexProperty>();
seqan::String<EdgeProperty> *edgePropertyMap = new seqan::String<EdgeProperty>();

VertexProperty and EdgeProperty are two custom classes...

Now if i use the DotDrawing() method i get the message "cannot convert form VertexProperty to char"...

So i guess i would have to implement my own "_streamPut" method for these classes in seqans "cstream.h", so something like:

inline void _streamPut(::std::FILE * target,
           const EdgeProperty e)
{
SEQAN_CHECKPOINT
    //putc(e.toChar(), target);
}

or is there an easier way to do that?

Thanks!

best,

mat