NurbsSurface Class 
Namespace: Rhino.Geometry
The NurbsSurface type exposes the following members.
Name  Description  

NurbsSurface(NurbsSurface) 
Initializes a new NURBS surface by copying the values from another surface.
 
NurbsSurface(SerializationInfo, StreamingContext) 
Protected constructor for internal use.

Name  Description  

Disposed 
Indicates if this object has been disposed or the
document it originally belonged to has been disposed.
(Inherited from CommonObject.)  
HasBrepForm 
Returns true if the Brep.TryConvertBrep function will be successful for this object
(Inherited from GeometryBase.)  
HasUserData 
Gets true if this class has any custom information attached to it through UserData.
(Inherited from CommonObject.)  
IsDeformable 
true if object can be accurately modified with "squishy" transformations like
projections, shears, and nonuniform scaling.
(Inherited from GeometryBase.)  
IsDocumentControlled 
If true this object may not be modified. Any properties or functions that attempt
to modify this object when it is set to "IsReadOnly" will throw a NotSupportedException.
(Inherited from GeometryBase.)  
IsRational 
Gets a value indicating whether or not the NURBS surface is rational.
 
IsSolid 
Gets a values indicating whether a surface is solid.
(Inherited from Surface.)  
IsSubDFriendly 
Returns true if the surface is a nonrational, uniform, natural or periodic, cubic NURBS surface. Otherwise, false is returend.
(Inherited from Surface.)  
IsValid  Tests an object to see if it is valid. (Inherited from CommonObject.)  
KnotsU 
The U direction knot vector.
 
KnotsV 
The V direction knot vector.
 
ObjectType 
Useful for switch statements that need to differentiate between
basic object types like points, curves, surfaces, and so on.
(Inherited from GeometryBase.)  
OrderU 
Gets the order in the U direction.
 
OrderV 
Gets the order in the V direction.
 
Points 
Gets a collection of surface control points that form this surface.
 
UserData 
List of custom information that is attached to this class.
(Inherited from CommonObject.)  
UserDictionary 
Dictionary of custom information attached to this class. The dictionary is actually user
data provided as an easy to use sharable set of information.
(Inherited from CommonObject.)  
UserStringCount 
Gets the amount of user strings.
(Inherited from GeometryBase.) 
Name  Description  

ClosestPoint 
Input the parameters of the point on the surface that is closest to testPoint.
(Inherited from Surface.)  
ClosestSide 
Gets the side that is closest, in terms of 3Ddistance, to a U and V parameter.
(Inherited from Surface.)  
ComponentIndex 
If this piece of geometry is a component in something larger, like a BrepEdge
in a Brep, then this function returns the component index.
(Inherited from GeometryBase.)  
ConstructConstObject 
Assigns a parent object and a subobject index to this.
(Inherited from CommonObject.)  
ConvertSpanToBezier 
Convert a NURBS surface bispan into a Bezier surface.
 
CopyFrom 
Copies this NURBS surface from another NURBS surface.
 
Create 
Constructs a new NURBS surface with internal uninitialized arrays.
 
CreateCurveOnSurface 
Fit a sequence of 2d points on a surface to make a curve on the surface.
 
CreateCurveOnSurfacePoints 
Computes a discrete spline curve on the surface. In other words, computes a sequence
of points on the surface, each with a corresponding parameter value.
 
CreateFromCone 
Constructs a new NURBS surfaces from cone data.
 
CreateFromCorners(Point3d, Point3d, Point3d) 
Makes a surface from 3 corner points.
 
CreateFromCorners(Point3d, Point3d, Point3d, Point3d) 
Makes a surface from 4 corner points.
This is the same as calling CreateFromCorners(Point3d, Point3d, Point3d, Point3d, Double) with tolerance 0.  
CreateFromCorners(Point3d, Point3d, Point3d, Point3d, Double) 
Makes a surface from 4 corner points.
 
CreateFromCylinder 
Constructs a new NURBS surfaces from cylinder data.
 
CreateFromPlane 
Creates a NURBS surface from a plane and additonal parameters.
 
CreateFromPoints 
Constructs a NURBS surface from a 2D grid of control points.
 
CreateFromSphere 
Constructs a new NURBS surfaces from sphere data.
 
CreateFromTorus 
Constructs a new NURBS surfaces from torus data.
 
CreateNetworkSurface(IEnumerableCurve, Int32, Double, Double, Double, Int32) 
Builds a surface from an autosorted network of curves/edges.
 
CreateNetworkSurface(IEnumerableCurve, Int32, Int32, IEnumerableCurve, Int32, Int32, Double, Double, Double, Int32) 
Builds a surface from an ordered network of curves/edges.
 
CreateRailRevolvedSurface 
Constructs a railed SurfaceofRevolution.
 
CreateRuledSurface 
Constructs a ruled surface between two curves. Curves must share the same knotvector.
 
CreateSubDFriendly 
Create a bicubic SubD friendly surface from a surface.
 
CreateThroughPoints 
Constructs a NURBS surface from a 2D grid of points.
 
CurvatureAt 
Computes the curvature at the given UV coordinate.
(Inherited from Surface.)  
DataCRC 
Returns a CRC calculated from the information that defines the object.
This CRC can be used as a quick way to see if two objects are not identical.
(Inherited from GeometryBase.)  
Degree 
Returns the maximum algebraic degree of any span
(or a good estimate if curve spans are not algebraic).
(Inherited from Surface.)  
Dispose 
Actively reclaims unmanaged resources that this instance uses.
(Inherited from CommonObject.)  
Dispose(Boolean) 
Overridden in order to destroy local display cache information
(Inherited from GeometryBase.)  
Domain  Gets the domain in a direction. (Inherited from Surface.)  
Duplicate 
Constructs a deep (full) copy of this object.
(Inherited from GeometryBase.)  
DuplicateShallow 
Constructs a light copy of this object. By "light", it is meant that the same
underlying data is used until something is done to attempt to change it. For example,
you could have a shallow copy of a very heavy mesh object and the same underlying
data will be used when doing things like inspecting the number of faces on the mesh.
If you modify the location of one of the mesh vertices, the shallow copy will create
a full duplicate of the underlying mesh data and the shallow copy will become a
deep copy.
(Inherited from GeometryBase.)  
EnsurePrivateCopy 
If you want to keep a copy of this class around by holding onto it in a variable after a command
completes, call EnsurePrivateCopy to make sure that this class is not tied to the document. You can
call this function as many times as you want.
(Inherited from CommonObject.)  
EpsilonEquals 
Check that all values in other are within epsilon of the values in this
 
