#include <FractureToolsStructs.h>
Public Types | |
enum | Order { XYZ, YZX, ZXY, ZYX, YXZ, XZY, Through } |
Public Member Functions | |
SliceParameters () | |
void | setToDefault () |
Public Attributes | |
unsigned | order |
unsigned | splitsPerPass [3] |
float | linearVariation [3] |
float | angularVariation [3] |
NoiseParameters | noise [3] |
The slicing parameters for X, Y, and Z slicing of a mesh.
FractureTools::SliceParameters::SliceParameters | ( | ) | [inline] |
Constructor sets defaults
void FractureTools::SliceParameters::setToDefault | ( | ) | [inline] |
Sets all NoiseParameters to their defaults: order = XYZ; splitsPerPass[0] = splitsPerPass[1] = splitsPerPass[2] = 1; linearVariation[0] = linearVariation[1] = linearVariation[2] = 0.1f; angularVariation[0] = angularVariation[1] = angularVariation[2] = 20.0f*3.1415927f/180.0f; noise[0].setToDefault(); noise[1].setToDefault(); noise[2].setToDefault();
Variation in the slice surface angle along each axis. 0 variation means the slice surfaces are axis-aligned. Otherwise, the surface normal will be varied randomly, with angle to the axis somewhere within the given variation (in radians).
Variation in slice position along each axis. This is a relative quantity. linearVariation[axis] = 0 means the slicing offsets are evenly spaced across the mesh along the axis. linearVariation[axis] = 1 means the slicing offsets are randomly chosen in a range of width 1/(splitsPerPass[axis]+1) times the width of the mesh along the axis.
The noise for each slicing direction
The slicing order (see the Order enum)
unsigned FractureTools::SliceParameters::splitsPerPass[3] |
How many times to slice along each axis