Skip to content

RevSurface

Public Class

Represents a surface of revolution.

Revolutions can be incomplete (they can form arcs).

Inheritance Hierarchy

System.Object
Rhino.Runtime.CommonObject
Rhino.Geometry.GeometryBase
Rhino.Geometry.Surface
Rhino.Geometry.RevSurface

Namespace: Rhino.Geometry

Assembly: RhinoCommon (in RhinoCommon.dll)

Syntax

[SerializableAttribute]
public class RevSurface : Surface

The RevSurface type exposes the following members.

Constructors

Name

Description


Protected Method

Protected constructor for internal use.


Properties

Name

Description


Public Property

Gets the start and end angles of revolution in radians. The interval angle must be increasing and satisfy RhinoMath.ZeroTolerance < Angle.Length<= 2.0 * System.Math.PI.


Public Property

Gets the axis of revolution.


Public Property

Gets the revolute curve.


Public Property

Indicates if this object has been disposed or the document it originally belonged to has been disposed.

(Inherited from CommonObject.)


Public Property

Returns true if the Brep.TryConvertBrep function will be successful for this object

(Inherited from GeometryBase.)


Public Property

Gets true if this class has any custom information attached to it through UserData.

(Inherited from CommonObject.)


Public Property

Interval specifies the parameterization for the angular parameter. Interval must be an increasing interval. The parameter Interval[0] corresponds to Angle[0] and the parameter Interval[1] corresponds to Angle[1].


Public Property

true if object can be accurately modified with “squishy” transformations like projections, shears, and non-uniform scaling.

(Inherited from GeometryBase.)


Public Property

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.)


Public Property

Gets a values indicating whether a surface is solid.

(Inherited from Surface.)


Public Property

Returns true if the surface is a non-rational, uniform, natural or periodic, cubic NURBS surface. Otherwise, false is returned.

(Inherited from Surface.)


Public Property

If false, the “u” parameter is the angle parameter and the “v” parameter is the curve parameter. If true, the “u” parameter is the curve parameter and the “v” parameter is the angle parameter.


Public Property

Tests an object to see if it is valid.

(Inherited from CommonObject.)


Public Property

Useful for switch statements that need to differentiate between basic object types like points, curves, surfaces, and so on.

(Inherited from GeometryBase.)


Public Property

List of custom information that is attached to this class.

(Inherited from CommonObject.)


Public Property

Dictionary of custom information attached to this class. The dictionary is actually user data provided as an easy to use shareable set of information.

(Inherited from CommonObject.)


Public Property

Gets the amount of user strings.

(Inherited from GeometryBase.)


Methods

Name

Description


Public Method
Code Example

Input the parameters of the point on the surface that is closest to testPoint.

(Inherited from Surface.)


Public Method

Gets the side that is closest, in terms of 3D-distance, to a U and V parameter.

(Inherited from Surface.)


Public Method

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 Method

Assigns a parent object and a sub-object index to this.

(Inherited from CommonObject.)


Public Method
Static Member
Code Example

Constructs a new surface of revolution from a generatrix curve and an axis.


Public Method
Static Member

Constructs a new surface of revolution from a generatrix line and an axis.

If the operation succeeds, results can be (truncated) cones, cylinders and circular hyperboloids.


Public Method
Static Member

Constructs a new surface of revolution from a generatrix polyline and an axis.


Public Method
Static Member

Constructs a new surface of revolution from a generatrix curve and an axis.

This overload accepts a slice start and end angles.


Public Method
Static Member

Constructs a new surface of revolution from a generatrix line and an axis.

This overload accepts a slice start and end angles.

Results can be (truncated) cones, cylinders and circular hyperboloids, or can fail.


Public Method
Static Member

Constructs a new surface of revolution from a generatrix polyline and an axis.

This overload accepts a slice start and end angles.


Public Method
Static Member

Constructs a new surface of revolution from the values of a cone.


Public Method
Static Member

Constructs a new surface of revolution from the values of a cylinder.


Public Method
Static Member

Constructs a new surface of revolution from the values of a sphere.


Public Method
Static Member

Constructs a new surface of revolution from the values of a torus.


Public Method
Code Example

Computes the curvature at the given UV coordinate.

(Inherited from Surface.)


Public Method

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 Method

Returns the maximum algebraic degree of any span (or a good estimate if curve spans are not algebraic).

(Inherited from Surface.)


Public Method

(Inherited from GeometryBase.)


Public Method

(Inherited from GeometryBase.)


Public Method

Actively reclaims unmanaged resources that this instance uses.

(Inherited from CommonObject.)


Protected Method

Overridden in order to destroy local display cache information

(Inherited from GeometryBase.)


Public Method

