SubDEdgeSharpness Structure |
A sharp SubD edge is an edge where the limit surface makes a tighter "fillet radius" around the edge than a smooth edge would, while still staying smooth, unlike a crease edge. It is achieved by applying the crease edge subdivision rules for the number of subdivisions given by the sharpness value, and the smooth edge subdivision rules after that. Sharpness can differ at the two ends of an edge.
Namespace: Rhino.Geometry
The SubDEdgeSharpness type exposes the following members.
| Name | Description | |
|---|---|---|
| SubDEdgeSharpness(Double) |
Creates a sharpness with the same value at both ends.
| |
| SubDEdgeSharpness(Interval) |
Creates a sharpness that varies from one end of the edge to the other.
| |
| SubDEdgeSharpness(Double, Double) |
Creates a sharpness that varies from one end of the edge to the other.
|
| Name | Description | |
|---|---|---|
| Average |
Gets the average of the two end sharpness values.
| |
| Crease |
A sharpness of CreaseValue at both ends, used to indicate that an
edge is a crease rather than a sharp edge. IsValid is false for this
value; see IsValidOrCrease.
| |
| Delta |
Gets EndSharpness(1) - EndSharpness(0),
or NaN if this is neither valid nor a crease.
| |
| IsConstant |
Gets true if both ends have the same valid sharpness value.
Crease and Nan are both false; see
IsConstantOrCrease.
| |
| IsConstantOrCrease |
Gets true if both ends have the same valid sharpness value, or if this is
Crease.
| |
| IsCrease |
Gets true if this is Crease.
| |
| IsCreaseOrSharp | ||
| IsDecreasing |
Gets true if EndSharpness(0) is greater than
EndSharpness(1).
| |
| IsIncreasing |
Gets true if EndSharpness(0) is less than
EndSharpness(1).
| |
| IsNotValid | ||
| IsNotValidNorCrease | ||
| IsSharp | ||
| IsValid |
Gets true if both ends are between 0.0 and MaximumValue.
Crease and Nan are both false; see
IsValidOrCrease.
| |
| IsValidOrCrease |
Gets true if both ends are between 0.0 and MaximumValue, or if this
is Crease.
| |
| IsVariable | ||
| IsZero |
Gets true if both ends are 0.0, which is the sharpness of a smooth edge.
| |
| Item |
Gets the sharpness at the start or the end of the edge.
| |
| Maximum |
A sharpness of MaximumValue at both ends. This is the sharpest an
edge can be without being a crease.
| |
| MaximumEndSharpness |
Gets the larger of the two end sharpness values.
| |
| MinimumEndSharpness |
Gets the smaller of the two end sharpness values.
| |
| Nan |
A sharpness whose ends are both NaN. This is what the factory methods return when
their input is not valid.
| |
| Smooth |
A sharpness of 0.0 at both ends, which is what a smooth edge has.
This is also the default value of a SubDEdgeSharpness.
| |
| Trend |
Gets +1 if the sharpness increases along the edge, -1 if it decreases, and 0 if it
is constant. Returns UnsetIntIndex if this is not valid.
|
| Name | Description | |
|---|---|---|
| CreateEdgeChainSharpness |
Builds a sequence of evenly changing sharpnesses for the edges of a chain.
| |
| EndSharpness |
Gets the sharpness at the start or the end of the edge.
| |
| EqualDelta |
Determines whether two sharpnesses have the same Delta and meet with
the same value.
| |
| EqualEndSharpness |
Determines whether two sharpnesses meet with the same value, that is, whether
s0.EndSharpness(1) equals s1.EndSharpness(0).
| |
| Equals(Object) |
Determines whether an object is a sharpness with the same end values as this one.
(Overrides ValueTypeEquals(Object).) | |
| Equals(SubDEdgeSharpness) |
Determines whether this sharpness has the same end values as another one.
| |
| EqualTrend |
Determines whether two sharpnesses have the same Trend and meet with
the same value.
| |
| FromConstantPercentage |
Creates a sharpness with the same value at both ends, from a percentage.
This is useful in user interface code that expresses sharpness as a percentage.
| |
| FromIntervalPercentage(Interval) |
Creates a sharpness that varies from one end of the edge to the other, from percentages.
This is useful in user interface code that expresses sharpness as a percentage.
| |
| FromIntervalPercentage(Double, Double) |
Creates a sharpness that varies from one end of the edge to the other, from percentages.
This is useful in user interface code that expresses sharpness as a percentage.
| |
| GetHashCode |
Gets a hash code for this sharpness.
(Overrides ValueTypeGetHashCode.) | |
| GetType | Gets the Type of the current instance. (Inherited from Object.) | |
| IsValidValue |
Determines whether a value can be used as an edge end sharpness.
| |
| Reversed |
Gets this sharpness with its two end values swapped.
| |
| Sanitize(Double) |
Verifies that sharpness is between 0.0 and MaximumValue, and snaps it
to an integer when it is within Tolerance of one.
| |
| Sanitize(Double, Double) |
Verifies that sharpness is between 0.0 and MaximumValue, and snaps it
to an integer when it is within Tolerance of one.
| |
| SharpnessFromNormalizedValue |
Converts a normalized slider value to an edge end sharpness value.
| |
| SharpnessFromSliderValue |
Converts a user facing slider value to an edge end sharpness value.
| |
| Subdivided |
Gets the sharpness this edge would have after one subdivision.
| |
| ToPercentage |
Converts a sharpness value to a percentage between 0.0 and 100.0.
| |
| ToPercentageText(Boolean) |
Describes this sharpness as a percentage, for user interface code.
A constant sharpness gives a single percentage, a variable one gives a range, and
an invalid one gives a warning sign.
| |
| ToPercentageText(Double) |
Describes a single end sharpness value as a percentage, for user interface code.
| |
| ToString |
Returns a string that represents this sharpness as a percentage.
(Overrides ValueTypeToString.) | |
| Union |
Gets the union of two sharpness ranges, ignoring the ones that are zero, a crease,
or not valid.
| |
| VertexSharpness |
Calculates the sharpness of a vertex from the sharp edges attached to it.
Vertices tagged as corners always have a sharpness of 0.0.
|
| Name | Description | |
|---|---|---|
| Equality |
Determines whether two sharpnesses have the same end values.
| |
| Inequality |
Determines whether two sharpnesses have different end values.
|
| Name | Description | |
|---|---|---|
| CreaseValue |
The value used to indicate that an edge is a crease, MaximumValue + 1.0.
This is deliberately not a valid sharpness value: a crease edge is not a sharp edge.
It exists because it is often convenient to use a single value to describe both.
| |
| MaximumValue |
The largest valid sharpness value, 4.0.
Valid SubD edge sharpness values are between 0.0 and MaximumValue.
| |
| SmoothValue |
The sharpness value of a smooth edge, 0.0.
| |
| Tolerance |
If a sharpness is within Tolerance of an integer value, it is snapped to that
integer value. See Sanitize(Double).
|