Equals  Determines whether the specified object is equal to the current object. (Inherited from Object.)  
Evaluate 
Evaluates a surface mathematically.
(Inherited from Surface.)  
Extend(Int32, Interval) 
Analytically extends the surface to include the interval.
(Inherited from Surface.)  
Extend(IsoStatus, Double, Boolean) 
Extends an untrimmed surface along one edge.
(Inherited from Surface.)  
Finalize 
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
(Inherited from CommonObject.)  
Fit  Fits a new surface through an existing surface. (Inherited from Surface.)  
FrameAt 
Computes the orient plane on a surface given a U and V parameter.
(Inherited from Surface.)This is the simple evaluation call with no error handling.  
GetBoundingBox(Boolean) 
Bounding box solver. Gets the world axis aligned bounding box for the geometry.
(Inherited from GeometryBase.)  
GetBoundingBox(Plane) 
Aligned Bounding box solver. Gets the plane aligned bounding box.
(Inherited from GeometryBase.)  
GetBoundingBox(Transform) 
Aligned Bounding box solver. Gets the world axis aligned bounding box for the transformed geometry.
(Inherited from GeometryBase.)  
GetBoundingBox(Plane, Box) 
Aligned Bounding box solver. Gets the plane aligned bounding box.
(Inherited from GeometryBase.)  
GetHashCode  Serves as the default hash function. (Inherited from Object.)  
GetNextDiscontinuity(Int32, Continuity, Double, Double, Double) 
Searches for a derivative, tangent, or curvature discontinuity.
(Inherited from Surface.)  
GetNextDiscontinuity(Int32, Continuity, Double, Double, Double, Double, Double) 
Searches for a derivative, tangent, or curvature discontinuity.
(Inherited from Surface.)  
GetNurbsFormParameterFromSurfaceParameter 
Translates a parameter from the current surface to the parameter space of the surface returned by ToNurbsSurface.
(Inherited from Surface.)  
GetObjectData 
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
(Inherited from CommonObject.)  
GetSpanVector 
Gets array of span "knots".
(Inherited from Surface.)  
GetSurfaceParameterFromNurbsFormParameter 
Translates a parameter from a value on the surface returned by ToNurbsSurface to the current surface.
(Inherited from Surface.)  
GetSurfaceSize 
Gets an estimate of the size of the rectangle that would be created
if the 3d surface where flattened into a rectangle.
(Inherited from Surface.)  
GetType  Gets the Type of the current instance. (Inherited from Object.)  
GetUserString 
Gets user string from this geometry.
(Inherited from GeometryBase.)  
GetUserStrings 
Gets a copy of all (user key string, user value string) pairs attached to this geometry.
(Inherited from GeometryBase.)  
HasNurbsForm 
Is there a NURBS surface representation of this surface.
(Inherited from Surface.)  
IncreaseDegreeU 
Increase the degree of this surface in U direction.
 
IncreaseDegreeV 
Increase the degree of this surface in V direction.
 
InterpolatedCurveOnSurface 
Constructs an interpolated curve on a surface, using 3D points.
(Inherited from Surface.)  
InterpolatedCurveOnSurfaceUV(IEnumerablePoint2d, Double) 
Returns a curve that interpolates points on a surface. The interpolant lies on the surface.
(Inherited from Surface.)  
InterpolatedCurveOnSurfaceUV(IEnumerablePoint2d, Double, Boolean, Int32) 
Returns a curve that interpolates points on a surface. The interpolant lies on the surface.
(Inherited from Surface.)  
IsAtSeam 
Tests if a surface parameter value is at a seam.
(Inherited from Surface.)  
IsAtSingularity 
Tests if a surface parameter value is at a singularity.
(Inherited from Surface.)  
IsClosed 
Gets a value indicating if the surface is closed in a direction.
(Inherited from Surface.)  
IsCone 
Determines if the surface is a portion of a cone within RhinoMath.ZeroTolerance.
(Inherited from Surface.)  
IsCone(Double)  Determines if the surface is a portion of a cone within a given tolerance. (Inherited from Surface.)  
IsContinuous 
Tests continuity at a surface parameter value.
(Inherited from Surface.)  
IsCylinder 
Determines if the surface is a portion of a cylinder within RhinoMath.ZeroTolerance.
(Inherited from Surface.)  
IsCylinder(Double)  Determines if the surface is a portion of a cylinder within a given tolerance. (Inherited from Surface.)  
IsIsoparametric(BoundingBox) 
Determines if a 2d bounding box is isoparametric in the parameter space of this surface.
(Inherited from Surface.)  
IsIsoparametric(Curve) 
Determines if a 2d curve is isoparametric in the parameter space of this surface.
(Inherited from Surface.)  
IsIsoparametric(Curve, Interval) 
Determines if a 2D curve is isoparametric in the parameter space of this surface.
(Inherited from Surface.)  
IsoCurve  Gets isoparametric curve. (Inherited from Surface.)  
IsPeriodic 
Gets a value indicating if the surface is periodic in a direction (default is false).
(Inherited from Surface.)  
IsPlanar 
Tests a surface to see if it is planar to zero tolerance.
(Inherited from Surface.)  
IsPlanar(Double) 
Tests a surface to see if it is planar to a given tolerance.
(Inherited from Surface.)  
IsSingular 
true if surface side is collapsed to a point.
(Inherited from Surface.)  
IsSphere 
Determines if the surface is a portion of a sphere within RhinoMath.ZeroTolerance.
(Inherited from Surface.)  
IsSphere(Double) 
Determines if the surface is a portion of a sphere within a given tolerance.
(Inherited from Surface.)  
IsTorus  Determines if the surface is a portion of a torus within RhinoMath.ZeroTolerance. (Inherited from Surface.)  
IsTorus(Double)  Determines if the surface is a portion of a torus within a given tolerance. (Inherited from Surface.)  
IsValidWithLog 
Determines if an object is valid. Also provides a report on errors if this
object happens not to be valid.
(Inherited from CommonObject.)  
LocalClosestPoint 
Find parameters of the point on a surface that is locally closest to
the testPoint. The search for a local close point starts at seed parameters.
(Inherited from Surface.)  
MakeCompatible 
For expert use only. Makes a pair of compatible NURBS surfaces based on two input surfaces.
 