Gets the domain in a direction.

(Inherited from Surface.)


Public Method

Constructs a deep (full) copy of this object.

(Inherited from GeometryBase.)


Public Method

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 Method

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 Method

Equals

Determines whether the specified object is equal to the current object.

(Inherited from Object.)


Public Method
Evaluate

Evaluates a surface mathematically.

(Inherited from Surface.)


Public Method

Analytically extends the surface to include the interval.

(Inherited from Surface.)


Public Method

Extends an untrimmed surface along one edge.

(Inherited from Surface.)


Protected Method

Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().

(Inherited from CommonObject.)


Public Method

Fits a new surface through an existing surface.

(Inherited from Surface.)


Public Method

(Inherited from Surface.)


Public Method
Code Example

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 Method
Code Example

Bounding box solver. Gets the world axis aligned bounding box for the geometry.

(Inherited from GeometryBase.)


Public Method
Code Example

Aligned Bounding box solver. Gets the plane aligned bounding box.

(Inherited from GeometryBase.)


Public Method

Aligned Bounding box solver. Gets the world axis aligned bounding box for the transformed geometry.

(Inherited from GeometryBase.)


Public Method

Aligned Bounding box solver. Gets the plane aligned bounding box.

(Inherited from GeometryBase.)


Public Method

GetHashCode

Serves as the default hash function.

(Inherited from Object.)


Public Method

Searches for a derivative, tangent, or curvature discontinuity.

(Inherited from Surface.)


Public Method

Searches for a derivative, tangent, or curvature discontinuity.

(Inherited from Surface.)


Public Method

Translates a parameter from the current surface to the parameter space of the surface returned by

.

(Inherited from Surface.)


Public Method

Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.

(Inherited from CommonObject.)


Public Method

Gets array of span “knots”.

(Inherited from Surface.)


Public Method

Translates a parameter from a value on the surface returned by

to the current surface.

(Inherited from Surface.)


Public Method
Code Example

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 Method

GetType

Gets the Type of the current instance.

(Inherited from Object.)


Public Method

Gets user string from this geometry.

(Inherited from GeometryBase.)


Public Method

Gets a copy of all (user key string, user value string) pairs attached to this geometry.

(Inherited from GeometryBase.)


Public Method

Is there a NURBS surface representation of this surface.

(Inherited from Surface.)


Public Method

Constructs an interpolated curve on a surface, using 3D points.

(Inherited from Surface.)


Public Method

Returns a curve that interpolates points on a surface. The interpolant lies on the surface.

(Inherited from Surface.)


Public Method

Returns a curve that interpolates points on a surface. The interpolant lies on the surface.

(Inherited from Surface.)


Public Method

Tests if a surface parameter value is at a seam.

(Inherited from Surface.)


Public Method

Tests if a surface parameter value is at a singularity.

(Inherited from Surface.)


Public Method

Gets a value indicating if the surface is closed in a direction.

(Inherited from Surface.)


Public Method

Determines if the surface is a portion of a cone within RhinoMath.ZeroTolerance.

(Inherited from Surface.)


Public Method

Determines if the surface is a portion of a cone within a given tolerance.

(Inherited from Surface.)


Public Method

Tests continuity at a surface parameter value.

(Inherited from Surface.)


Public Method

Determines if the surface is a portion of a cylinder within RhinoMath.ZeroTolerance.

(Inherited from Surface.)


Public Method

Determines if the surface is a portion of a cylinder within a given tolerance.

(Inherited from Surface.)


Public Method

Determines if a 2d bounding box is isoparametric in the parameter space of this surface.

(Inherited from Surface.)


Public Method

Determines if a 2d curve is isoparametric in the parameter space of this surface.

(Inherited from Surface.)


Public Method

Determines if a 2D curve is isoparametric in the parameter space of this surface.

(Inherited from Surface.)


Public Method
Code Example
IsoCurve

Gets isoparametric curve.

(Inherited from Surface.)


Public Method

Gets a value indicating if the surface is periodic in a direction (default is false).

(Inherited from Surface.)


Public Method
Code Example

Tests a surface to see if it is planar to zero tolerance.

(Inherited from Surface.)


Public Method

Tests a surface to see if it is planar to a given tolerance.

(Inherited from Surface.)


Public Method

true if surface side is collapsed to a point.

(Inherited from Surface.)


Public Method

Determines if the surface is a portion of a sphere within RhinoMath.ZeroTolerance.

(Inherited from Surface.)


Public Method

Determines if the surface is a portion of a sphere within a given tolerance.

(Inherited from Surface.)


Public Method

Determines if the surface is a portion of a torus within RhinoMath.ZeroTolerance.

(Inherited from Surface.)


Public Method

