Ejemplo n.º 1
0
        public static Vertex[] GetParasolidVertices(this Edge edge)
        {
            unsafe
            {
                EDGE_t        psEdge       = (int)edge.GetParasolidTag();
                List <Vertex> verticesList = new List <Vertex>();
                VERTEX_t[]    array        = new VERTEX_t[2];
                fixed(VERTEX_t *ptr = array)
                {
                    EDGE.ask_vertices(psEdge, ptr);
                }

                VERTEX_t vertex_t  = array[0];
                VERTEX_t vertex_t2 = array[1];
                if (vertex_t != VERTEX_t.@null)
                {
                    verticesList.Add(new Vertex(vertex_t));
                }
                if (vertex_t2 != VERTEX_t.@null && vertex_t2 != vertex_t)
                {
                    verticesList.Add(new Vertex(vertex_t2));
                }
                return(verticesList.ToArray());
            }
        }
Ejemplo n.º 2
0
        public static Edge GetEdge(this EDGE_t psEdge)
        {
            Tag ps_tag = (Tag)psEdge.Value;

            Globals.TheUfSession.Ps.AskObjectOfPsTag(ps_tag, out var edgeTag);
            return(edgeTag.GetTaggedObject() as Edge);
        }