Click or drag to resize

SubD Class

Subdivision surface
Inheritance Hierarchy

Namespace:  Rhino.Geometry
Assembly:  RhinoCommon (in RhinoCommon.dll)
public class SubD : GeometryBase

The SubD type exposes the following members.

Public methodSubD
Create a new instance of SubD geometry
Protected methodSubD(SerializationInfo, StreamingContext)
Protected constructor used in serialization.
Public propertyDisposed
Indicates if this object has been disposed or the document it originally belonged to has been disposed.
(Inherited from CommonObject.)
Public propertyEdges
All edges in this SubD
Public propertyFaces
All faces in this SubD
Public propertyHasBrepForm
Returns true if the Brep.TryConvertBrep function will be successful for this object
(Inherited from GeometryBase.)
Public propertyHasUserData
Gets true if this class has any custom information attached to it through UserData.
(Inherited from CommonObject.)
Public propertyIsDeformable
true if object can be accurately modified with "squishy" transformations like projections, shears, and non-uniform scaling.
(Inherited from GeometryBase.)
Public propertyIsDocumentControlled
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 propertyIsSolid
Test SubD to see if the active level is a solid. A "solid" is a closed oriented manifold, or a closed oriented manifold.
Public propertyIsValid
Tests an object to see if it is valid.
(Inherited from CommonObject.)
Public propertyObjectType
Useful for switch statements that need to differentiate between basic object types like points, curves, surfaces, and so on.
(Inherited from GeometryBase.)
Public propertyUserData
List of custom information that is attached to this class.
(Inherited from CommonObject.)
Public propertyUserDictionary
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.)
Public propertyUserStringCount
Gets the amount of user strings.
(Inherited from GeometryBase.)
Public propertyVertices
All vertices in this SubD
Public methodClearEvaluationCache
Clear cached information that depends on the location of vertex control points
Public methodComponentFromComponentIndex
Returns a SubDComponent, eithere a SubDEdge, SubDFace, or SubDVertex, from a component index.
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 methodStatic memberCreateFromCylinder
Creates a SubD form of a cylinder.
Public methodStatic memberCreateFromLoft
Creates a SubD lofted through shape curves.
Public methodStatic memberCreateFromMesh(Mesh)
Create a new SubD from a mesh.
Public methodStatic memberCreateFromMesh(Mesh, SubDCreationOptions)
Create a new SubD from a mesh.
Public methodStatic memberCreateFromSurface
Create a SubD that approximates the surface. If the surface is a SubD friendly NURBS surface and withCorners is true, then the SubD and input surface will have the same geometry.
Public methodStatic memberCreateFromSweep(NurbsCurve, NurbsCurve, IEnumerableNurbsCurve, Boolean, Boolean)
Fits a SubD through a series of profile curves that define the SubD cross-sections and two curves that defines SubD edges.
Public methodStatic memberCreateFromSweep(NurbsCurve, IEnumerableNurbsCurve, Boolean, Boolean, Boolean, Vector3d)
Fits a SubD through a series of profile curves that define the SubD cross-sections and one curve that defines a SubD edge.
Public methodDispose
Actively reclaims unmanaged resources that this instance uses.
(Inherited from CommonObject.)
Protected methodDispose(Boolean)
Deletes the underlying native pointer during a Dispose call or GC collection
(Overrides GeometryBaseDispose(Boolean).)
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 methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
(Inherited from CommonObject.)
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 methodGetObjectData
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
(Inherited from CommonObject.)
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 methodInterpolateSurfacePoints
Modifies the SubD so that the SubD vertex limit surface points are equal to surface_points[]
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 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.)
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.)
Public methodMergeAllCoplanarFaces(Double)
Merges adjacent coplanar faces into single faces.
Public methodMergeAllCoplanarFaces(Double, Double)
Merges adjacent coplanar faces into single faces.
Protected methodNonConstOperation
Destroy cache handle
(Overrides GeometryBaseNonConstOperation.)
Public methodOffset
Makes a new SubD with vertices offset at distance in the direction of the control net vertex normals. Optionally, based on the value of solidify, adds the input SubD and a ribbon of faces along any naked edges.
Protected methodOnSwitchToNonConst
Called when this object switches from being considered "owned by the document" to being an independent instance.
(Overrides GeometryBaseOnSwitchToNonConst.)
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 methodSetUserString
Attach a user string (key,value combination) to this geometry.
(Inherited from GeometryBase.)
Public methodSubdivide
Apply the Catmull-Clark subdivision algorithm and save the results in this SubD
Public methodToBrep
Create a Brep based on this SubD geometry, based on SubDToBrepOptions.Default options.
Public methodToBrep(SubDToBrepOptions)
Create a Brep based on this SubD geometry.
Public methodToJSON
Create a JSON string representation of this object
(Inherited from CommonObject.)
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 methodUpdateAllTagsAndSectorCoefficients
Updates vertex tag, edge tag, and edge coefficient values on the active level. After completing custom editing operations that modify the topology of the SubD control net or changing values of vertex or edge tags, the tag and sector coefficients information on nearby components in the edited areas need to be updated.
See Also