Transform the node coordinates of a mesh according to the transform specified in the mesh. Return an array containing the transformed coordinates.
module DVxform_coord {
Mesh+Iparam &in {
nnodes+req;
nspace+req;
};
int+Iparam comp[];
int+write coord_nspace;
float+Oparam coord[in.nnodes][coord_nspace];
method+notify_val+notify_inst upd_xform_coord = "DVxform_coord";
};
DVxform_coord takes a mesh as its input and returns an array containing the coordinates of this mesh, transformed according to the transformation matrix in the input mesh.
The output is a 2D array containing the X, Y and/or Z components of the mesh's coordinates after being transformed by the mesh's transformation matrix. If X (0) and Y (1) are selected, it outputs X 0 , Y 0 , X 1 , Y 1 , and so on. Note that the output coordinates are in general not the same as the coordinates of the mesh itself; they are transformed, so they are in "world coordinates", as you would see them in the viewer, because of the transformation step.
Mesh. The input mesh, containing the coordinates and the transformation matrix.
int[]. An array of up to three elements, selecting which of X, Y and/or Z to transform and output. Unselected elements are ignored. The behavior is undefined if this array has zero or more than three elements, or if the values are not in the range [0,2]. 0 selects X, 1 selects Y, and 2 selects Z.
float[][]. The output array, containing the transformed coordinates.