Vertex
using Autodesk.DesignScript.Interfaces;
using ProtoGeometryGenerator;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Autodesk.DesignScript.Geometry
{
[GenerateFromInterface(typeof(IVertexEntity), typeof(IGeometryFactory), new Type[] {
})]
public class Vertex : DesignScriptEntity
{
internal IVertexEntity VertexEntity => HostImpl as IVertexEntity;
public Point PointGeometry => Point.Wrap(VertexEntity.get_PointGeometry());
public Edge[] AdjacentEdges => Track(Edge.Wrap(VertexEntity.get_AdjacentEdges()));
public Face[] AdjacentFaces => Track(Face.Wrap(VertexEntity.get_AdjacentFaces()));
internal Vertex(IVertexEntity host)
: base(host)
{
}
internal static Vertex Wrap(IVertexEntity host)
{
if (host != null)
return new Vertex(host);
return null;
}
internal static Vertex[] Wrap(IVertexEntity[] hosts)
{
return hosts.Select(Wrap).ToArray();
}
internal static Vertex[][] Wrap(IVertexEntity[][] hosts)
{
return hosts.Select(Wrap).ToArray();
}
internal static IVertexEntity Unwrap(Vertex o)
{
return o.VertexEntity;
}
internal static IVertexEntity[] Unwrap(IEnumerable<Vertex> o)
{
return o.Select(Unwrap).ToArray();
}
internal static IVertexEntity[] Unwrap(Vertex[] o)
{
return o.Select(Unwrap).ToArray();
}
internal static IVertexEntity[][] Unwrap(Vertex[][] 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("Vertex(PointGeometry = ", PointGeometry).Append(")");
}
}
}