/// <summary> /// Implements the interface method. /// </summary> public IList <Curve> GetStairsPath() { if (m_stairsRun == null) { throw new NotSupportedException("Stairs run hasn't been constructed yet."); } CurveLoop curveLoop = m_stairsRun.GetStairsPath(); return(curveLoop.ToList()); }
public bool FirstPointIsInsideFace( CurveLoop CL, PlanarFace PFace) { Transform Trans = PFace.ComputeDerivatives( new UV(0, 0)); if (CL.Count() == 0) { return(false); } XYZ Pt = Trans.Inverse.OfPoint( CL.ToList()[0].GetEndPoint(0)); IntersectionResult Res = null; bool outval = PFace.IsInside( new UV(Pt.X, Pt.Y), out Res); return(outval); }
/// <summary> /// Объединить прямые линии в <see cref="CurveLoop"/> /// </summary> /// <param name="curveLoop"><see cref="CurveLoop"/></param> public static CurveLoop MergeStraightLines(CurveLoop curveLoop) { return(CurveLoop.Create(MergeStraightLines(curveLoop.ToList(), true))); }