PixelFarm.Agg.VertexStore.Clear C# (CSharp) Method

Clear() public method

public Clear ( ) : void
return void
        public void Clear()
        {
            m_num_vertices = 0;
        }
        public void AddVertex(double x, double y, VertexCmd cmd)

Usage Example

示例#1
0
        public void CreateCap(VertexStore output, VertexDistance v0, VertexDistance v1, double len)
        {
            output.Clear();

            double dx1 = (v1.y - v0.y) / len;
            double dy1 = (v1.x - v0.x) / len;
            double dx2 = 0;
            double dy2 = 0;

            dx1 *= m_width;
            dy1 *= m_width;

            if (m_line_cap != LineCap.Round)
            {
                if (m_line_cap == LineCap.Square)
                {
                    dx2 = dy1 * m_width_sign;
                    dy2 = dx1 * m_width_sign;
                }
                AddVertex(output, v0.x - dx1 - dx2, v0.y + dy1 - dy2);
                AddVertex(output, v0.x + dx1 - dx2, v0.y - dy1 - dy2);
            }
            else
            {
                double da = Math.Acos(m_width_abs / (m_width_abs + 0.125 / m_approx_scale)) * 2;
                double a1;
                int    i;
                int    n = (int)(Math.PI / da);

                da = Math.PI / (n + 1);
                AddVertex(output, v0.x - dx1, v0.y + dy1);
                if (m_width_sign > 0)
                {
                    a1  = Math.Atan2(dy1, -dx1);
                    a1 += da;
                    for (i = 0; i < n; i++)
                    {
                        AddVertex(output, v0.x + Math.Cos(a1) * m_width,
                                  v0.y + Math.Sin(a1) * m_width);
                        a1 += da;
                    }
                }
                else
                {
                    a1  = Math.Atan2(-dy1, dx1);
                    a1 -= da;
                    for (i = 0; i < n; i++)
                    {
                        AddVertex(output, v0.x + Math.Cos(a1) * m_width,
                                  v0.y + Math.Sin(a1) * m_width);
                        a1 -= da;
                    }
                }
                AddVertex(output, v0.x + dx1, v0.y - dy1);
            }
        }
All Usage Examples Of PixelFarm.Agg.VertexStore::Clear