Copy POP
Summary
The Copy POP makes copies of its input using (1) the Number of Copies parameter that specifies the number of copies to make with the transform applied to each copy, and (2) a second-input Template POP where a copy is placed at each point of the template.
For each copy in (1), the transforms are cumulative, that is, the transform is applied to the transform of the previous copy, with no transform applied to the first copy.
Once (1) is done, then (2) is applied to the result.
The Template page chooses which attributes of the template are used to define the transform for each copy-per-template point.
The Template Attributes page determines what attributes are added to the output, and how the attributes are combinations of the first input and the template input, multiplying or adding them together.
If the number of copies is greater than 1, The Dimension of the first input is increased by one, and the number of dimensions is increased by the second (template) input's dimension. See Dimension.
See also: GLSL Copy POP.
Parameters - Copy Page
ncy - Sets the number of copies. If the template input is used, that's the number of copies per template point.
xord - ⊞ - Sets the overall transform order for the transformations.
- Scale Rotate Translate
srt-
- Scale Translate Rotate
str-
- Rotate Scale Translate
rst-
- Rotate Translate Scale
rts-
- Translate Scale Rotate
tsr-
- Translate Rotate Scale
trs-
rord - ⊞ - Sets the order of the rotations within the overall transform order.
- Rx Ry Rz
xyz-
- Rx Rz Ry
xzy-
- Ry Rx Rz
yxz-
- Ry Rz Rx
yzx-
- Rz Rx Ry
zxy-
- Rz Ry Rx
zyx-
t - ⊞ - Translate the points in the three axes.
- Translate
tx-
- Translate
ty-
- Translate
tz-
r - ⊞ - Rotate the points around the corresponding X, Y and Z axes. Angles are given in degrees.
- Rotate
rx-
- Rotate
ry-
- Rotate
rz-
s - ⊞ - These three fields scale the Source geometry in the three axes.
- Scale
sx-
- Scale
sy-
- Scale
sz-
p - ⊞ - The pivot point for the transform rotates and scales.
- Pivot
px-
- Pivot
py-
- Pivot
pz-
scale - Specifies a uniform scale factor in all axes.
copyid - ⊞ - Whether to output an attribute containing the copy index and where.
- CopyId Attribute
copyid-
- CopyId Attrib Name
copyidname- Sets the attribute scope when outputting the Copy Id attribute.
lookat - Orients the copied geometry (Z axis) to look at, or point to, the object component specified in the parameter.
upvector - ⊞ - Sets the up vector when setting up the look at transform.
- Up Vector
upvectorx-
- Up Vector
upvectory-
- Up Vector
upvectorz-
forwarddir - ⊞ - Determines the forward direction for look at transformation.
- +X
posx-
- -X
negx-
- +Y
posy-
- -Y
negy-
- +Z
posz-
- -Z
negz-
vlength - Enable preserving the original vector length after applying transformations.
dimension - ⊞ - Always add a dimension, or only add a dimesion when its size is 2 or more.
- When Template Points / Copies > 1
morethanone-
- Always
always-
Parameters - Template Page
dotemplatematrix - ⊞ - Whether to use a transform matrix attribute on the template points.
- Template Matrix Transform
dotemplatematrix-
- Transform Attribute
transformattr- Specifies the scope of the template attribute that holds the transform matrices.
templatexord - ⊞ - Sets the overall transform order for the template transformations.
- Scale Rotate Translate
srt-
- Scale Translate Rotate
str-
- Rotate Scale Translate
rst-
- Rotate Translate Scale
rts-
- Translate Scale Rotate
tsr-
- Translate Rotate Scale
trs-
templaterord - ⊞ - Sets the order of the X, Y and Z rotations within the overall template transform.
- Rx Ry Rz
xyz-
- Rx Rz Ry
xzy-
- Ry Rx Rz
yxz-
- Ry Rz Rx
yzx-
- Rz Rx Ry
zxy-
- Rz Ry Rx
zyx-
dotemplatetranslate - ⊞ - Whether to use a translate attribute on the template points.
- Template Translate
dotemplatetranslate-
- Template Translate Attribute
translateattr- The attribute scope for the translation base on the template input.
dotemplaterotate - ⊞ - Whether to use a rotate attribute on the template points.
- Template Rotate
dotemplaterotate-
- Template Rotate Attribute
rotateattr- The attribute scope for the rotation base on the template input.
dotemplatescale - ⊞ - Whether to use a scale attribute on the template points.
- Template Scale
dotemplatescale-
- Scale Attribute
scaleattrib- Input attribute scope for scaling.
dotemplatepivot - ⊞ - Whether to use a pivot attribute on the template points.
- Template Pivot
dotemplatepivot-
- Template Pivot Attribute
pivotattr- The attribute scope for the pivot base on the template input.
dotemplaterotateto - Enable align to vector rotation, using the template input as a reference.
templaterottoord - ⊞ - Sets the order of axis and align to vector rotations within the overall template transform.
- Rotate to Vector, then Transform
rottoxform-
- Rotate, then Rotate to Vector
rotaterotto-
- Rotate to Vector, then Rotate
rottorotate-
instanceforward - ⊞ - Base forward direction used to compute the rotation to vector.
- +X
posx-
- -X
negx-
- +Y
posy-
- -Y
negy-
- +Z
posz-
- -Z
negz-
vecattr - Input attribute used to compute the rotation to vector.
upvectoratype - ⊞ - Specifies the up vector source.
- Attribute
attribute-
- Constant
constant-
upattr - Defines the scope of the up attribute used for alignment with template vectors.
upconstant - ⊞ - Sets the up vector to align with the template vectors.
- Up Constant
upconstantx-
- Up Constant
upconstanty-
- Up Constant
upconstantz-
templateid - ⊞ - Output a template ID attribute to points, vertices or primitives.
- TemplateId Attribute
templateid-
- TemplateId Attrib Name
templateidname- Output attribute scope for the template Id.
Parameters - Template Attributes Page
doattr - Enable additional operations on template input attributes.
templateattr - Start of Sequential Parameter Blocks for attributes as combinations of the first input and the template input.
templateattr0op - ⊞ - Choose how to combine the template attribute with the matching attribute on the copy if it exists.
- Copy
copy-
- Multiply
mul-
- Add
add-
- Subtract
subtract-
templateattr0dest - ⊞ - Sets the attribute class where the template point attribute operation will happen.
- Point
point-
- Vertex
vertex-
- Primitive
primitive-
templateattr0names - ⊞ - Names of the attributes on the template input to use.
- *
*-
Parameters - Common Page
bypass - Pass through the first input to the output unchanged.
freeextragpumem - Free memory that has accumulated when output memory has grown and shrunk.
delinputattrs - Only output which attributes you specify in this POP - helps isolate attributes into a separate branch.
Operator Inputs
- Input 0: -
- Input 1: -
Info CHOP Channels
Extra Information for the Copy 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: