Click or drag to resize

NurbsSurface Methods

The NurbsSurface type exposes the following members.

Methods
  NameDescription
Public methodCode exampleClosestPoint
Input the parameters of the point on the surface that is closest to testPoint.
(Inherited from Surface.)
Public methodClosestSide
Gets the side that is closest, in terms of 3D-distance, to a U and V parameter.
(Inherited from Surface.)
Public methodComponentIndex
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.)
Protected methodConstructConstObject
Assigns a parent object and a sub-object index to this.
(Inherited from CommonObject.)
Public methodConvertSpanToBezier
Convert a NURBS surface bispan into a Bezier surface.
Public methodCopyFrom
Copies this NURBS surface from another NURBS surface.
Public methodStatic memberCode exampleCreate
Constructs a new NURBS surface with internal uninitialized arrays.
Public methodStatic memberCreateCurveOnSurface
Fit a sequence of 2d points on a surface to make a curve on the surface.
Public methodStatic memberCreateCurveOnSurfacePoints
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.
Public methodStatic memberCreateFromCone
Constructs a new NURBS surfaces from cone data.
Public methodStatic memberCreateFromCorners(Point3d, Point3d, Point3d)
Makes a surface from 3 corner points.
Public methodStatic memberCode exampleCreateFromCorners(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.

Public methodStatic memberCreateFromCorners(Point3d, Point3d, Point3d, Point3d, Double)
Makes a surface from 4 corner points.
Public methodStatic memberCreateFromCylinder
Constructs a new NURBS surfaces from cylinder data.
Public methodStatic memberCreateFromPlane
Creates a NURBS surface from a plane and additional parameters.
Public methodStatic memberCreateFromPoints
Constructs a NURBS surface from a 2D grid of control points.
Public methodStatic memberCreateFromSphere
Constructs a new NURBS surfaces from sphere data.
Public methodStatic memberCreateFromTorus
Constructs a new NURBS surfaces from torus data.
Public methodStatic memberCreateNetworkSurface(IEnumerableCurve, Int32, Double, Double, Double, Int32)
Builds a surface from an auto-sorted network of curves/edges.
Public methodStatic memberCreateNetworkSurface(IEnumerableCurve, Int32, Int32, IEnumerableCurve, Int32, Int32, Double, Double, Double, Int32)
Builds a surface from an ordered network of curves/edges.
Public methodStatic memberCreateRailRevolvedSurface
Constructs a railed Surface-of-Revolution.
Public methodStatic memberCreateRuledSurface
Constructs a ruled surface between two curves. Curves must share the same knot-vector.
Public methodStatic memberCreateSubDFriendly
Create a bi-cubic SubD friendly surface from a surface.
Public methodStatic memberCreateThroughPoints
Constructs a NURBS surface from a 2D grid of points.
Public methodCode exampleCurvatureAt
Computes the curvature at the given UV coordinate.
(Inherited from Surface.)
Public methodDataCRC
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.)
Public methodDegree
Returns the maximum algebraic degree of any span (or a good estimate if curve spans are not algebraic).
(Inherited from Surface.)
Public methodDeleteAllUserStrings (Inherited from GeometryBase.)
Public methodDeleteUserString (Inherited from GeometryBase.)
Public methodDispose
Actively reclaims unmanaged resources that this instance uses.
(Inherited from CommonObject.)
Protected methodDispose(Boolean)
Overridden in order to destroy local display cache information
(Inherited from GeometryBase.)
Public methodDomain
Gets the domain in a direction.
(Inherited from Surface.)
Public methodDuplicate
Constructs a deep (full) copy of this object.
(Inherited from GeometryBase.)
Public methodDuplicateShallow
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.)
Public methodEnsurePrivateCopy
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.)
Public methodEpsilonEquals
Check that all values in other are within epsilon of the values in this
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodEvaluate
Evaluates a surface mathematically.
(Inherited from Surface.)
Public methodExtend(Int32, Interval)
Analytically extends the surface to include the interval.
(Inherited from Surface.)
Public methodExtend(IsoStatus, Double, Boolean)
Extends an untrimmed surface along one edge.
(Inherited from Surface.)
Protected methodFinalize
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
(Inherited from CommonObject.)
Public methodFindClosestIsoCurve
Find the closest isoparamentric curve, given a test point.
Public methodFit
Fits a new surface through an existing surface.
(Inherited from Surface.)
Public methodFitCurveToSurface
(Inherited from Surface.)
Public methodCode exampleFrameAt
Computes the orient plane on a surface given a U and V parameter.

