Subversion Repositories gelsvn

Rev

Rev 518 | Rev 543 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 518 Rev 519
Line 24... Line 24...
24
    using namespace std;
24
    using namespace std;
25
    using namespace CGLA;
25
    using namespace CGLA;
26
 
26
 
27
    void flatten(Manifold& m, WeightScheme ws)
27
    void flatten(Manifold& m, WeightScheme ws)
28
    {
28
    {
29
        HalfEdgeAttributeVector<float> edge_weights(m, 0);
29
        HalfEdgeAttributeVector<float> edge_weights(m.total_halfedges(), 0);
30
        for(HalfEdgeIDIterator h = m.halfedges_begin(); h != m.halfedges_end(); ++h){      
30
        for(HalfEdgeIDIterator h = m.halfedges_begin(); h != m.halfedges_end(); ++h){      
31
            if(boundary(m, *h))
31
            if(boundary(m, *h))
32
                continue;
32
                continue;
33
 
33
 
34
            HalfEdgeWalker wv = m.halfedgewalker(*h);
34
            HalfEdgeWalker wv = m.halfedgewalker(*h);
Line 109... Line 109...
109
                    m.pos(*v) = p_new/w_sum;
109
                    m.pos(*v) = p_new/w_sum;
110
                }
110
                }
111
            }
111
            }
112
        }
112
        }
113
 
113
 
114
        VertexAttributeVector<int> vtouched(m, 0);
114
        VertexAttributeVector<int> vtouched(m.total_vertices(), 0);
115
        i = 0;
115
        i = 0;
116
        for(v = m.vertices_begin(); v != m.vertices_end(); ++v, ++i){
116
        for(v = m.vertices_begin(); v != m.vertices_end(); ++v, ++i){
117
            ofs << "vt " << (0.5*m.pos(*v)[0]+0.5) << " " << (0.5*m.pos(*v)[1]+0.5)  << endl;
117
            ofs << "vt " << (0.5*m.pos(*v)[0]+0.5) << " " << (0.5*m.pos(*v)[1]+0.5)  << endl;
118
            vtouched[*v] = i;
118
            vtouched[*v] = i;
119
        }
119
        }