Refine SOP
Summary
The Refine SOP allows you to increase the number of CVs in any NURBS, Bzier, or polygonal surface or face without changing its shape. It is also used to decrease the number of CVs within a given tolerance (i.e. a simple but fast method of data reduction).
The Difference Between Refinement and Unrefinement
Refinement and unrefinement work both on faces (polygons, Bzier curves and NURBS curves) and surfaces (primitive meshes, Bzier surfaces and NURBS surfaces). To unrefine a face or a surface you need to specify a parametric interval (not just a single value as in refinement). This allows you to unrefine primitives within arbitrary intervals, either locally or globally. For example, to unrefine the whole primitive choose 0 and 1 as the two parametric boundaries; [0,0.5] will unrefine only the first parametric half of the primitive.
The interval boundaries are given by the First/Second U/V fields. Since refinement does not need an interval, the Second U/V fields are disabled by default.
The Tolerance control is only available for unrefinement, and not for refinement. Refinement does not need tolerances because it generates a curve or a surface that is mathematically identical to the original. Unrefinement, however, may tend to smooth out (or "melt") the original in a given area. In short, unrefinement is lossy; refinement isn't.
Contents
Parameters
Group /group
 If there are input groups, specifying a group name in this field will cause this SOP to act only upon the group specified. Accepts patterns, as described in Pattern Matching.
First U / Second U /domainu1 /domainu2
 This specifies a starting / ending location to complete the operation. Select this and a parametric U location between 0 and 1.
U Divisions /divsu
 If refining or subdividing, this option specifies the number of refines to be performed between First U and Second U.
First V / Second V /domainv1 /domainv2
 This specifies a starting / ending location to complete the operation. Select this and a parametric V location between 0 and 1.
V Divisions /divsv
 If refining or subdividing, this option specifies the number of refines to be performed between First V and Second V.
Refine Options
If enabled, will refine the primitive at the locations specified above. If the primitive is a NURBS, then a knot is inserted multiple times as described below.
NURBS Count U / V /refineu /refinev
 Number of knots to insert at each location in the U / V basis when refining NURBS.
Spacing /refinespace
 Uniform Domain Lengths  Refine at equal basis intervals if refining a spline.
 Uniform Arc Lengths  Each refinement is done at the centre of the maximum knot span (splines) or edge length (polygons).
Note: Uniform Domain Lengths should be selected if the domain ranges are animating, otherwise the inserted points will be undeterminable as different maximum lengths are encountered.
Unrefine Options
If enabled, will remove CVs from any NURBS curve or surface, polygon or mesh (points/ rows removed) between First U and Second U, and First V and Second V.
NURBS Count U / V /unrefineu /unrefinev
 Number of knots to remove at each location in the U / V basis if refining NURBS.
Tolerance U / V /tolu /tolv
 Only remove knots that do change the curve, polygon, or surface by more than this distance.
Subdivide Options
Subdivide refines a primitive such that the subdivision causes a sharp discontinuity if ever displaced. In essence subdivide is equivalent to refine for polygons and Bziers, since any refinement causes a potential discontinuity. In the case of a NURBS it is equivalent to a maximum refinement (i.e. count = primitive basis order  1).
Spacing /subdivspace
 Uniform Domain Lengths  Refine at equal basis intervals if refining a spline.
 Uniform Arc Lengths  Each refinement is done at the centre of the maximum knot span (splines) or edge length (polygons).
Note: Uniform Domain Lengths should be selected if the domain ranges are animating, otherwise the inserted points will be undeterminable as different maximum lengths are encountered.
Inputs / Geometry Types
Accepts any face type (polygon, NURBS curve, Bzier curve), or any hull type (mesh, NURBS surface, Bzier surface).
See Also
