Ejemplo n.º 1
0
        bool SetBoundary()
        {
            {
                m_Mesh2D.DeleteInit();

                int numBoundary = m_ArrayMeshBoundary.Count;
                for (int i = 0; i < numBoundary; i++)
                {
                    if (m_ArrayMeshBoundary[i].FlagHole)
                    {
                        m_Mesh2D.SetBoundary(m_ArrayMeshBoundary[i]);
                    }
                }

                // Elimina eventuali spigoli isolati
                for (int i = 0; i < m_Mesh2D.ArrayWEdges.Count; i++)
                {
                    AM_Edge pedge = m_Mesh2D.ArrayWEdges[i].Edge();
                    if (pedge.CcwFace() == null && pedge.CwFace() == null)
                    {
                        m_Mesh2D.DeleteEdge(pedge);
                    }
                }
            }

            return(true);
        }