Bend a straight pipe-like NURBS volume into a circular arc. Each control point is transformed relative to the center . Let the total bend angle in degrees be (input), and define the total bend angle in radians For each control point: Mapping: Knots and weights are preserved; only the control lattice is updated.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(nurbs_volume), | intent(inout) | :: | this |
NURBS volume to be bent. |
||
real(kind=rk), | intent(in) | :: | center(3) |
Pipe center coordinates . |
||
real(kind=rk), | intent(in) | :: | radius1 |
Inner radius of the pipe (not used in bending). |
||
real(kind=rk), | intent(in) | :: | radius2 |
Outer radius of the pipe (not used in bending). |
||
real(kind=rk), | intent(in) | :: | length |
Length of the straight pipe segment before bending. |
||
real(kind=rk), | intent(in) | :: | rbend |
Bend radius , i.e. distance from the bend centerline. |
||
real(kind=rk), | intent(in) | :: | angle_deg |
Bend angle in degrees . |