function ActualTessellation(const Tessellation: Integer; const Dimension: Cardinal): Cardinal;
Calculate the tessellation (number of NURBS points generated). This follows X3D spec for "an implementation subdividing the surface into an equal number of subdivision steps". Give value of tessellation field, and count of controlPoints.
Order >= 2 (X3D and VRML 97 spec require this too).
Knot must have exactly PointsCount + Order items.
Weight will be used only if it has the same length as PointsCount. Otherwise, weight = 1.0 (that is, defining non-rational curve) will be used (this follows X3D spec).
Tangent, if non-nil, will be set to the direction at given point of the curve, pointing from the smaller to larger knot values. It will be normalized. This can be directly useful to generate orientations by X3D NurbsOrientationInterpolator node.
Order >= 2 (X3D and VRML 97 spec require this too).
Each xKnot must have exactly xDimension + Order items.
Weight will be used only if it has the same length as PointsCount. Otherwise, weight = 1.0 (that is, defining non-rational curve) will be used (this follows X3D spec).
Normal, if non-nil, will be set to the normal at given point of the surface. It will be normalized. You can use this to pass these normals to rendering. Or to generate normals for X3D NurbsSurfaceInterpolator node.
Calculate a default knot, if Knot doesn't already have required number of items. After this, it's guaranteed that Knot.Count is Dimension + Order (just as required by NurbsCurvePoint, NurbsSurfacePoint).