MakeDeformable 
If possible, converts the object into a form that can be accurately modified
with "squishy" transformations like projections, shears, an nonuniform scaling.
(Inherited from GeometryBase.)  
MakeNonRational 
Makes this surface nonrational.
 
MakeRational 
Makes this surface rational.
 
MemberwiseClone  Creates a shallow copy of the current Object. (Inherited from Object.)  
MemoryEstimate 
Computes an estimate of the number of bytes that this object is using in memory.
(Inherited from GeometryBase.)  
NonConstOperation 
Destroy cache handle
(Inherited from GeometryBase.)  
NormalAt 
Computes the surface normal at a point.
(Inherited from Surface.)This is the simple evaluation call  it does not support error handling.  
Offset 
Constructs a new surface which is offset from the current surface.
(Inherited from Surface.)  
OnSwitchToNonConst 
Is called when a nonconstant operation occurs.
(Inherited from GeometryBase.)  
PointAt 
Evaluates a point at a given parameter.
(Inherited from Surface.)  
Pullback(Curve, Double) 
Pulls a 3d curve back to the surface's parameter space.
(Inherited from Surface.)  
Pullback(Curve, Double, Interval) 
Pulls a 3d curve back to the surface's parameter space.
(Inherited from Surface.)  
Pushup(Curve, Double) 
Computes a 3d curve that is the composite of a 2d curve and the surface map.
(Inherited from Surface.)  
Pushup(Curve, Double, Interval) 
Computes a 3d curve that is the composite of a 2d curve and the surface map.
(Inherited from Surface.)  
Rebuild 
Rebuilds an existing surface to a given degree and point count.
(Inherited from Surface.)  
RebuildOneDirection 
Rebuilds an existing surface with a new surface to a given point count in either the u or v directions independently.
(Inherited from Surface.)  
Reverse(Int32) 
Reverses parameterization Domain changes from [a,b] to [b,a]
(Inherited from Surface.)  
Reverse(Int32, Boolean) 
Same as Reverse, but if inPlace is set to true this Surface is modified
instead of a new copy being created.
(Inherited from Surface.)  
Rotate 
Rotates the object about the specified axis. A positive rotation
angle results in a counterclockwise rotation about the axis (right hand rule).
(Inherited from GeometryBase.)  
Scale 
Scales the object by the specified factor. The scale is centered at the origin.
(Inherited from GeometryBase.)  
SetDomain 
Sets the domain in a direction.
(Inherited from Surface.)  
SetUserString 
Attach a user string (key,value combination) to this geometry.
(Inherited from GeometryBase.)  
ShortPath 
Constructs a geodesic between 2 points, used by ShortPath command in Rhino.
(Inherited from Surface.)  
Smooth(Double, Boolean, Boolean, Boolean, Boolean, SmoothingCoordinateSystem) 
Smooths a surface by averaging the positions of control points in a specified region.
(Inherited from Surface.)  
Smooth(Double, Boolean, Boolean, Boolean, Boolean, SmoothingCoordinateSystem, Plane) 
Smooths a surface by averaging the positions of control points in a specified region.
(Inherited from Surface.)  
SpanCount 
Gets number of smooth nonempty spans in the parameter direction.
(Inherited from Surface.)  
Split 
Splits (divides) the surface into two parts at the specified parameter
(Inherited from Surface.)  
ToBrep 
Converts the surface into a Brep.
(Inherited from Surface.)  
ToJSON 
Create a JSON string representation of this object
(Inherited from CommonObject.)  
ToNurbsSurface 
Gets a NURBS surface representation of this surface. Default
tolerance of 0.0 is used.
(Inherited from Surface.)  
ToNurbsSurface(Double, Int32) 
Gets a NURBS surface representation of this surface.
(Inherited from Surface.)  
ToString  Returns a string that represents the current object. (Inherited from Object.)  
Transform 
Transforms the geometry. If the input Transform has a SimilarityType of
OrientationReversing, you may want to consider flipping the transformed
geometry after calling this function when it makes sense. For example,
you may want to call Flip() on a Brep after transforming it.
(Inherited from GeometryBase.)  
Translate(Vector3d)  Translates the object along the specified vector. (Inherited from GeometryBase.)  
Translate(Double, Double, Double)  Translates the object along the specified vector. (Inherited from GeometryBase.)  
Transpose 
Transposes surface parameterization (swap U and V)
(Inherited from Surface.)  
Transpose(Boolean) 
Transposes surface parameterization (swap U and V)
(Inherited from Surface.)  
Trim 
Constructs a subsurface that covers the specified UV trimming domain.
(Inherited from Surface.)  
TryGetCone(Cone)  Tests a surface to see if it is a portion of a cone within RhinoMath.ZeroTolerance and return the cone. (Inherited from Surface.)  
TryGetCone(Cone, Double)  Tests a surface to see if it is a portion of a cone and returns the cone. (Inherited from Surface.)  
TryGetCylinder(Cylinder)  Tests a surface to see if it is a portion of a cylinder within RhinoMath.ZeroTolerance and return the cylinder. (Inherited from Surface.)  
TryGetCylinder(Cylinder, Double)  Tests a surface to see if it is a portion of a cylinder and return the infinite cylinder. (Inherited from Surface.)  
TryGetFiniteCylinder  Tests a surface with the assumption that it might be a right circular cylinder and returns this geometry. (Inherited from Surface.)  
TryGetPlane(Plane)  Tests a surface for planarity and return the plane. (Inherited from Surface.)  
TryGetPlane(Plane, Double)  Tests a surface for planarity and return the plane. (Inherited from Surface.)  
TryGetSphere(Sphere)  Test a surface to see if it is a portion of a sphere and return the sphere. (Inherited from Surface.)  
TryGetSphere(Sphere, Double)  Test a surface to see if it is a portion of a sphere and return the sphere. (Inherited from Surface.)  
TryGetTorus(Torus)  Tests a surface to see if it is a portion of a torus within RhinoMath.ZeroTolerance and returns the torus. (Inherited from Surface.)  
TryGetTorus(Torus, Double)  Tests a surface to see if it is a portion of a torus and returns the torus. (Inherited from Surface.)  
UVNDirectionsAt 
Calculates the U, V, and N directions of a NURBS surface at a u,v parameter similar to the method used by Rhino's MoveUVN command.
 
VariableOffset(Double, Double, Double, Double, Double) 
Copies a surface so that all locations at the corners of the copied surface are specified distances from the original surface.
(Inherited from Surface.)  
VariableOffset(Double, Double, Double, Double, IEnumerablePoint2d, IEnumerableDouble, Double) 
Copies a surface so that all locations at the corners, and from specified interior locations, of the copied surface are specified distances from the original surface.
(Inherited from Surface.) 