Topology
using Autodesk.DesignScript.Interfaces;
using ProtoGeometryGenerator;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Autodesk.DesignScript.Geometry
{
[GenerateFromInterface(typeof(ITopologyEntity), typeof(IGeometryFactory), new Type[] {
})]
public class Topology : Geometry
{
internal ITopologyEntity TopologyEntity => HostImpl as ITopologyEntity;
public Vertex[] Vertices => Track(Vertex.Wrap(TopologyEntity.get_Vertices()));
public Edge[] Edges => Track(Edge.Wrap(TopologyEntity.get_Edges()));
public Face[] Faces => Track(Face.Wrap(TopologyEntity.get_Faces()));
internal Topology(ITopologyEntity host)
: base(host)
{
}
internal static void InitType()
{
Geometry.RegisterHostType(typeof(ITopologyEntity), (IGeometryEntity host) => new Topology(host as ITopologyEntity));
}
internal static Topology Wrap(ITopologyEntity host)
{
return Geometry.Wrap(host) as Topology;
}
internal static Topology[] Wrap(ITopologyEntity[] hosts)
{
return hosts.Select(Wrap).ToArray();
}
internal static Topology[][] Wrap(ITopologyEntity[][] hosts)
{
return hosts.Select(Wrap).ToArray();
}
internal static ITopologyEntity Unwrap(Topology o)
{
return o.TopologyEntity;
}
internal static ITopologyEntity[] Unwrap(IEnumerable<Topology> o)
{
return o.Select(Unwrap).ToArray();
}
internal static ITopologyEntity[] Unwrap(Topology[] o)
{
return o.Select(Unwrap).ToArray();
}
internal static ITopologyEntity[][] Unwrap(Topology[][] o)
{
return o.Select(Unwrap).ToArray();
}
public override string ToString()
{
return "Topology";
}
internal override void AppendTo(StringBuilder builder)
{
builder.Append("Topology");
}
}
}