functions.inc - Common Parameters

### 7.7.1 functions.inc - Common Parameters

Cross Section Type:
In the helixes and spiral functions, the 9th parameter is the cross section type.
Some shapes are:

`0` :
  square
`0.0 to 1.0` :
  rounded squares
`1` :
  circle
`1.0 to 2.0` :
  rounded diamonds
`2` :
  diamond
`2.0 to 3.0` :
  partially concave diamonds
`3` :
  concave diamond

#### 7.7.1.1 Field Strength

The numerical value at a point in space generated by the function is multiplied by the Field Strength. The set of points where the function evaluates to zero are unaffected by any positive value of this parameter, so if you're just using the function on its own with threshold = 0, the generated surface is still the same.
In some cases, the field strength has a considerable effect on the speed and accuracy of rendering the surface. In general, increasing the field strength speeds up the rendering, but if you set the value too high the surface starts to break up and may disappear completely.
Setting the field strength to a negative value produces the inverse of the surface, like making the function negative.

#### 7.7.1.2 Field Limit

This won't make any difference to the generated surface if you're using threshold that's within the field limit (and will kill the surface completely if the threshold is greater than the field limit). However, it may make a huge difference to the rendering times.
If you use the function to generate a pigment, then all points that are a long way from the surface will have the same color, the color that corresponds to the numerical value of the field limit.

#### 7.7.1.3 SOR Switch

If greater than zero, the curve is swept out as a surface of revolution (SOR).
If the value is zero or negative, the curve is extruded linearly in the Z direction.

#### 7.7.1.4 SOR Offset

If the SOR switch is on, then the curve is shifted this distance in the X direction before being swept out.

#### 7.7.1.5 SOR Angle

If the SOR switch is on, then the curve is rotated this number of degrees about the Z axis before being swept out.

#### 7.7.1.6 Invert Isosurface

Sometimes, when you render a surface, you may find that you get only the shape of the container. This could be caused by the fact that some of the build in functions are defined inside out.
We can invert the isosurface by negating the whole function:
`-(function) - threshold`