ON_SubDEdgeTag identifies the type of subdivision edge. Different tags use
different subdivision algorithms to calculate the subdivision point.
Namespace:
Rhino.Geometry
Assembly:
RhinoCommon (in RhinoCommon.dll)
Syntax Public Enumeration SubDEdgeTag
Members
| Member name | Value | Description |
---|
| Unset | 0 |
Not a valid edge tag and the default value for ON_SubDEdge.m_edge_tag.
This encourages developers to thoughtfully initialize ON_SubDEdge.m_edge_tag.
or use ON_SubD.UpdateAllTagsAndSectorCoefficients() to automatically set the
m_edge_tag values at an appropriate time.
|
| Smooth | 1 |
At least one the edge's vertices must be tagged as ON_SubDVertexTag::Smooth.
The edge must have exactly two faces.
The edge's subdivision point is (A1 + A2 + S(f1) + S(f2))/4, where
Ai = ON_SubDEdge.Vertex(i)->ControlNetPoint() and
S(fi) = ON_SubDEdge.Face(i)->SubdivisionPoint().
|
| Crease | 2 |
Both of the edge's vertices must be tagged as ON_SubDVertexTag::Dart,
ON_SubDVertexTag::Crease, or ON_SubDVertexTag::Corner.
(The vertex tags can be different.) The edge can have any number of faces.
The edge's subdivision point is (A1+A2)/2 where Ai = ON_SubDEdge.Vertex(i)->ControlNetPoint().
|
| SmoothX | 4 |
This tag appears only on level 0 edges that have exactly two neighboring faces
and both of the edge's vertices are tagged as ON_SubDVertexTag::Dart,
ON_SubDVertexTag::Crease, or ON_SubDVertexTag::Corner.
The level 1 subdivision point for a level 0 edge tagged as ON_SubDEdgeTag::SmoothX
is the standard smooth edge subdivision point.
When subdivided, the new subdivision vertex will be tagged
as ON_SubDVertexTag::Smooth and the subdivided edges will
be tagged as ON_SubDEdgeTag::Smooth.
The tag ON_SubDEdgeTag::SmoothX can only appear on a level 0 edge.
This tag exists because the ON_SubD subdivision
algorithm requires any edge with both end vertices
tagged as not smooth must be subdivided at its midpoint.
Sector iterators treat "SmoothX" edges as smooth.
Both edge m_sector_coefficient[] values must be set so the smooth subdivided edges will be valid.
|
See Also