This is the simple evaluation call with no error handling.

(Inherited from Surface.)
Public methodCode exampleGetBoundingBox(Boolean)
Bounding box solver. Gets the world axis aligned bounding box for the geometry.
(Inherited from GeometryBase.)
Public methodCode exampleGetBoundingBox(Plane)
Aligned Bounding box solver. Gets the plane aligned bounding box.
(Inherited from GeometryBase.)
Public methodGetBoundingBox(Transform)
Aligned Bounding box solver. Gets the world axis aligned bounding box for the transformed geometry.
(Inherited from GeometryBase.)
Public methodGetBoundingBox(Plane, Box)
Aligned Bounding box solver. Gets the plane aligned bounding box.
(Inherited from GeometryBase.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetNextDiscontinuity(Int32, Continuity, Double, Double, Double)
Searches for a derivative, tangent, or curvature discontinuity.
(Inherited from Surface.)
Public methodGetNextDiscontinuity(Int32, Continuity, Double, Double, Double, Double, Double)
Searches for a derivative, tangent, or curvature discontinuity.
(Inherited from Surface.)
Public methodGetNurbsFormParameterFromSurfaceParameter
Translates a parameter from the current surface to the parameter space of the surface returned by ToNurbsSurface.
(Inherited from Surface.)
Public methodGetObjectData
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
(Inherited from CommonObject.)
Public methodGetSpanVector
Gets array of span "knots".
(Inherited from Surface.)
Public methodGetSurfaceParameterFromNurbsFormParameter
Translates a parameter from a value on the surface returned by ToNurbsSurface to the current surface.
(Inherited from Surface.)
Public methodCode exampleGetSurfaceSize
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.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetUserString
Gets user string from this geometry.
(Inherited from GeometryBase.)
Public methodGetUserStrings
Gets a copy of all (user key string, user value string) pairs attached to this geometry.
(Inherited from GeometryBase.)
Public methodHasNurbsForm
Is there a NURBS surface representation of this surface.
(Inherited from Surface.)
Public methodCode exampleIncreaseDegreeU
Increase the degree of this surface in U direction.
Public methodCode exampleIncreaseDegreeV
Increase the degree of this surface in V direction.
Public methodInterpolatedCurveOnSurface
Constructs an interpolated curve on a surface, using 3D points.
(Inherited from Surface.)
Public methodInterpolatedCurveOnSurfaceUV(IEnumerablePoint2d, Double)
Returns a curve that interpolates points on a surface. The interpolant lies on the surface.
(Inherited from Surface.)
Public methodInterpolatedCurveOnSurfaceUV(IEnumerablePoint2d, Double, Boolean, Int32)
Returns a curve that interpolates points on a surface. The interpolant lies on the surface.
(Inherited from Surface.)
Public methodIsAtSeam
Tests if a surface parameter value is at a seam.
(Inherited from Surface.)
Public methodIsAtSingularity
Tests if a surface parameter value is at a singularity.
(Inherited from Surface.)
Public methodIsClosed
Gets a value indicating if the surface is closed in a direction.
(Inherited from Surface.)
Public methodIsCone
Determines if the surface is a portion of a cone within RhinoMath.ZeroTolerance.
(Inherited from Surface.)
Public methodIsCone(Double)
Determines if the surface is a portion of a cone within a given tolerance.
(Inherited from Surface.)
Public methodIsContinuous
Tests continuity at a surface parameter value.
(Inherited from Surface.)
Public methodIsCylinder
Determines if the surface is a portion of a cylinder within RhinoMath.ZeroTolerance.
(Inherited from Surface.)
Public methodIsCylinder(Double)
Determines if the surface is a portion of a cylinder within a given tolerance.
(Inherited from Surface.)
Public methodIsIsoparametric(BoundingBox)
Determines if a 2d bounding box is isoparametric in the parameter space of this surface.
(Inherited from Surface.)
Public methodIsIsoparametric(Curve)
Determines if a 2d curve is isoparametric in the parameter space of this surface.
(Inherited from Surface.)
Public methodIsIsoparametric(Curve, Interval)
Determines if a 2D curve is isoparametric in the parameter space of this surface.
(Inherited from Surface.)
Public methodCode exampleIsoCurve
Gets isoparametric curve.
(Inherited from Surface.)
Public methodIsPeriodic
Gets a value indicating if the surface is periodic in a direction (default is false).
(Inherited from Surface.)
Public methodCode exampleIsPlanar
Tests a surface to see if it is planar to zero tolerance.
(Inherited from Surface.)
Public methodIsPlanar(Double)
Tests a surface to see if it is planar to a given tolerance.
(Inherited from Surface.)
Public methodIsSingular
true if surface side is collapsed to a point.
(Inherited from Surface.)
Public methodIsSphere
Determines if the surface is a portion of a sphere within RhinoMath.ZeroTolerance.
(Inherited from Surface.)
Public methodIsSphere(Double)
Determines if the surface is a portion of a sphere within a given tolerance.
(Inherited from Surface.)
Public methodIsTorus
Determines if the surface is a portion of a torus within RhinoMath.ZeroTolerance.
(Inherited from Surface.)
Public methodIsTorus(Double)
Determines if the surface is a portion of a torus within a given tolerance.
(Inherited from Surface.)
Public methodIsValidWithLog
Determines if an object is valid. Also provides a report on errors if this object happens not to be valid.
(Inherited from CommonObject.)
Public methodLocalClosestPoint
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.)
Public methodStatic memberMakeCompatible
For expert use only. Makes a pair of compatible NURBS surfaces based on two input surfaces.
Public methodMakeDeformable
If possible, converts the object into a form that can be accurately modified with "squishy" transformations like projections, shears, an non-uniform scaling.
(Inherited from GeometryBase.)
Public methodMakeNonRational
Makes this surface non-rational.
Public methodMakeRational
Makes this surface rational.
Public methodMatchToCurve
Constructs a NURBS surface with start and end edge isocurve matching the start and end of targetCurve, and Greville points on targetCurve.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodMemoryEstimate
Computes an estimate of the number of bytes that this object is using in memory.
(Inherited from GeometryBase.)
Protected methodNonConstOperation
Destroy cache handle
(Inherited from GeometryBase.)
Public methodCode exampleNormalAt
Computes the surface normal at a point.

