示例#1
0
        public bool Intersected(Edge v_edge)
        {
            HalfLine v_hafl_s_e = new HalfLine(m_pointStart, m_pointEnd);
            HalfLine v_hafl_e_s = new HalfLine(m_pointEnd, m_pointStart);

            if (v_hafl_s_e.Intersected(v_edge) && v_hafl_e_s.Intersected(v_edge))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
 public bool Contain(Point2D v_point)
 {
     List<Edge> v_list_boundaryEdge = GetBoundaryPolygon();
     for (int i = 0; i < m_list_node.Count; i++)
     {
         int v_int_dem = 0;
         HalfLine v_hafl = new HalfLine(m_list_node[i], v_point);
         foreach (var item in v_list_boundaryEdge)
         {
             if (!v_hafl.Intersected(item))
             {
                 v_int_dem++;
             }
         }
         if(v_int_dem  == v_list_boundaryEdge.Count)
         {
             return false;
         }
     }
     return true;
 }
示例#3
0
        public bool Contain(Point2D v_point)
        {
            List <Edge> v_list_boundaryEdge = GetBoundaryPolygon();

            for (int i = 0; i < m_list_node.Count; i++)
            {
                int      v_int_dem = 0;
                HalfLine v_hafl    = new HalfLine(m_list_node[i], v_point);
                foreach (var item in v_list_boundaryEdge)
                {
                    if (!v_hafl.Intersected(item))
                    {
                        v_int_dem++;
                    }
                }
                if (v_int_dem == v_list_boundaryEdge.Count)
                {
                    return(false);
                }
            }
            return(true);
        }
 public bool Intersected(Edge v_edge)
 {
     HalfLine v_hafl_s_e = new HalfLine(m_pointStart, m_pointEnd);
     HalfLine v_hafl_e_s = new HalfLine(m_pointEnd, m_pointStart);
     if (v_hafl_s_e.Intersected(v_edge) && v_hafl_e_s.Intersected(v_edge))
     {
         return true;
     }
     else
         return false;
 }