Face
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
{
[GenerateFromInterface(typeof(IFaceEntity), typeof(IGeometryFactory), new Type[] {
})]
public class Face : DesignScriptEntity
{
internal IFaceEntity FaceEntity => HostImpl as IFaceEntity;
public Edge[] Edges => Track(Edge.Wrap(FaceEntity.get_Edges()));
public Vertex[] Vertices => Track(Vertex.Wrap(FaceEntity.get_Vertices()));
[IsVisibleInDynamoLibrary(false)]
public Loop[] Loops {
get {
return Loop.Wrap(FaceEntity.get_Loops());
}
}
internal Face(IFaceEntity host)
: base(host)
{
}
public Surface SurfaceGeometry()
{
return Surface.Wrap(FaceEntity.SurfaceGeometry());
}
internal static Face Wrap(IFaceEntity host)
{
if (host != null)
return new Face(host);
return null;
}
internal static Face[] Wrap(IFaceEntity[] hosts)
{
return hosts.Select(Wrap).ToArray();
}
internal static Face[][] Wrap(IFaceEntity[][] hosts)
{
return hosts.Select(Wrap).ToArray();
}
internal static IFaceEntity Unwrap(Face o)
{
return o.FaceEntity;
}
internal static IFaceEntity[] Unwrap(IEnumerable<Face> o)
{
return o.Select(Unwrap).ToArray();
}
internal static IFaceEntity[] Unwrap(Face[] o)
{
return o.Select(Unwrap).ToArray();
}
internal static IFaceEntity[][] Unwrap(Face[][] o)
{
return o.Select(Unwrap).ToArray();
}
public override string ToString()
{
return "Face";
}
internal override void AppendTo(StringBuilder builder)
{
builder.Append("Face");
}
}
}