Loop
using Autodesk.DesignScript.Interfaces;
using Autodesk.DesignScript.Runtime;
using ProtoGeometryGenerator;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Autodesk.DesignScript.Geometry
{
[IsVisibleInDynamoLibrary(false)]
[GenerateFromInterface(typeof(ILoopEntity), typeof(IGeometryFactory), new Type[] {
})]
public class Loop : DesignScriptEntity
{
internal ILoopEntity LoopEntity => HostImpl as ILoopEntity;
public Face Face => Face.Wrap(LoopEntity.get_Face());
public CoEdge[] CoEdges => CoEdge.Wrap(LoopEntity.get_CoEdges());
public bool IsExternal => LoopEntity.get_IsExternal();
internal Loop(ILoopEntity host)
: base(host)
{
}
internal static Loop Wrap(ILoopEntity host)
{
if (host != null)
return new Loop(host);
return null;
}
internal static Loop[] Wrap(ILoopEntity[] hosts)
{
return hosts.Select(Wrap).ToArray();
}
internal static Loop[][] Wrap(ILoopEntity[][] hosts)
{
return hosts.Select(Wrap).ToArray();
}
internal static ILoopEntity Unwrap(Loop o)
{
return o.LoopEntity;
}
internal static ILoopEntity[] Unwrap(IEnumerable<Loop> o)
{
return o.Select(Unwrap).ToArray();
}
internal static ILoopEntity[] Unwrap(Loop[] o)
{
return o.Select(Unwrap).ToArray();
}
internal static ILoopEntity[][] Unwrap(Loop[][] o)
{
return o.Select(Unwrap).ToArray();
}
public override string ToString()
{
StringBuilder builder = DesignScriptEntity.GetBuilder();
AppendTo(builder);
return builder.ToString();
}
internal override void AppendTo(StringBuilder builder)
{
builder.Add("Loop(Face = ", Face).Add(", IsExternal = ", IsExternal).Append(")");
}
}
}