Exemple #1
0
void PolygonNode::calcVertexes(const VertexDataPtr& pVertexData, Pixel32 color)
{
    if (getNumDifferentPts(m_Pts) < 3) {
        return;
    }
    if (m_EffTexCoords.empty()) {
        calcEffPolyLineTexCoords(m_EffTexCoords, m_TexCoords, m_CumulDist);
    }
    calcPolyLine(m_Pts, m_EffTexCoords, true, m_LineJoin, pVertexData, color);

    for (unsigned i = 0; i < m_Holes.size(); i++) {
        calcPolyLine(m_Holes[i], m_EffTexCoords, true, m_LineJoin, pVertexData, color);
    }
}
Exemple #2
0
void PolyLineNode::calcVertexes(const VertexDataPtr& pVertexData, Pixel32 color)
{
    if (getNumDifferentPts(m_Pts) < 2) {
        return;
    }
    if (m_EffTexCoords.empty()) {
        calcEffPolyLineTexCoords(m_EffTexCoords, m_TexCoords, m_CumulDist);
    }
    calcPolyLine(m_Pts, m_EffTexCoords, false, m_LineJoin, pVertexData, color);
}
void RectNode::calcVertexes(const VertexDataPtr& pVertexData, Pixel32 color)
{
    glm::vec2 pivot = m_Rect.tl+m_Rect.size()/2.f;

    glm::vec2 p1 = m_Rect.tl;
    glm::vec2 p2(m_Rect.tl.x, m_Rect.br.y);
    glm::vec2 p3 = m_Rect.br;
    glm::vec2 p4(m_Rect.br.x, m_Rect.tl.y);
    
    vector<glm::vec2> pts; 
    pts.push_back(getRotatedPivot(p1, m_Angle, pivot));
    pts.push_back(getRotatedPivot(p2, m_Angle, pivot));
    pts.push_back(getRotatedPivot(p3, m_Angle, pivot));
    pts.push_back(getRotatedPivot(p4, m_Angle, pivot));
    calcPolyLine(pts, m_TexCoords, true, LJ_MITER, pVertexData, color);
}