public TransformedPolysurface(IPolysurface localSurface, RotoTranslation3 localToGlobal) { _localSurface = localSurface; _localToGlobal = localToGlobal; _vertexCollection = new VertexCollection(this); _edgeCollection = new EdgeCollection(this); _faceCollection = new FaceCollection(this); _undirectedComparer = new UndirectedEdgeComparerImpl(this); }
public static double DistanceTo(this Vector3 @this, IPolysurface surface) { return(Math.Sqrt(surface.Faces.Select(f => Polygon3Utils.Distance2(@this, f.Polygon)).Min())); }