Poly Class

From Derivative
Jump to navigation Jump to search

A Poly describes an instance of a single geometry polygon. It is an instance of a Prim Class.


Members[edit]

closedbool (Read Only):

Returns True if the poly is closed, False otherwise.

Methods[edit]

No operator specific methods.


Prim Class[edit]

Members[edit]

centertdu.Position :

Get or set the barycentric coordinate of this primitive. It is expressed as a tdu.Position object.

indexint (Read Only):

The primitive index in the list.

normaltdu.Vector (Read Only):

The calculated normal vector of this primitive, expressed as a tdu.Vector object.

ownerOP (Read Only):

The OP to which this object belongs.

weightfloat (Read Only):

The associated weight of the primitive. Only certain primitives, such as those created by the Metaball SOP can modify this value from its default of 2.0.

directiontdu.Vector (Read Only):

A normalized vector pointing from the centroid of the SOP to the centroid of this primitive.

mintdu.Position (Read Only):

The minimum coordinates of this primitive along each dimension, expressed as a tdu.Position object.

maxtdu.Position (Read Only):

The maximum coordinates of this primitive along each dimension, expressed as a tdu.Position object.

sizetdu.Position (Read Only):

The size of this primitive along each dimension, expressed as a tdu.Position object.

Methods[edit]

destroy(destroyPoints=True)None:

Destroy and remove the actual primitive this object refers to. This operation is only valid when the primitive belongs to a scriptSOP. Note: after this call, other existing Prim objects in this SOP may no longer be valid.

  • destroyPoints - (Keyword, Optional) If True, its points are destroyed as well, if false, they are simply detached. The argument is True by default.

eval(u, v)td.Position:

Evaluate the position on the primitive given the u,v coordinates. u,v should be in the range [0,1]. Note: Polygons and curves ignore the v parameter.

center = op('box1').prim[0].eval(0.5, 0.5)

Special Functions[edit]

len(Prim)int:

Returns the total number of vertices.

a = len(op('box1').prim[0])

[index]td.Vertex:

Get specific vertex given an integer index

n = op('box1').prims[5][0]

[row, col]td.Vertex:

Get specific vertex from a Mesh given integer row and column values.

v = op('grid1').prims[2,3]

Iteratortd.Vertex:

Iterate over each vertex.

for m in op('box1').prims[5]:
	# do something with m, which is a Vertex


TouchDesigner Build: