This include allows you to find points along the surface of any object.

To use it you must include "surface.inc". This will contains everything needed.
To trace the object call surface_traceSurface.

This macro can take a long time to parse depending on the resolution the object is traced at and the size of the object.
surface_traceSurface(traceObj, resolution, fileName, Variation)
traceObj:
The object use to find the surface.
resolution:
The resolution the object is traced at.
This is the number of divisions per 1 unit in the x, y and z axis.
fileName:
The results will be saved to this file.
The file contains a variable named surface_resolution which contains the resolution the object was traced at.
It also has another variable named surface_surfacePoints which is a 2 dimensional array.
Each item has the point from the surface of the object and the surface normal.
Variation:
The higher this value the more random the points are along the surface.

You can then use these points however you want. Two macros have been included to do this.
The surface_cover and surface_coverHair macros use the previously saved points to cover the object.

The surface_cover covers the object in another object.
This macro returns a union of all the objects.
surface_cover(fileName, obj, orientToSurface, sizeToSurface)
fileName:
The file where the results of surface_traceSurface are stored.
obj:
The object to place along the surface.
orientToSurface:
Either yes or no.
If yes the object will be rotated so that it points along the surface normal.
sizeToSurface:
Either yes or no.
If yes the object will be scaled so that it fits in alogn the surface.
The surface_coverHair covers the object hair.
This macro saves a variable to an include file.
surface_coverHair(fileName, outFile, hairName, hairLength, hairDivisions, Thickness, Variation)
fileName:
The file where the results of surface_traceSurface are stored.
outFile:
The file where the hair object will be stored. This file is then included into the scene.
hairName:
The name of the hair object that will be saved.
hairLength:
The length of the hair
hairDivisions:
The detail of the hair.
Thickness:
The thickness of the hair
Variation:
How random the direction of each hair is.