A tube or pipe geometry—a right circular cylinder with a circular hole along its central axis.


class SCNTube : SCNGeometry


Figure 1

A tube and its properties

The outer surface of a tube is a cylinder. Define the size of the cylinder’s cross section in the x- and z-axis dimensions of its local coordinate space with the outerRadius property, and its extent in the y-axis dimension with the height property. A cylinder becomes a tube through the subtraction of a cylindrical volume along its central axis. Define the size of this circular hole using the tube’s innerRadius property. To position and orient a tube in a scene, attach it to the geometry property of an SCNNode object.

Control the level of detail with the radialSegmentCount and heightSegmentCount properties. A higher radial segment count creates a smoother curve for the tube’s circular inner and outer surfaces. A higher segment count in either direction produces more vertices, which can improve rendering quality for certain lighting models or custom shader effects, but at a cost to rendering performance.

A tube contains four SCNGeometryElement objects: one each for its base and top, one that wraps around its outer surface, and one that wraps around its inner surface. SceneKit can render each element using a different material. For details, see the materials property in SCNGeometry.


Creating a Tube

init(innerRadius: CGFloat, outerRadius: CGFloat, height: CGFloat)

Creates a tube geometry with the specified inner radius, outer radius, and height.

Adjusting a Tube’s Dimensions

var outerRadius: CGFloat

The radius of the tube’s outer circular cross section. Animatable.

var innerRadius: CGFloat

The radius of the circular hole through the tube. Animatable.

var height: CGFloat

The extent of the tube along its y-axis. Animatable.

Adjusting Geometric Detail

var radialSegmentCount: Int

The number of subdivisions around the circumference of the tube. Animatable.

var heightSegmentCount: Int

The number of subdivisions in the inner and outer surfaces of the tube along its y-axis. Animatable.


Inherits From

Conforms To

See Also

Basic Shapes

class SCNFloor

A plane that can optionally display a reflection of the scene above it.

class SCNBox

A six-sided polyhedron geometry whose faces are all rectangles, optionally with rounded edges and corners.

class SCNCapsule

A right circular cylinder geometry whose ends are capped with hemispheres.

class SCNCone

A right circular cone or frustum geometry.

class SCNCylinder

A right circular cylinder geometry.

class SCNPlane

A rectangular, one-sided plane geometry of specified width and height.

class SCNPyramid

A right rectangular pyramid geometry.

class SCNSphere

A sphere (or ball or globe) geometry.

class SCNTorus

A torus, or ring-shaped geometry.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software