This is the simple evaluation call - it does not support error handling.

(Inherited from Surface.)
Public methodOffset
Constructs a new surface which is offset from the current surface.
(Inherited from Surface.)
Protected methodOnSwitchToNonConst
Is called when a non-constant operation occurs.
(Inherited from GeometryBase.)
Public methodPointAt
Evaluates a point at a given parameter.
(Inherited from Surface.)
Public methodPullback(Curve, Double)
Pulls a 3d curve back to the surface's parameter space.
(Inherited from Surface.)
Public methodPullback(Curve, Double, Interval)
Pulls a 3d curve back to the surface's parameter space.
(Inherited from Surface.)
Public methodPushup(Curve, Double)
Computes a 3d curve that is the composite of a 2d curve and the surface map.
(Inherited from Surface.)
Public methodPushup(Curve, Double, Interval)
Computes a 3d curve that is the composite of a 2d curve and the surface map.
(Inherited from Surface.)
Public methodRebuild
Rebuilds an existing surface to a given degree and point count.
(Inherited from Surface.)
Public methodRebuildOneDirection
Rebuilds an existing surface with a new surface to a given point count in either the u or v directions independently.
(Inherited from Surface.)
Public methodRefitSimplySplitSurface
This routine accepts a 3-d trim curve (trimCrv3d). The trim curve is assumed to run from one surface edge to the opposite edge; this is referred to as a "simple" trim curve, roughly parallel to one of the srf directions (either u or v). We refer to that parameter as the "trim parameter". The routine splits the surface via the trim curve, and then refits either side ("upper" = "above the trim", and "lower" = "below the trim") as a set of untrimmed Nurbs surfaces. The idea is to retain, as much as possible, the Nurbs structure of srf, especially in the trim parameter.
(Inherited from Surface.)
Public methodRefitSplit
Splits the surface into two and refits the split edge
(Inherited from Surface.)
Public methodReverse(Int32)
Reverses parameterization Domain changes from [a,b] to [-b,-a]
(Inherited from Surface.)
Public methodReverse(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.)
Public methodRotate
Rotates the object about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule).
(Inherited from GeometryBase.)
Public methodScale
Scales the object by the specified factor. The scale is centered at the origin.
(Inherited from GeometryBase.)
Public methodSetDomain
Sets the domain in a direction.
(Inherited from Surface.)
Public methodSetUserString
Attach a user string (key,value combination) to this geometry.
(Inherited from GeometryBase.)
Public methodShortPath
Constructs a geodesic between 2 points, used by ShortPath command in Rhino.
(Inherited from Surface.)
Public methodSmooth(Double, Boolean, Boolean, Boolean, Boolean, SmoothingCoordinateSystem)
Smooths a surface by averaging the positions of control points in a specified region.
(Inherited from Surface.)
Public methodSmooth(Double, Boolean, Boolean, Boolean, Boolean, SmoothingCoordinateSystem, Plane)
Smooths a surface by averaging the positions of control points in a specified region.
(Inherited from Surface.)
Public methodSpanCount
Gets number of smooth nonempty spans in the parameter direction.
(Inherited from Surface.)
Public methodSplit
Splits (divides) the surface into two parts at the specified parameter
(Inherited from Surface.)
Public methodToBrep
Converts the surface into a Brep.
(Inherited from Surface.)
Public methodToJSON
Create a JSON string representation of this object
(Inherited from CommonObject.)
Public methodToNurbsSurface
Gets a NURBS surface representation of this surface. Default tolerance of 0.0 is used.
(Inherited from Surface.)
Public methodToNurbsSurface(Double, Int32)
Gets a NURBS surface representation of this surface.
(Inherited from Surface.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodTransform
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.)
Public methodTranslate(Vector3d)
Translates the object along the specified vector.
(Inherited from GeometryBase.)
Public methodTranslate(Double, Double, Double)
Translates the object along the specified vector.
(Inherited from GeometryBase.)
Public methodTranspose
Transposes surface parameterization (swap U and V)
(Inherited from Surface.)
Public methodTranspose(Boolean)
Transposes surface parameterization (swap U and V)
(Inherited from Surface.)
Public methodTrim
Constructs a sub-surface that covers the specified UV trimming domain.
(Inherited from Surface.)
Public methodTryGetCone(Cone)
Tests a surface to see if it is a portion of a cone within RhinoMath.ZeroTolerance and return the cone.
(Inherited from Surface.)
Public methodTryGetCone(Cone, Double)
Tests a surface to see if it is a portion of a cone and returns the cone.
(Inherited from Surface.)
Public methodTryGetCylinder(Cylinder)
Tests a surface to see if it is a portion of a cylinder within RhinoMath.ZeroTolerance and return the cylinder.
(Inherited from Surface.)
Public methodTryGetCylinder(Cylinder, Double)
Tests a surface to see if it is a portion of a cylinder and return the infinite cylinder.
(Inherited from Surface.)
Public methodTryGetFiniteCylinder
Tests a surface with the assumption that it might be a right circular cylinder and returns this geometry.
(Inherited from Surface.)
Public methodTryGetPlane(Plane)
Tests a surface for planarity and return the plane.
(Inherited from Surface.)
Public methodCode exampleTryGetPlane(Plane, Double)
Tests a surface for planarity and return the plane.
(Inherited from Surface.)
Public methodTryGetSphere(Sphere)
Test a surface to see if it is a portion of a sphere and return the sphere.
(Inherited from Surface.)
Public methodTryGetSphere(Sphere, Double)
Test a surface to see if it is a portion of a sphere and return the sphere.
(Inherited from Surface.)
Public methodTryGetTorus(Torus)
Tests a surface to see if it is a portion of a torus within RhinoMath.ZeroTolerance and returns the torus.
(Inherited from Surface.)
Public methodTryGetTorus(Torus, Double)
Tests a surface to see if it is a portion of a torus and returns the torus.
(Inherited from Surface.)
Public methodUVNDirectionsAt
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.
Public methodVariableOffset(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.)
Public methodVariableOffset(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.)
Top
See Also