Close

Experimental:Primitive POP

Summary

The Primitive POP lets you manually create primitives. Primitives are made from points, so it takes an optional input POP, from which you can delete its primitives and create new ones. Then you can add a set of new points manually using blocks of sequential parameters on the Points page.

Next on the Primitives page you create new triangles, quads, lines, line strips and point primitives. When Method is By Set, and Primitive Type is Triangles, every 3 points creates a triangle. When Method is By Pattern, the points are selected by Pattern Matching, for example selecting Line Strip and pattern [0-9] creates a 10-point line strip.

On the Setup page the points can be given any new built-in or custom attributes.

On the Setup page you can remove the original primitives from the input POP by turning on turn on Delete Primitives + Keep Points.

On the Post page you can remove unused points in the result or turn them into point primitives.

When you create new primitives from the consolidated set of points, using sequential blocks you can create any combination of primitive types, and each primitive's vertices can be manually-specified or generated using numeric patterns.

See also Point POP which is basically the Points page of the Primitive POP.

You can re-connect a set of existing points by connecting a POP to the input, turning on Delete Primitives and Keep Points, adding no new points, then creating new primitives on the Primitive page.

To create a Point primitive per point, on the Primitive page, change Type to Point.

PythonIcon.pngprimitivePOP_Class


Parameters - Setup Page

Delete Primitives and Keep Points keep -

Add Points addpts -

Pre-Multiply RGB by Alpha premultcolor -

New Attribute attr -
Name attr0name - -
  • Custom custom -
  • N n -
  • Color color -
  • Tex tex -
  • PointScale pointscale -
  • LineWidth linewidth -

Custom Name attr0customname -

Type attr0type - -
  • float float -
  • double double -
  • int int -
  • uint uint -
  • dir dir -
  • dbl dir ddir -

Number of Components attr0numcomps - -
  • 1 1 -
  • 2 2 -
  • 3 3 -
  • 4 4 -

Default Value attr0value - -
  • Default Value attr0valuer -
  • Default Value attr0valueg -
  • Default Value attr0valueb -
  • Default Value attr0valuea -


Parameters - Points Page

Delete Primitives and Keep Points keep -

Point pt -
Position pt0pos - -
  • Position pt0posx -
  • Position pt0posy -
  • Position pt0posz -


Parameters - Primitives Page

Method method - -
  • None none -
  • By Set set -
  • By Pattern pattern -

Primitives Type setprimtype - -
  • None none -
  • Points points -
  • Lines lines -
  • Triangles triangles -
  • Quads quads -
  • Line Strip linestrip -
  • Closed Line Strip closedlinestrip -

Set set - -
  • All Points all -
  • Groups of N Points group -
  • Skip Every Nth Point skip -

N n -

Primitive prim -
Type prim0type - -
  • None none -
  • Points points -
  • Lines lines -
  • Triangles triangles -
  • Quads quads -
  • Line Strip linestrip -
  • Closed Line Strip closedlinestrip -

Point Index Pattern prim0pattern -


Parameters - Post Page

Unused Points unusedpointsop - -
  • Do Nothing donothing -
  • Remove remove -
  • Turn into Point Prims pointprims -

Copy Topology Info Back to CPU cpureadback -


Parameters - Common Page

Bypass bypass -

Delete Input Attributes delinputattrs -


Operator Inputs

  • Input 0: -


Info CHOP Channels

Extra Information for the Create 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: