Post

NurbsPatchSurface

NurbsPatchSurface

Overview

NurbsPatchSurface defines a contiguous 3D Non-Uniform Rational B-Spline (NURBS) surface.

The NurbsPatchSurface node belongs to the NURBS component and requires at least level 1, its default container field is geometry. It is available from X3D version 3.0 or higher.

Hierarchy

1
2
3
4
5
+ X3DNode
  + X3DGeometryNode
    + X3DParametricGeometryNode
      + X3DNurbsSurfaceGeometryNode
        + NurbsPatchSurface

Fields

SFNode [in, out] metadata NULL [X3DMetadataObject]

Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.

Hint

SFInt32 [in, out] uTessellation 0 (-∞,∞)

Hint for surface tessellation.

SFInt32 [in, out] vTessellation 0 (-∞,∞)

Hint for surface tessellation.

SFBool [ ] solid TRUE

Setting solid true means draw only one side of polygons (backface culling on), setting solid false means draw both sides of polygons (backface culling off).

Hints

  • Mnemonic “this geometry is solid like a brick” (you don’t render the inside of a brick).
  • If in doubt, use solid=’false’ for maximum visibility.
  • AccessType relaxed to inputOutput in order to support animation and visualization.

Warning

  • Default value true can completely hide geometry if viewed from wrong side!

SFBool [ ] uClosed FALSE

Whether opposite surface sides are closed (seamless) across u dimension.

SFBool [ ] vClosed FALSE

Whether opposite surface sides are closed (seamless) across u dimension.

SFInt32 [ ] uOrder 3 [2,∞)

Define order of surface by polynomials of degree = order-1.

SFInt32 [ ] vOrder 3 [2,∞)

Define order of surface by polynomials of degree = order-1.

SFInt32 [ ] uDimension 0 [0,∞)

Number of control points in u dimension.

SFInt32 [ ] vDimension 0 [0,∞)

Number of control points in v dimension.

MFDouble [ ] uKnot [ ] (-∞,∞)

Knot vector, where size = number of control points + order of curve.

MFDouble [ ] vKnot [ ] (-∞,∞)

Knot vector, where size = number of control points + order of curve.

MFDouble [in, out] weight [ ] (0,∞)

Vector assigning relative weight value to each control point.

SFNode [in, out] texCoord NULL [X3DTextureCoordinateNode|NurbsTextureCoordinate]

Single contained NurbsTextureCoordinate, TextureCoordinate, TextureCoordinateGenerator or MultiTextureCoordinate node that can specify coordinates for texture mapping onto corresponding geometry.

SFNode [in, out] controlPoint NULL [X3DCoordinateNode]

Single contained Coordinate or CoordinateDouble node that can specify control points for NURBS geometry definitions.

Example

See Also

This post is licensed under CC BY 4.0 by the author.