TSplineSurface
using Autodesk.DesignScript.Geometry.Properties;
using Autodesk.DesignScript.Interfaces;
using Autodesk.DesignScript.Runtime;
using DynamoServices;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace Autodesk.DesignScript.Geometry.TSpline
{
public class TSplineSurface : TSplineTopology
{
internal ITSplineSurfaceEntity TSplineSurfaceEntity => HostImpl as ITSplineSurfaceEntity;
public TSplineReflection[] Reflections => TSplineReflection.Wrap(TSplineSurfaceEntity.get_Reflections(), true);
public bool IsInBoxMode => TSplineSurfaceEntity.get_IsInBoxMode();
public bool IsExtractable => TSplineSurfaceEntity.get_IsExtractable();
public bool IsClosed => TSplineSurfaceEntity.get_IsClosed();
public bool IsWaterTight => TSplineSurfaceEntity.get_IsWaterTight();
public bool IsStandard => TSplineSurfaceEntity.get_IsStandard();
internal TSplineSurface(ITSplineSurfaceEntity host, bool persist)
: base(host, persist)
{
}
public override string ToString()
{
string[] obj = new string[7] {
"TSplineSurface(VerticesCount = ",
null,
null,
null,
null,
null,
null
};
int num = base.VerticesCount;
obj[1] = num.ToString();
obj[2] = ", EdgesCount = ";
num = base.EdgesCount;
obj[3] = num.ToString();
obj[4] = ", FacesCount = ";
num = base.FacesCount;
obj[5] = num.ToString();
obj[6] = ")";
return string.Concat(obj);
}
internal new static void InitType()
{
Geometry.RegisterHostType(typeof(ITSplineSurfaceEntity), (IGeometryEntity host, bool persist) => new TSplineSurface(host as ITSplineSurfaceEntity, persist));
}
internal static TSplineSurface Wrap(ITSplineSurfaceEntity host, bool persist = true)
{
if (host == null)
return null;
return new TSplineSurface(host, persist);
}
internal static TSplineSurface[] Wrap(ITSplineSurfaceEntity[] hosts, bool persist = true)
{
return (from x in hosts
select Wrap(x, persist)).ToArray();
}
internal static TSplineSurface[][] Wrap(ITSplineSurfaceEntity[][] hosts, bool persist = true)
{
return (from x in hosts
select Wrap(x, persist)).ToArray();
}
internal static ITSplineSurfaceEntity[][] Unwrap(TSplineSurface[][] o)
{
return (from x in o
select Unwrap(x)).ToArray();
}
internal static ITSplineSurfaceEntity[] Unwrap(TSplineSurface[] o)
{
return (from x in o
select Unwrap(x)).ToArray();
}
internal static ITSplineSurfaceEntity[] Unwrap(IEnumerable<TSplineSurface> o)
{
return (from x in o
select Unwrap(x)).ToArray();
}
internal static ITSplineSurfaceEntity Unwrap(TSplineSurface o)
{
return o.TSplineSurfaceEntity;
}
public static TSplineSurface ByPlaneOriginNormal([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point origin, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(0, 0, 1)")] Vector normal, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0)")] Point minCorner, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(1, 1)")] Point maxCorner, [DefaultArgument("2")] int xSpans, [DefaultArgument("2")] int ySpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
return Wrap(HostFactory.Factory.TSplineSurfaceByPlaneOriginNormal(Point.Unwrap(origin), Vector.Unwrap(normal), Point.Unwrap(minCorner), Point.Unwrap(maxCorner), xSpans, ySpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByPlaneOriginNormalXAxis([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point origin, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(0, 0, 1)")] Vector normal, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(1, 0, 0)")] Vector xAxis, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0)")] Point minCorner, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(1, 1)")] Point maxCorner, [DefaultArgument("2")] int xSpans, [DefaultArgument("2")] int ySpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
return Wrap(HostFactory.Factory.TSplineSurfaceByPlaneOriginNormalXAxis(Point.Unwrap(origin), Vector.Unwrap(normal), Vector.Unwrap(xAxis), Point.Unwrap(minCorner), Point.Unwrap(maxCorner), xSpans, ySpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByPlaneOriginXAxisYAxis([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point origin, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(1, 0, 0)")] Vector xAxis, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(0, 1, 0)")] Vector yAxis, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0)")] Point minCorner, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(1, 1)")] Point maxCorner, [DefaultArgument("2")] int xSpans, [DefaultArgument("2")] int ySpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
return Wrap(HostFactory.Factory.TSplineSurfaceByPlaneOriginXAxisYAxis(Point.Unwrap(origin), Vector.Unwrap(xAxis), Vector.Unwrap(yAxis), Point.Unwrap(minCorner), Point.Unwrap(maxCorner), xSpans, ySpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByPlaneBestFitThroughPoints(IEnumerable<Point> points, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0)")] Point minCorner, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(1, 1)")] Point maxCorner, [DefaultArgument("2")] int xSpans, [DefaultArgument("2")] int ySpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
return Wrap(HostFactory.Factory.TSplineSurfaceByPlaneBestFitThroughPoints(Point.Unwrap(points), Point.Unwrap(minCorner), Point.Unwrap(maxCorner), xSpans, ySpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByPlaneLineAndPoint(Line line, Point point, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0)")] Point minCorner, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(1, 1)")] Point maxCorner, [DefaultArgument("2")] int xSpans, [DefaultArgument("2")] int ySpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
return Wrap(HostFactory.Factory.TSplineSurfaceByPlaneLineAndPoint(Line.Unwrap(line), Point.Unwrap(point), Point.Unwrap(minCorner), Point.Unwrap(maxCorner), xSpans, ySpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByPlaneThreePoints(Point p1, Point p2, Point p3, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0)")] Point minCorner, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(1, 1)")] Point maxCorner, [DefaultArgument("2")] int xSpans, [DefaultArgument("2")] int ySpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
return Wrap(HostFactory.Factory.TSplineSurfaceByPlaneThreePoints(Point.Unwrap(p1), Point.Unwrap(p2), Point.Unwrap(p3), Point.Unwrap(minCorner), Point.Unwrap(maxCorner), xSpans, ySpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByCylinderRadiusHeight([DefaultArgument("Autodesk.DesignScript.Geometry.CoordinateSystem.ByOrigin(0, 0, 0)")] CoordinateSystem cs, [DefaultArgument("1")] double radius, [DefaultArgument("1")] double height, [DefaultArgument("8")] int radiusSpans, [DefaultArgument("4")] int heightSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
radius,
height
});
radius /= DesignScriptEntity.scaleFactor;
height /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByCylinderRadiusHeight(CoordinateSystem.Unwrap(cs), radius, height, radiusSpans, heightSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByCylinderPointsRadius([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point startPoint, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 1)")] Point endPoint, [DefaultArgument("1")] double radius, [DefaultArgument("8")] int radiusSpans, [DefaultArgument("4")] int heightSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
radius
});
radius /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByCylinderPointsRadius(Point.Unwrap(startPoint), Point.Unwrap(endPoint), radius, radiusSpans, heightSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByConePointsRadius([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point startPoint, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 1)")] Point endPoint, [DefaultArgument("1")] double radius, [DefaultArgument("8")] int radiusSpans, [DefaultArgument("4")] int heightSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
radius
});
radius /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByConePointsRadius(Point.Unwrap(startPoint), Point.Unwrap(endPoint), radius, radiusSpans, heightSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByConePointsRadii([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point startPoint, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 1)")] Point endPoint, [DefaultArgument("1")] double startRadius, [DefaultArgument("0")] double endRadius, [DefaultArgument("8")] int radiusSpans, [DefaultArgument("4")] int heightSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
startRadius,
endRadius
});
startRadius /= DesignScriptEntity.scaleFactor;
endRadius /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByConePointsRadii(Point.Unwrap(startPoint), Point.Unwrap(endPoint), startRadius, endRadius, radiusSpans, heightSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByConeCoordinateSystemHeightRadius([DefaultArgument("Autodesk.DesignScript.Geometry.CoordinateSystem.ByOrigin(0, 0, 0)")] CoordinateSystem cs, [DefaultArgument("1")] double height, [DefaultArgument("1")] double radius, [DefaultArgument("8")] int radiusSpans, [DefaultArgument("4")] int heightSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
height,
radius
});
height /= DesignScriptEntity.scaleFactor;
radius /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByConeCoordinateSystemHeightRadius(CoordinateSystem.Unwrap(cs), height, radius, radiusSpans, heightSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByConeCoordinateSystemHeightRadii([DefaultArgument("Autodesk.DesignScript.Geometry.CoordinateSystem.ByOrigin(0, 0, 0)")] CoordinateSystem cs, [DefaultArgument("1")] double height, [DefaultArgument("1")] double startRadius, [DefaultArgument("0")] double endRadius, [DefaultArgument("8")] int radiusSpans, [DefaultArgument("4")] int heightSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
height,
startRadius,
endRadius
});
height /= DesignScriptEntity.scaleFactor;
startRadius /= DesignScriptEntity.scaleFactor;
endRadius /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByConeCoordinateSystemHeightRadii(CoordinateSystem.Unwrap(cs), height, startRadius, endRadius, radiusSpans, heightSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface BySphereCenterPointRadius([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point centerPoint, [DefaultArgument("1")] double radius, [DefaultArgument("8")] int radiusSpans, [DefaultArgument("4")] int heightSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
radius
});
radius /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceBySphereCenterPointRadius(Point.Unwrap(centerPoint), radius, radiusSpans, heightSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface BySphereFourPoints(IEnumerable<Point> points, [DefaultArgument("8")] int radiusSpans, [DefaultArgument("4")] int heightSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
return Wrap(HostFactory.Factory.TSplineSurfaceBySphereFourPoints(Point.Unwrap(points), radiusSpans, heightSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface BySphereBestFit(IEnumerable<Point> points, [DefaultArgument("8")] int radiusSpans, [DefaultArgument("4")] int heightSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
return Wrap(HostFactory.Factory.TSplineSurfaceBySphereBestFit(Point.Unwrap(points), radiusSpans, heightSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByTorusCoordinateSystemRadii([DefaultArgument("Autodesk.DesignScript.Geometry.CoordinateSystem.ByOrigin(0, 0, 0)")] CoordinateSystem cs, [DefaultArgument("1")] double innerRadius, [DefaultArgument("2")] double outerRadius, [DefaultArgument("8")] int innerRadiusSpans, [DefaultArgument("16")] int outerRadiusSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
innerRadius,
outerRadius
});
innerRadius /= DesignScriptEntity.scaleFactor;
outerRadius /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByTorusCoordinateSystemRadii(CoordinateSystem.Unwrap(cs), innerRadius, outerRadius, innerRadiusSpans, outerRadiusSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByTorusCenterRadii([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point center, [DefaultArgument("1")] double innerRadius, [DefaultArgument("2")] double outerRadius, [DefaultArgument("8")] int innerRadiusSpans, [DefaultArgument("16")] int outerRadiusSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
innerRadius,
outerRadius
});
innerRadius /= DesignScriptEntity.scaleFactor;
outerRadius /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByTorusCenterRadii(Point.Unwrap(center), innerRadius, outerRadius, innerRadiusSpans, outerRadiusSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByBoxLengths([DefaultArgument("1")] double width, [DefaultArgument("1")] double length, [DefaultArgument("1")] double height, [DefaultArgument("2")] int xSpans, [DefaultArgument("2")] int ySpans, [DefaultArgument("2")] int zSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
width,
length,
height
});
width /= DesignScriptEntity.scaleFactor;
length /= DesignScriptEntity.scaleFactor;
height /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByBoxLengths(width, length, height, xSpans, ySpans, zSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByBoxLengths([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point origin, [DefaultArgument("1")] double width, [DefaultArgument("1")] double length, [DefaultArgument("1")] double height, [DefaultArgument("2")] int xSpans, [DefaultArgument("2")] int ySpans, [DefaultArgument("2")] int zSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
width,
length,
height
});
width /= DesignScriptEntity.scaleFactor;
length /= DesignScriptEntity.scaleFactor;
height /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByBoxLengths(Point.Unwrap(origin), width, length, height, xSpans, ySpans, zSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByBoxLengths([DefaultArgument("Autodesk.DesignScript.Geometry.CoordinateSystem.ByOrigin(0, 0, 0)")] CoordinateSystem cs, [DefaultArgument("1")] double width, [DefaultArgument("1")] double length, [DefaultArgument("1")] double height, [DefaultArgument("2")] int xSpans, [DefaultArgument("2")] int ySpans, [DefaultArgument("2")] int zSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
width,
length,
height
});
width /= DesignScriptEntity.scaleFactor;
length /= DesignScriptEntity.scaleFactor;
height /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByBoxLengths(CoordinateSystem.Unwrap(cs), width, length, height, xSpans, ySpans, zSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByBoxCorners([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point lowPoint, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(1, 1, 1)")] Point highPoint, [DefaultArgument("2")] int xSpans, [DefaultArgument("2")] int ySpans, [DefaultArgument("2")] int zSpans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
return Wrap(HostFactory.Factory.TSplineSurfaceByBoxCorners(Point.Unwrap(lowPoint), Point.Unwrap(highPoint), xSpans, ySpans, zSpans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByQuadballCoordinateSystemRadius([DefaultArgument("Autodesk.DesignScript.Geometry.CoordinateSystem.ByOrigin(0, 0, 0)")] CoordinateSystem cs, [DefaultArgument("1")] double radius, [DefaultArgument("2")] int spans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
radius
});
radius /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByQuadballCoordinateSystemRadius(CoordinateSystem.Unwrap(cs), radius, spans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByQuadballCenterRadius([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point center, [DefaultArgument("1")] double radius, [DefaultArgument("2")] int spans, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
radius
});
radius /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByQuadballCenterRadius(Point.Unwrap(center), radius, spans, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface ByNurbsSurfaceUniform(NurbsSurface nurbsSurface, [DefaultArgument("8")] int uSpans, [DefaultArgument("8")] int vSpans, [DefaultArgument("true")] bool uUseArcLen, [DefaultArgument("true")] bool vUseArcLen, [DefaultArgument("false")] bool inSmoothMode)
{
return Wrap(HostFactory.Factory.TSplineSurfaceByNurbsSurfaceUniform(NurbsSurface.Unwrap(nurbsSurface), uSpans, vSpans, uUseArcLen, vUseArcLen, inSmoothMode), true);
}
public static TSplineSurface ByNurbsSurfaceCurvature(NurbsSurface nurbsSurface, bool inSmoothMode = false)
{
return Wrap(HostFactory.Factory.TSplineSurfaceByNurbsSurfaceCurvature(NurbsSurface.Unwrap(nurbsSurface), inSmoothMode), true);
}
public static TSplineSurface ByExtrude(Curve curve, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(0, 0, 1)")] Vector direction, double frontDistance = 1, double backDistance = 1, int frontSpans = 1, int backSpans = 0, int profileSpans = 0, bool uniform = true, bool inSmoothMode = false)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
frontDistance,
backDistance
});
frontDistance /= DesignScriptEntity.scaleFactor;
backDistance /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceByExtrude(Curve.Unwrap(curve), Vector.Unwrap(direction), frontDistance, backDistance, frontSpans, backSpans, profileSpans, uniform, inSmoothMode), true);
}
public static TSplineSurface BySweep(Curve profile, Curve path, bool parallel = true, int pathSpans = 1, int profileSpans = 0, bool pathUniform = true, bool profileUniform = true, bool inSmoothMode = false)
{
return Wrap(HostFactory.Factory.TSplineSurfaceBySweep(Curve.Unwrap(profile), Curve.Unwrap(path), parallel, pathSpans, profileSpans, pathUniform, profileUniform, inSmoothMode), true);
}
public static TSplineSurface ByRevolve(Curve profile, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point axisOrigin, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(0, 0, 1)")] Vector axisDirection, [DefaultArgument("0")] double startAngle, [DefaultArgument("180")] double sweepAngle, [DefaultArgument("16")] int radialSpans, [DefaultArgument("0")] int axialSpans, [DefaultArgument("true")] bool uniform, [DefaultArgument("Autodesk.DesignScript.Geometry.TSplineInitialSymmetry.ByAxial(false, false, false)")] TSplineInitialSymmetry symmetry, [DefaultArgument("false")] bool inSmoothMode)
{
return Wrap(HostFactory.Factory.TSplineSurfaceByRevolve(Curve.Unwrap(profile), Point.Unwrap(axisOrigin), Vector.Unwrap(axisDirection), startAngle, sweepAngle, radialSpans, axialSpans, uniform, TSplineInitialSymmetry.Unwrap(symmetry), inSmoothMode), true);
}
public static TSplineSurface BuildFromLines(IEnumerable<Curve> lines, int maxFaceValence = 4, double snappingTolerance = 1E-05, bool creaseOuterVertices = true, bool inSmoothMode = false)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
snappingTolerance
});
snappingTolerance /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceBuildFromLines(Curve.Unwrap(lines), maxFaceValence, snappingTolerance, creaseOuterVertices, inSmoothMode), true);
}
[IsVisibleInDynamoLibrary(false)]
[IsObsolete("tsplinesurface_buildpipes_deprecated", typeof(Resources))]
[Obsolete("This method is deprecated and will be removed in a future version of Dynamo.\r\nUse TSplineSurfaceBuildPipes(ICurveEntity[] curves, double defaultRadius, double snappingTolerance, int[] segmentCounts,\r\nbool autoHandleStart, bool autoHandleEnd, double[] startRotations, double[] endRotations, \r\ndouble[] startRadii, double[] endRadii, double[] startPositions, double[] endPositions, bool inSmoothMode) instead")]
public static TSplineSurface BuildPipes(IEnumerable<Curve> curves, [DefaultArgument("1.0")] double defaultRadius, [DefaultArgument("0.001")] double snappingTolerance, [DefaultArgument("null")] IEnumerable<int> segmentsCount, [DefaultArgument("null")] IEnumerable<double> endRotations, [DefaultArgument("null")] IEnumerable<double> endRadii, [DefaultArgument("null")] IEnumerable<double> endPercentage, [DefaultArgument("false")] bool inSmoothMode)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
defaultRadius,
snappingTolerance
});
defaultRadius /= DesignScriptEntity.scaleFactor;
snappingTolerance /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceBuildPipes(Curve.Unwrap(curves), defaultRadius, snappingTolerance, (segmentsCount != null) ? segmentsCount.ToArray() : null, (endRotations != null) ? endRotations.ToArray() : null, (endRadii != null) ? (from x in endRadii
select x / DesignScriptEntity.scaleFactor).ToArray() : null, (endPercentage != null) ? endPercentage.ToArray() : null, inSmoothMode), true);
}
public static TSplineSurface BuildPipes(IEnumerable<Curve> curves, [DefaultArgument("1.0")] double defaultRadius, [DefaultArgument("0.001")] double snappingTolerance, [DefaultArgument("null")] IEnumerable<int> segmentsCount, [DefaultArgument("true")] bool autoHandleStart, [DefaultArgument("true")] bool autoHandleEnd, [DefaultArgument("null")] IEnumerable<double> startRotations, [DefaultArgument("null")] IEnumerable<double> endRotations, [DefaultArgument("null")] IEnumerable<double> startRadii, [DefaultArgument("null")] IEnumerable<double> endRadii, [DefaultArgument("null")] IEnumerable<double> startPositions, [DefaultArgument("null")] IEnumerable<double> endPositions, [DefaultArgument("false")] bool inSmoothMode)
{
defaultRadius /= DesignScriptEntity.scaleFactor;
snappingTolerance /= DesignScriptEntity.scaleFactor;
return Wrap(HostFactory.Factory.TSplineSurfaceBuildPipes(Curve.Unwrap(curves), defaultRadius, snappingTolerance, (segmentsCount != null) ? segmentsCount.ToArray() : null, autoHandleStart, autoHandleEnd, (startRotations != null) ? startRotations.ToArray() : null, (endRotations != null) ? endRotations.ToArray() : null, (startRadii != null) ? (from x in startRadii
select x / DesignScriptEntity.scaleFactor).ToArray() : null, (endRadii != null) ? (from x in endRadii
select x / DesignScriptEntity.scaleFactor).ToArray() : null, (startPositions != null) ? startPositions.ToArray() : null, (endPositions != null) ? endPositions.ToArray() : null, inSmoothMode), true);
}
public static TSplineSurface ByCombinedTSplineSurfaces(IEnumerable<TSplineSurface> tSplineSurfaces)
{
return Wrap(HostFactory.Factory.TSplineSurfaceByCombinedTSplineSurfaces(Unwrap(tSplineSurfaces)), true);
}
[AllowRankReduction]
public Topology[] ToBRep(bool matchTopology = true)
{
return Topology.Wrap(TSplineSurfaceEntity.ToBRep(matchTopology), true);
}
public Mesh ToMesh(int minSegments = 1, double tolerance = 0.01)
{
LogWarningMessageEvents.OnLogInfoMessage(Resources.MeshPrecisionInfo);
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
tolerance
});
tolerance /= DesignScriptEntity.scaleFactor;
return Mesh.Wrap(TSplineSurfaceEntity.ToMesh(minSegments, tolerance), true);
}
public TSplineSurface Thicken(double distance, bool softEdges = true)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
distance
});
distance /= DesignScriptEntity.scaleFactor;
return Wrap(TSplineSurfaceEntity.Thicken(distance, softEdges), true);
}
public TSplineSurface Thicken(Vector vector, bool softEdges = true)
{
return Wrap(TSplineSurfaceEntity.Thicken(Vector.Unwrap(vector), softEdges), true);
}
public TSplineSurface CreaseEdges(IEnumerable<TSplineEdge> edges)
{
return Wrap(TSplineSurfaceEntity.CreaseEdges(TSplineEdge.Unwrap(edges)), true);
}
public TSplineSurface UncreaseEdges(IEnumerable<TSplineEdge> edges)
{
return Wrap(TSplineSurfaceEntity.UncreaseEdges(TSplineEdge.Unwrap(edges)), true);
}
public TSplineSurface CreaseVertices(IEnumerable<TSplineVertex> vertices)
{
return Wrap(TSplineSurfaceEntity.CreaseVertices(TSplineVertex.Unwrap(vertices)), true);
}
public TSplineSurface UncreaseVertices(IEnumerable<TSplineVertex> vertices)
{
return Wrap(TSplineSurfaceEntity.UncreaseVertices(TSplineVertex.Unwrap(vertices)), true);
}
public TSplineSurface WeldVertices(IEnumerable<TSplineVertex> vertices, [DefaultArgument("null")] Point newPosition, [DefaultArgument("false")] bool keepSubdCreases)
{
IPointEntity val = (newPosition == null) ? null : Point.Unwrap(newPosition);
return Wrap(TSplineSurfaceEntity.WeldVertices(TSplineVertex.Unwrap(vertices), val, keepSubdCreases), true);
}
public TSplineSurface WeldVertices(IEnumerable<TSplineVertex> firstGroup, IEnumerable<TSplineVertex> secondGroup, bool keepSubdCreases = false)
{
return Wrap(TSplineSurfaceEntity.WeldVertices(TSplineVertex.Unwrap(firstGroup), TSplineVertex.Unwrap(secondGroup), keepSubdCreases), true);
}
public TSplineSurface WeldCoincidentVertices(double tolerance = 1E-05)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
tolerance
});
tolerance /= DesignScriptEntity.scaleFactor;
return Wrap(TSplineSurfaceEntity.WeldCoincidentVertices(tolerance), true);
}
public TSplineSurface UnweldEdges(IEnumerable<TSplineEdge> edges)
{
return Wrap(TSplineSurfaceEntity.UnweldEdges(TSplineEdge.Unwrap(edges)), true);
}
public TSplineSurface UnweldVertices(IEnumerable<TSplineVertex> vertices)
{
return Wrap(TSplineSurfaceEntity.UnweldVertices(TSplineVertex.Unwrap(vertices)), true);
}
[IsVisibleInDynamoLibrary(false)]
[IsObsolete("tsplinessurface_creatchmatch_deprecated2", typeof(Resources))]
[Obsolete("This method is deprecated and will be removed in a future version of Dynamo. Use CreateMatch(\r\nIEnumerable<TSplineEdge> tsEdges, IEnumerable<Curve> curves, Int32 continuity, Boolean useArclength,\r\nBoolean useRefinement, Int32 numRefinementSteps, Double refinementTolerance, Boolean usePropagation,\r\nDouble widthOfPropagation, Double scale, Boolean flipSourceTargetAlignment) instead")]
public TSplineSurface CreateMatch(IEnumerable<TSplineEdge> tsEdges, IEnumerable<Curve> curves, [DefaultArgument("0")] int continuity, [DefaultArgument("true")] bool useArclength, [DefaultArgument("false")] bool useRefinement, [DefaultArgument("20")] int numRefinementSteps, [DefaultArgument("1.0e-3")] double refinementTolerance, [DefaultArgument("false")] bool usePropagation, [DefaultArgument("0.0")] double widthOfPropagation, [DefaultArgument("1.0")] double tangentScale, [DefaultArgument("0.0")] double curvParamWeight, [DefaultArgument("false")] bool flipSourceTargetAlignment)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
widthOfPropagation,
refinementTolerance
});
widthOfPropagation /= DesignScriptEntity.scaleFactor;
refinementTolerance /= DesignScriptEntity.scaleFactor;
return Wrap(TSplineSurfaceEntity.CreateMatch(TSplineEdge.Unwrap(tsEdges), Curve.Unwrap(curves), continuity, useArclength, useRefinement, numRefinementSteps, refinementTolerance, usePropagation, widthOfPropagation, tangentScale, curvParamWeight, flipSourceTargetAlignment), true);
}
public TSplineSurface CreateMatch(IEnumerable<TSplineEdge> tsEdges, IEnumerable<Curve> curves, [DefaultArgument("0")] int continuity, [DefaultArgument("true")] bool useArclength, [DefaultArgument("true")] bool useRefinement, [DefaultArgument("20")] int numRefinementSteps, [DefaultArgument("1.0e-3")] double refinementTolerance, [DefaultArgument("false")] bool usePropagation, [DefaultArgument("0.0")] double widthOfPropagation, [DefaultArgument("1.0")] double scale, [DefaultArgument("false")] bool flipSourceTargetAlignment)
{
widthOfPropagation /= DesignScriptEntity.scaleFactor;
refinementTolerance /= DesignScriptEntity.scaleFactor;
return Wrap(TSplineSurfaceEntity.CreateMatch(TSplineEdge.Unwrap(tsEdges), Curve.Unwrap(curves), continuity, useArclength, useRefinement, numRefinementSteps, refinementTolerance, usePropagation, widthOfPropagation, scale, flipSourceTargetAlignment), true);
}
[IsVisibleInDynamoLibrary(false)]
[IsObsolete("tsplinessurface_creatchmatch_deprecated", typeof(Resources))]
[Obsolete("This method is deprecated and will be removed in a future version of Dynamo. Use CreateMatch(\r\nIEnumerable<TSplineEdge> tsEdges, IEnumerable<Edge> brepEdges, Int32 continuity, Boolean useArclength,\r\nBoolean useRefinement, Int32 numRefinementSteps, Double refinementTolerance, Boolean usePropagation,\r\nDouble widthOfPropagation, Double scale, Boolean flipSourceTargetAlignment) instead")]
public TSplineSurface CreateMatch(IEnumerable<TSplineEdge> tsEdges, IEnumerable<Edge> brepEdges, [DefaultArgument("0")] int continuity, [DefaultArgument("true")] bool useArclength, [DefaultArgument("false")] bool useRefinement, [DefaultArgument("20")] int numRefinementSteps, [DefaultArgument("1.0e-3")] double refinementTolerance, [DefaultArgument("false")] bool usePropagation, [DefaultArgument("0.0")] double widthOfPropagation, [DefaultArgument("1.0")] double tangentScale, [DefaultArgument("0.0")] double curvParamWeight, [DefaultArgument("false")] bool flipSourceTargetAlignment)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
widthOfPropagation,
refinementTolerance
});
widthOfPropagation /= DesignScriptEntity.scaleFactor;
refinementTolerance /= DesignScriptEntity.scaleFactor;
return Wrap(TSplineSurfaceEntity.CreateMatch(TSplineEdge.Unwrap(tsEdges), Edge.Unwrap(brepEdges), continuity, useArclength, useRefinement, numRefinementSteps, refinementTolerance, usePropagation, widthOfPropagation, tangentScale, curvParamWeight, flipSourceTargetAlignment), true);
}
public TSplineSurface CreateMatch(IEnumerable<TSplineEdge> tsEdges, IEnumerable<Edge> brepEdges, [DefaultArgument("0")] int continuity, [DefaultArgument("true")] bool useArclength, [DefaultArgument("true")] bool useRefinement, [DefaultArgument("20")] int numRefinementSteps, [DefaultArgument("1.0e-3")] double refinementTolerance, [DefaultArgument("false")] bool usePropagation, [DefaultArgument("0.0")] double widthOfPropagation, [DefaultArgument("1.0")] double scale, [DefaultArgument("false")] bool flipSourceTargetAlignment)
{
widthOfPropagation /= DesignScriptEntity.scaleFactor;
refinementTolerance /= DesignScriptEntity.scaleFactor;
return Wrap(TSplineSurfaceEntity.CreateMatch(TSplineEdge.Unwrap(tsEdges), Edge.Unwrap(brepEdges), continuity, useArclength, useRefinement, numRefinementSteps, refinementTolerance, usePropagation, widthOfPropagation, scale, flipSourceTargetAlignment), true);
}
public TSplineSurface DeleteVertices(IEnumerable<TSplineVertex> vertices)
{
return Wrap(TSplineSurfaceEntity.DeleteVertices(TSplineVertex.Unwrap(vertices)), true);
}
public TSplineSurface DeleteEdges(IEnumerable<TSplineEdge> edges)
{
return Wrap(TSplineSurfaceEntity.DeleteEdges(TSplineEdge.Unwrap(edges)), true);
}
public TSplineSurface DeleteFaces(IEnumerable<TSplineFace> faces)
{
return Wrap(TSplineSurfaceEntity.DeleteFaces(TSplineFace.Unwrap(faces)), true);
}
public TSplineSurface EnableSmoothMode(bool enable = true)
{
return Wrap(TSplineSurfaceEntity.EnableSmoothMode(enable), true);
}
public TSplineSurface ExtrudeEdges(IEnumerable<TSplineEdge> edges, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(0, 0, 0)")] Vector direction, int spans = 1)
{
return Wrap(TSplineSurfaceEntity.ExtrudeEdges(TSplineEdge.Unwrap(edges), Vector.Unwrap(direction), spans), true);
}
public TSplineSurface ExtrudeFaces(IEnumerable<TSplineFace> faces, [DefaultArgument("Autodesk.DesignScript.Geometry.Vector.ByCoordinates(0, 0, 0)")] Vector direction, int spans = 1)
{
return Wrap(TSplineSurfaceEntity.ExtrudeFaces(TSplineFace.Unwrap(faces), Vector.Unwrap(direction), spans), true);
}
public TSplineSurface ExtrudeEdgesAlongCurve(IEnumerable<TSplineEdge> edges, Curve curve, int spans = 1)
{
return Wrap(TSplineSurfaceEntity.ExtrudeEdgesAlongCurve(TSplineEdge.Unwrap(edges), Curve.Unwrap(curve), spans), true);
}
public TSplineSurface ExtrudeFacesAlongCurve(IEnumerable<TSplineFace> faces, Curve curve, int spans = 1)
{
return Wrap(TSplineSurfaceEntity.ExtrudeFacesAlongCurve(TSplineFace.Unwrap(faces), Curve.Unwrap(curve), spans), true);
}
public TSplineSurface BevelEdges(IEnumerable<TSplineEdge> edges, double percentage = 0.5, int segments = 3, bool keepOnFace = false, double roundness = 0)
{
return Wrap(TSplineSurfaceEntity.BevelEdges(TSplineEdge.Unwrap(edges), percentage, segments, keepOnFace, roundness), true);
}
public TSplineSurface SlideEdges(IEnumerable<TSplineEdge> edges, double amount = 0.5, double roundness = 0)
{
return Wrap(TSplineSurfaceEntity.SlideEdges(TSplineEdge.Unwrap(edges), amount, roundness), true);
}
public TSplineSurface MergeEdges(IEnumerable<TSplineEdge> firstGroup, IEnumerable<TSplineEdge> secondGroup, bool insertCreases = false)
{
return Wrap(TSplineSurfaceEntity.MergeEdges(TSplineEdge.Unwrap(firstGroup), TSplineEdge.Unwrap(secondGroup), insertCreases), true);
}
public TSplineSurface BridgeFacesToFaces(IEnumerable<TSplineFace> firstGroup, IEnumerable<TSplineFace> secondGroup, [DefaultArgument("null")] IEnumerable<Curve> followCurves, [DefaultArgument("null")] IEnumerable<int> frameRotations, [DefaultArgument("null")] IEnumerable<int> spansCounts, [DefaultArgument("false")] bool cleanBorderBridges, [DefaultArgument("false")] bool keepSubdCreases, [DefaultArgument("null")] IEnumerable<TSplineVertex> firstAlignVertices, [DefaultArgument("null")] IEnumerable<TSplineVertex> secondAlignVertices, [DefaultArgument("null")] IEnumerable<bool> flipAlignmentFlags)
{
ICurveEntity[] array = (followCurves == null) ? null : Curve.Unwrap(followCurves);
ITSplineVertexEntity[] array2 = (firstAlignVertices == null) ? null : TSplineVertex.Unwrap(firstAlignVertices);
ITSplineVertexEntity[] array3 = (secondAlignVertices == null) ? null : TSplineVertex.Unwrap(secondAlignVertices);
return Wrap(TSplineSurfaceEntity.BridgeFacesToFaces(TSplineFace.Unwrap(firstGroup), TSplineFace.Unwrap(secondGroup), array, (frameRotations != null) ? frameRotations.ToArray() : null, (spansCounts != null) ? spansCounts.ToArray() : null, cleanBorderBridges, keepSubdCreases, array2, array3, (flipAlignmentFlags != null) ? flipAlignmentFlags.ToArray() : null), true);
}
public TSplineSurface BridgeFacesToEdges(IEnumerable<TSplineFace> firstGroup, IEnumerable<TSplineEdge> secondGroup, [DefaultArgument("null")] IEnumerable<Curve> followCurves, [DefaultArgument("null")] IEnumerable<int> frameRotations, [DefaultArgument("null")] IEnumerable<int> spansCounts, [DefaultArgument("false")] bool cleanBorderBridges, [DefaultArgument("false")] bool keepSubdCreases, [DefaultArgument("null")] IEnumerable<TSplineVertex> firstAlignVertices, [DefaultArgument("null")] IEnumerable<TSplineVertex> secondAlignVertices, [DefaultArgument("null")] IEnumerable<bool> flipAlignmentFlags)
{
ICurveEntity[] array = (followCurves == null) ? null : Curve.Unwrap(followCurves);
ITSplineVertexEntity[] array2 = (firstAlignVertices == null) ? null : TSplineVertex.Unwrap(firstAlignVertices);
ITSplineVertexEntity[] array3 = (secondAlignVertices == null) ? null : TSplineVertex.Unwrap(secondAlignVertices);
return Wrap(TSplineSurfaceEntity.BridgeFacesToEdges(TSplineFace.Unwrap(firstGroup), TSplineEdge.Unwrap(secondGroup), array, (frameRotations != null) ? frameRotations.ToArray() : null, (spansCounts != null) ? spansCounts.ToArray() : null, cleanBorderBridges, keepSubdCreases, array2, array3, (flipAlignmentFlags != null) ? flipAlignmentFlags.ToArray() : null), true);
}
public TSplineSurface BridgeEdgesToFaces(IEnumerable<TSplineEdge> firstGroup, IEnumerable<TSplineFace> secondGroup, [DefaultArgument("null")] IEnumerable<Curve> followCurves, [DefaultArgument("null")] IEnumerable<int> frameRotations, [DefaultArgument("null")] IEnumerable<int> spansCounts, [DefaultArgument("false")] bool cleanBorderBridges, [DefaultArgument("false")] bool keepSubdCreases, [DefaultArgument("null")] IEnumerable<TSplineVertex> firstAlignVertices, [DefaultArgument("null")] IEnumerable<TSplineVertex> secondAlignVertices, [DefaultArgument("null")] IEnumerable<bool> flipAlignmentFlags)
{
ICurveEntity[] array = (followCurves == null) ? null : Curve.Unwrap(followCurves);
ITSplineVertexEntity[] array2 = (firstAlignVertices == null) ? null : TSplineVertex.Unwrap(firstAlignVertices);
ITSplineVertexEntity[] array3 = (secondAlignVertices == null) ? null : TSplineVertex.Unwrap(secondAlignVertices);
return Wrap(TSplineSurfaceEntity.BridgeEdgesToFaces(TSplineEdge.Unwrap(firstGroup), TSplineFace.Unwrap(secondGroup), array, (frameRotations != null) ? frameRotations.ToArray() : null, (spansCounts != null) ? spansCounts.ToArray() : null, cleanBorderBridges, keepSubdCreases, array2, array3, (flipAlignmentFlags != null) ? flipAlignmentFlags.ToArray() : null), true);
}
public TSplineSurface BridgeEdgesToEdges(IEnumerable<TSplineEdge> firstGroup, IEnumerable<TSplineEdge> secondGroup, [DefaultArgument("null")] IEnumerable<Curve> followCurves, [DefaultArgument("null")] IEnumerable<int> frameRotations, [DefaultArgument("null")] IEnumerable<int> spansCounts, [DefaultArgument("false")] bool cleanBorderBridges, [DefaultArgument("false")] bool keepSubdCreases, [DefaultArgument("null")] IEnumerable<TSplineVertex> firstAlignVertices, [DefaultArgument("null")] IEnumerable<TSplineVertex> secondAlignVertices, [DefaultArgument("null")] IEnumerable<bool> flipAlignmentFlags)
{
ICurveEntity[] array = (followCurves == null) ? null : Curve.Unwrap(followCurves);
ITSplineVertexEntity[] array2 = (firstAlignVertices == null) ? null : TSplineVertex.Unwrap(firstAlignVertices);
ITSplineVertexEntity[] array3 = (secondAlignVertices == null) ? null : TSplineVertex.Unwrap(secondAlignVertices);
return Wrap(TSplineSurfaceEntity.BridgeEdgesToEdges(TSplineEdge.Unwrap(firstGroup), TSplineEdge.Unwrap(secondGroup), array, (frameRotations != null) ? frameRotations.ToArray() : null, (spansCounts != null) ? spansCounts.ToArray() : null, cleanBorderBridges, keepSubdCreases, array2, array3, (flipAlignmentFlags != null) ? flipAlignmentFlags.ToArray() : null), true);
}
public TSplineSurface FillHole(IEnumerable<TSplineEdge> edges, int fillMethod = 0, bool keepSubdCreases = false)
{
return Wrap(TSplineSurfaceEntity.FillHole(TSplineEdge.Unwrap(edges), fillMethod, keepSubdCreases), true);
}
public TSplineSurface AddReflections(IEnumerable<TSplineReflection> reflections, bool weldSymmetricPortions = false, double weldTolerance = 1E-05)
{
DesignScriptEntity.CheckArgsForAsmExtents(new List<double> {
weldTolerance
});
weldTolerance /= DesignScriptEntity.scaleFactor;
return Wrap(TSplineSurfaceEntity.AddReflections(TSplineReflection.Unwrap(reflections), weldSymmetricPortions, weldTolerance), true);
}
public TSplineSurface RemoveReflections()
{
return Wrap(TSplineSurfaceEntity.RemoveReflections(), true);
}
public TSplineSurface CompressIndexes()
{
return Wrap(TSplineSurfaceEntity.CompressIndexes(), true);
}
public TSplineSurface SubdivideFaces(IEnumerable<TSplineFace> faces, bool exact = true)
{
return Wrap(TSplineSurfaceEntity.SubdivideFaces(TSplineFace.Unwrap(faces), exact), true);
}
public TSplineSurface Interpolate(bool reverse = false)
{
return Wrap(TSplineSurfaceEntity.Interpolate(reverse), true);
}
public TSplineSurface PullVertices(IEnumerable<TSplineVertex> vertices, IEnumerable<Geometry> geometries, bool surfacePoints = true)
{
return Wrap(TSplineSurfaceEntity.PullVertices(TSplineVertex.Unwrap(vertices), Geometry.Unwrap(geometries), surfacePoints), true);
}
public TSplineSurface FlattenVertices(IEnumerable<TSplineVertex> vertices)
{
return Wrap(TSplineSurfaceEntity.FlattenVertices(TSplineVertex.Unwrap(vertices)), true);
}
public TSplineSurface FlattenVertices(IEnumerable<TSplineVertex> vertices, Plane parallelPlane)
{
return Wrap(TSplineSurfaceEntity.FlattenVertices(TSplineVertex.Unwrap(vertices), Plane.Unwrap(parallelPlane)), true);
}
public TSplineSurface DuplicateFaces(IEnumerable<TSplineFace> faces)
{
return Wrap(TSplineSurfaceEntity.DuplicateFaces(TSplineFace.Unwrap(faces)), true);
}
public TSplineSurface FlipNormals()
{
return Wrap(TSplineSurfaceEntity.FlipNormals(), true);
}
public TSplineSurface MakeUniform()
{
return Wrap(TSplineSurfaceEntity.MakeUniform(), true);
}
public TSplineSurface Standardize()
{
return Wrap(TSplineSurfaceEntity.Standardize(), true);
}
public TSplineSurface MoveVertices(IEnumerable<TSplineVertex> vertices, Vector vector, bool onSurface = false)
{
return Wrap(TSplineSurfaceEntity.MoveVertices(TSplineVertex.Unwrap(vertices), Vector.Unwrap(vector), onSurface), true);
}
public Geometry Repair()
{
return Geometry.Wrap(TSplineSurfaceEntity.Repair(), false, null);
}
private static string GetAbsolutePath(string filePath)
{
if (!Path.IsPathRooted(filePath)) {
string text = GeometrySettings.RootModulePath;
if (string.IsNullOrEmpty(text))
text = AppDomain.CurrentDomain.BaseDirectory;
string directoryName = Path.GetDirectoryName(text);
return Path.Combine(directoryName, filePath);
}
return filePath;
}
public static string ExportToTSS(IEnumerable<TSplineSurface> tSplineSurfaces, string filePath)
{
List<ITSplineSurfaceEntity> list = new List<ITSplineSurfaceEntity>();
foreach (TSplineSurface tSplineSurface in tSplineSurfaces) {
ITSplineSurfaceEntity tSplineSurfaceEntity = tSplineSurface.TSplineSurfaceEntity;
if (tSplineSurfaceEntity != null)
list.Add(tSplineSurfaceEntity);
}
if (list.Count == 0)
throw new Exception(Resources.ConversionException);
if (!filePath.EndsWith(".tss"))
filePath += ".tss";
return HostFactory.Factory.SaveTSS(list.ToArray(), GetAbsolutePath(filePath), DesignScriptEntity.scaleFactor);
}
public static string ExportToTSM(TSplineSurface tSplineSurface, string filePath)
{
if (!filePath.EndsWith(".tsm"))
filePath += ".tsm";
return HostFactory.Factory.SaveTSM(tSplineSurface.TSplineSurfaceEntity, GetAbsolutePath(filePath), DesignScriptEntity.scaleFactor);
}
public static string SerializeAsTSM(TSplineSurface tSplineSurface)
{
return HostFactory.Factory.SerializeAsTSM(tSplineSurface.TSplineSurfaceEntity, DesignScriptEntity.scaleFactor);
}
[AllowRankReduction]
public static TSplineSurface[] DeserializeFromTSM(string content, bool inSmoothMode = false)
{
ITSplineSurfaceEntity host = HostFactory.Factory.DeserializeFromTSM(content, DesignScriptEntity.scaleFactor, inSmoothMode);
return new TSplineSurface[1] {
Wrap(host, true)
};
}
private static ITSplineSurfaceEntity[] ImportFromTSM(ref string filePath, bool inSmoothMode)
{
if (string.IsNullOrWhiteSpace(filePath))
throw new ArgumentNullException("filePath");
filePath = GeometryExtension.LocateFile(filePath);
if (!File.Exists(filePath))
throw new ArgumentException(string.Format(Resources.FileNotFound, filePath), "filePath");
ITSplineSurfaceEntity val = HostFactory.Factory.LoadTSM(filePath, DesignScriptEntity.scaleFactor, inSmoothMode);
return (ITSplineSurfaceEntity[])new ITSplineSurfaceEntity[1] {
val
};
}
[AllowRankReduction]
public static TSplineSurface[] ImportFromTSM(string filePath, bool inSmoothMode = false)
{
ITSplineSurfaceEntity[] hosts = ImportFromTSM(ref filePath, inSmoothMode);
return Wrap(hosts, true);
}
[AllowRankReduction]
public static TSplineSurface[] ImportFromTSM(FileInfo file, bool inSmoothMode = false)
{
string filePath = file.FullName;
ITSplineSurfaceEntity[] hosts = ImportFromTSM(ref filePath, inSmoothMode);
return Wrap(hosts, true);
}
private static ITSplineSurfaceEntity[] ImportFromTSS(ref string fileName, bool inSmoothMode)
{
if (string.IsNullOrWhiteSpace(fileName))
throw new ArgumentNullException("fileName");
fileName = GeometryExtension.LocateFile(fileName);
if (!File.Exists(fileName))
throw new ArgumentException(string.Format(Resources.FileNotFound, fileName), "fileName");
return HostFactory.Factory.LoadTSS(fileName, DesignScriptEntity.scaleFactor, inSmoothMode);
}
[AllowRankReduction]
public static TSplineSurface[] ImportFromTSS(string filePath, bool inSmoothMode = false)
{
ITSplineSurfaceEntity[] hosts = ImportFromTSS(ref filePath, inSmoothMode);
return hosts.ToArray<TSplineSurface, ITSplineSurfaceEntity>(true, (Geometry)null);
}
[AllowRankReduction]
public static TSplineSurface[] ImportFromTSS(FileInfo file, bool inSmoothMode = false)
{
string fileName = file.FullName;
ITSplineSurfaceEntity[] hosts = ImportFromTSS(ref fileName, inSmoothMode);
return hosts.ToArray<TSplineSurface, ITSplineSurfaceEntity>(true, (Geometry)null);
}
}
}