Determines if the surface is a portion of a torus within a given tolerance.

(Inherited from Surface.)


Public Method

Determines if an object is valid. Also provides a report on errors if this object happens not to be valid.

(Inherited from CommonObject.)


Public Method

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 Method

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.)


Protected Method

MemberwiseClone

Creates a shallow copy of the current Object.

(Inherited from Object.)


Public Method

Computes an estimate of the number of bytes that this object is using in memory.

(Inherited from GeometryBase.)


Protected Method

Destroy cache handle

(Inherited from GeometryBase.)


Public Method
Code Example

Computes the surface normal at a point.

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

(Inherited from Surface.)


Public Method

Constructs a new surface which is offset from the current surface.

(Inherited from Surface.)


Protected Method

Is called when a non-constant operation occurs.

(Inherited from GeometryBase.)


Public Method

Evaluates a point at a given parameter.

(Inherited from Surface.)


Public Method

Pulls a 3d curve back to the surface’s parameter space.

(Inherited from Surface.)


Public Method

Pulls a 3d curve back to the surface’s parameter space.

(Inherited from Surface.)


Public Method

Computes a 3d curve that is the composite of a 2d curve and the surface map.

(Inherited from Surface.)


Public Method

Computes a 3d curve that is the composite of a 2d curve and the surface map.

(Inherited from Surface.)


Public Method

Rebuilds an existing surface to a given degree and point count.

(Inherited from Surface.)


Public Method

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 Method

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 Method

Splits the surface into two and refits the split edge

(Inherited from Surface.)


Public Method

Reverses parameterization Domain changes from [a,b] to [-b,-a]

(Inherited from Surface.)


Public Method

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 Method

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 Method

Scales the object by the specified factor. The scale is centered at the origin.

(Inherited from GeometryBase.)


Public Method

Sets the domain in a direction.

(Inherited from Surface.)


Public Method

Attach a user string (key,value combination) to this geometry.

(Inherited from GeometryBase.)


Public Method

Constructs a geodesic between 2 points, used by ShortPath command in Rhino.

(Inherited from Surface.)


Public Method

Smooths a surface by averaging the positions of control points in a specified region.

(Inherited from Surface.)


Public Method

Smooths a surface by averaging the positions of control points in a specified region.

(Inherited from Surface.)


Public Method

Gets number of smooth nonempty spans in the parameter direction.

(Inherited from Surface.)


Public Method

Splits (divides) the surface into two parts at the specified parameter

(Inherited from Surface.)


Public Method

Converts the surface into a Brep.

(Inherited from Surface.)


Public Method

Create a JSON string representation of this object

(Inherited from CommonObject.)


Public Method

Gets a NURBS surface representation of this surface. Default tolerance of 0.0 is used.

(Inherited from Surface.)


Public Method

Gets a NURBS surface representation of this surface.

(Inherited from Surface.)


Public Method

ToString

Returns a string that represents the current object.

(Inherited from Object.)


Public Method

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 Method

Translates the object along the specified vector.

(Inherited from GeometryBase.)


Public Method

Translates the object along the specified vector.

(Inherited from GeometryBase.)


Public Method

Transposes surface parameterization (swap U and V)

(Inherited from Surface.)


Public Method

Transposes surface parameterization (swap U and V)

(Inherited from Surface.)


Public Method

Constructs a sub-surface that covers the specified UV trimming domain.

(Inherited from Surface.)


Public Method

Tests a surface to see if it is a portion of a cone within RhinoMath.ZeroTolerance and return the cone.

(Inherited from Surface.)


Public Method

Tests a surface to see if it is a portion of a cone and returns the cone.

(Inherited from Surface.)


Public Method
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.)


Public Method
TryGetCylinder(Cylinder., Double)

Tests a surface to see if it is a portion of a cylinder and return the infinite cylinder.

(Inherited from Surface.)


Public Method
TryGetFiniteCylinder

Tests a surface with the assumption that it might be a right circular cylinder and returns this geometry.

(Inherited from Surface.)


Public Method

Tests a surface for planarity and return the plane.

(Inherited from Surface.)


Public Method
Code Example

Tests a surface for planarity and return the plane.

(Inherited from Surface.)


Public Method

Test a surface to see if it is a portion of a sphere and return the sphere.

(Inherited from Surface.)


Public Method

Test a surface to see if it is a portion of a sphere and return the sphere.

(Inherited from Surface.)


Public Method

Tests a surface to see if it is a portion of a torus within RhinoMath.ZeroTolerance and returns the torus.

(Inherited from Surface.)


Public Method

Tests a surface to see if it is a portion of a torus and returns the torus.

(Inherited from Surface.)


Public Method

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 Method

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.)