コード例 #1
0
void
add_alignment_to_depth_buffer(const alignment& al,
                              depth_buffer& db) {

    using namespace ALIGNPATH;

    pos_t ref_head_pos(al.pos);

    const unsigned as(al.path.size());
    for (unsigned i(0); i<as; ++i) {
        const path_segment& ps(al.path[i]);
        if (ps.type == MATCH) {
            for (unsigned j(0); j<ps.length; ++j) db.inc(ref_head_pos+static_cast<pos_t>(j));
        }

        if (is_segment_type_ref_length(ps.type)) ref_head_pos += ps.length;
    }

}
コード例 #2
0
void
add_alignment_to_depth_buffer(
    const pos_t& pos,
    const ALIGNPATH::path_t& apath,
    depth_buffer& db)
{
    using namespace ALIGNPATH;

    pos_t ref_head_pos(pos);

    BOOST_FOREACH(const path_segment& ps, apath)
    {
        if ( is_segment_align_match(ps.type) )
        {
            for (unsigned j(0); j<ps.length; ++j) db.inc(ref_head_pos+static_cast<pos_t>(j));
        }

        if ( is_segment_type_ref_length(ps.type) ) ref_head_pos += ps.length;
    }
}