/// <summary>
        /// 生成多边形交点的进出点类型
        /// </summary>
        void CreatePolysCrossPointsInOutType(Poly polyA, Poly polyB)
        {
            List <PolySide[]> sidesListA = polyA.sidesList;
            int inoutType = 0;
            List <CrossPointInfo> cpinfoList;
            CrossPointInfo        cpinfo;

            for (int i = 0; i < sidesListA.Count; i++)
            {
                PolySide[] sidesA = sidesListA[i];

                if (geoAlgor.IsInsidePoly(polyB, sidesA[0].startpos))
                {
                    inoutType = 1;
                }
                else
                {
                    inoutType = 0;
                }

                cpinfoList = sidesA[0].crossPointInfoList;
                cpinfoList[0].inoutType = inoutType;

                for (int j = 0; j < sidesA.Length; j++)
                {
                    cpinfoList = sidesA[j].crossPointInfoList;
                    for (int k = 1; k < cpinfoList.Count; k++)
                    {
                        if (k == cpinfoList.Count - 1)
                        {
                            cpinfoList[k].inoutType = cpinfoList[k - 1].inoutType;
                            cpinfo           = cpinfoList[k].GetCrossSideCrossPointInfo();
                            cpinfo.inoutType = cpinfoList[k].inoutType;
                        }
                        else
                        {
                            cpinfoList[k].inoutType = 1 - cpinfoList[k - 1].inoutType;
                        }
                    }
                }
            }
        }