Experimental:Tube POP
Summary
The Tube POP creates rows and columns of points in a cylinder or tube shape. The points can be connected with a variety of primitives using the Connectivity menu.
The bottom and top of the tube each have a radius parameter allowing for a tapered tube, in addition to the height parameter.
The Connectivity menu lets you output triangles, alternating triangles, quads, lines, line strips, point primitives or no primitives (None, only points).
You specify number of rows and columns. Columns refers to the divisions around the circles, Rows to the divisions along the sides.
In the Connectivity menu you can create lines and line strips along Rows, Columns or both merged together.
The tube is symmetric around an axis, Y by default, but the tube can be post-rotated and post-translated using the Rotate and Translate parameters.
Anchor will line up the left, center or right side of the tube to X=0. Similar for Y and Z.
The Details page lets you make a partial cylinder by specifying arcs with any starting/ending angle.
The End Caps toggle will add triangles or quads to fill the end caps and make the tube a closed volume, which still preserves the Dimension since no points are added or removed, only primitives are added.
Dimension: When the tube is passed to other POPs it cannot be known for certain how many rows and columns were specified. However the Tube POP (and other generator POPs) output its Dimensions as metadata to all POPs connected to it, indicating its organizations of points in the points list. A tube has dimensions numCols numRows
, which can be used by built-in attributes like _Dim[]
or by GLSL code.
You can output point or vertex normals (creating the N
attribute), and you can output point or vertex texture coordinates (Tex
attribute).
The Tube POP takes an input which will cause the starting tube to have the same bounding box as the bounding box of the input. Then turning on Modify Bounds lets you further transform the tube.
See also Grid POP, Sphere POP, Torus POP, Revolve POP, Dimension
Parameters - Tube Page
surftype
- ⊞ -
- None
none
-
- Rows
rows
-
- Columns
cols
-
- Rows and Columns
rowcol
-
- Triangles
triangles
-
- Alternating Triangles
alttriangles
-
- Quadrilaterals
quads
-
- Point Prims
points
-
linetype
- ⊞ -
- Line Strip
linestrip
-
- Lines
lines
-
orient
- ⊞ -
- X Axis
x
-
- Y Axis
y
-
- Z Axis
z
-
modifybounds
-
rad
- ⊞ -
- Radius
radx
-
- Radius
rady
-
height
-
cols
-
rows
-
anchoru
-
anchorv
-
anchorw
-
t
- ⊞ -
- Translate
tx
-
- Translate
ty
-
- Translate
tz
-
r
- ⊞ -
- Rotate
rx
-
- Rotate
ry
-
- Rotate
rz
-
texture
- ⊞ -
- None
none
-
- Point
point
-
- Vertex
vert
-
normal
- ⊞ -
- None
none
-
- Point
pointNormals
-
- Vertex
vertNormals
-
Parameters - Detail Page
closedu
-
angleu
- ⊞ -
- Angle U
beginangleu
-
- Angle U
endangleu
-
endcaps
-
Parameters - Common Page
bypass
-
delinputattrs
-
Operator Inputs
- Input 0: -
Info CHOP Channels
Extra Information for the Tube POP can be accessed via an Info CHOP.
Common POP Info Channels
Common Operator Info Channels
- total_cooks - Number of times the operator has cooked since the process started.
- cook_time - Duration of the last cook in milliseconds.
- cook_frame - Frame number when this operator was last cooked relative to the component timeline.
- cook_abs_frame - Frame number when this operator was last cooked relative to the absolute time.
- cook_start_time - Time in milliseconds at which the operator started cooking in the frame it was cooked.
- cook_end_time - Time in milliseconds at which the operator finished cooking in the frame it was cooked.
- cooked_this_frame - 1 if operator was cooked this frame.
- warnings - Number of warnings in this operator if any.
- errors - Number of errors in this operator if any.
TouchDesigner Build: