cure

cure spreads the nodes of one mesh edge over the whole of a 3D curve, from its first point to its last.

Syntax

cure imin jmin kmin imax jmax kmax curve

The arguments are those of cur: a region that is an edge and the number of a 3D curve that a curd defines before the part ends. A 0 in a minimum means the first reduced index of its direction and a 0 in a maximum the last.

What it does

cure puts the edge’s two end vertices at the two ends of the curve and places the nodes between them along the curve, spread by arc length. The edge’s own end positions do not matter. On a loop curve both ends lie at the first control point, so the edge covers the whole loop.

When James applies it

Step 2 of the hierarchy, as cur. cure is legal only in the Part phase.

Rules James adds

  • The region must be an edge and the curve must exist, as for cur.
  • The nodes are spread by arc length, as for cur.

Diagnostics

  • E0600: the region is not an edge.
  • E0601: the curve number is not defined.
  • E0102: a reduced index lies outside the part.
  • E0106: a minimum is larger than its maximum.

Example

The script tests/corpus/174-cure-entire-edge/input.tg, which make test runs:

c cure spreads the i edge along the whole of curve 1, end to end.
curd 1 lp3 0 0 0 1 0.3 0 3 0 0;;
block 1 5 9;1 3;1 2;0 1 2;0 1;0 1;
cure 1 1 1 3 1 1 1
endpart

The block’s edge runs from x = 0 to x = 2, but the curve ends at (3, 0, 0). The mesh has node 1 at (0, 0, 0) and node 9 at (3, 0, 0), the two ends of the curve, with the seven nodes between them spread along it.

See also

  • cur: puts the edge’s own ends at the closest points instead.
  • curf: cur and freezes the edge.
  • curd: defines the curve.
  • Shaping: attaching edges to curves.

James 0.3.1.

This site uses Just the Docs, a documentation theme for Jekyll.