Loop
using Autodesk.DesignScript.Interfaces;
using Autodesk.DesignScript.Runtime;
using System.Collections.Generic;
using System.Linq;
namespace Autodesk.DesignScript.Geometry
{
[IsVisibleInDynamoLibrary(false)]
public class Loop : DesignScriptEntity
{
internal ILoopEntity LoopEntity => HostImpl as ILoopEntity;
public Face Face => Face.Wrap(LoopEntity.get_Face(), true);
public CoEdge[] CoEdges => CoEdge.Wrap(LoopEntity.get_CoEdges(), true);
public bool IsExternal => LoopEntity.get_IsExternal();
internal Loop(ILoopEntity host, bool persist)
: base(host, persist)
{
}
public override string ToString()
{
return "Loop(Face = " + Face?.ToString() + ", IsExternal = " + IsExternal.ToString() + ")";
}
internal static Loop Wrap(ILoopEntity host, bool persist = true)
{
if (host == null)
return null;
return new Loop(host, persist);
}
internal static Loop[] Wrap(ILoopEntity[] hosts, bool persist = true)
{
return (from x in hosts
select Wrap(x, persist)).ToArray();
}
internal static Loop[][] Wrap(ILoopEntity[][] hosts, bool persist = true)
{
return (from x in hosts
select Wrap(x, persist)).ToArray();
}
internal static ILoopEntity[][] Unwrap(Loop[][] o)
{
return (from x in o
select Unwrap(x)).ToArray();
}
internal static ILoopEntity[] Unwrap(Loop[] o)
{
return (from x in o
select Unwrap(x)).ToArray();
}
internal static ILoopEntity[] Unwrap(IEnumerable<Loop> o)
{
return (from x in o
select Unwrap(x)).ToArray();
}
internal static ILoopEntity Unwrap(Loop o)
{
return o.LoopEntity;
}
}
}