Experimental:Line POP
Summary
The Line POP generates a line strip where you create a set of points using parameters, and then subdivide each segment using various interpolation methods. The default is two points with 20 divisions between them, linearly interpolated.
You add a point by creating a new sequential block on the Points page and specifying the position P
using its parameters. But each point can have any set of attributes: On the Setup page, use New Attribute to define all the attributes you want for the points.
The points are automatically connected as a line strip. On Setup, you can choose the Interpolation Method for the Divisions page, the default being Linear interpolation, but also possible are splines including Cardinal, BSpline, Beziers and Quadratic. With the spline types, the Line POP adds extra parameters on the Point page for setting the spline weight, tangents and/or tension. You can also choose to have a different interpolation method per-point.
On the Setup page, the toggle Multiple Line Strips lets you break the points into separate line strips, thus a parameter is added to the Points' sequential block that lets you indicate where the line breaks are. Also points can be repeated, and line strips can be open or closed.
The Divisions page subdivides the line strips in two stages. The first stage allows setting the total divisions for the line strip, or the divisions per-segment, or lets you divide by distance along the curves. The second stage lets you further re-sample the line strip, adding or removing points.
If you want to output your pre-divided point list, then do some other operations on it with other POPs, and then divide using the Line Divide POP, you can output the line strip(s) of the Line POP with the necessary attributes to be used by the Line Divide POP to control the divisions, including the interpolation type (SegMethod
, in integer form). SegMethod
is 0 for Linear, 1 for Cardinal and so on following the order in the Interpolation Method menu. It will also output attributes for weight and tangents etc. Look at the mclick popup info box to see the attributes it outputs.
See also Line Divide POP, Curve POP, Point POP, Primitive POP, Pattern POP.
Parameters - Setup Page
multiplelinestrips
-
interpmethodpersegment
-
interpmethod
- ⊞ -
- Linear
linear
-
- Cardinal (Interpolating)
cardinal
-
- BSpline
bspline
-
- Cubic Bezier With Tangents
cubicbeziertang
-
- Cubic Bezier
cubicbezier
-
- Quadratic Bezier
quadraticbezier
-
tension
-
enableweights
-
enabletangent
-
enablepointrepeat
-
closed
-
premultcolor
-
attr
-
attr0name
- ⊞ -
- Custom
custom
-
- N
n
-
- Color
color
-
- Tex
tex
-
- PointScale
pointscale
-
- LineWidth
linewidth
-
attr0customname
-
attr0type
- ⊞ -
- float
float
-
- double
double
-
- int
int
-
- uint
uint
-
- dir
dir
-
- dbl dir
ddir
-
attr0numcomps
- ⊞ -
- 1
1
-
- 2
2
-
- 3
3
-
- 4
4
-
attr0value
- ⊞ -
- Default Value
attr0valuer
-
- Default Value
attr0valueg
-
- Default Value
attr0valueb
-
- Default Value
attr0valuea
-
Parameters - Points Page
pt
-
pt0pos
- ⊞ -
- Position
pt0posx
-
- Position
pt0posy
-
- Position
pt0posz
-
pt1pos
- ⊞ -
- Position
pt1posx
-
- Position
pt1posy
-
- Position
pt1posz
-
Parameters - Divisions Page
output
- ⊞ -
- Subdivided Lines
subdivlines
-
- Control Points
ctrlpoints
-
divmethod
- ⊞ -
- Divisions per Line Strip
linestrip
-
- Divisions per Segment
segment
-
- Divisions Defined per Segment
defpersegment
-
- Distance between Points (per Segment)
distseg
-
divs
-
dist
-
addctrlpointattr
-
resamplemethod
- ⊞ -
- None
none
-
- Divisions per Line Strip
linestrip
-
- Distance between Points
dist
-
- Points as Keyframes
keyframes
-
resampledivs
-
resampledist
-
indvarattr
- ⊞ -
- P(0)
P(0)
-
indvarstep
-
resamplemaxverts
-
maxtries
-
Parameters - Common Page
bypass
-
delinputattrs
-
Info CHOP Channels
Extra Information for the Line 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: