HDK
|
#include <GU_SDF.h>
Public Types | |
enum | sdfMode { RAY_INTERSECT, METAFIELD, MINIMUM, POINT_CLOUD, IMPLICIT_BOX, IMPLICIT_SPHERE, IMPLICIT_PLANE, VOLUME, VOLUMESAMPLE, VOLUMESAMPLEANDREBUILD, HEIGHTFIELD } |
GU_SDFParms All the parameters to build an SDF can be set using this class
enum GU_SDFParms::sdfMode |
GU_SDFParms::GU_SDFParms | ( | ) |
|
virtual |
void GU_SDFParms::getBBox | ( | UT_BoundingBox & | bbox | ) | const |
int GU_SDFParms::getFixSigns | ( | ) | const |
bool GU_SDFParms::getForceBounds | ( | ) | const |
bool GU_SDFParms::getInvert | ( | ) | const |
bool GU_SDFParms::getLaserScan | ( | ) | const |
bool GU_SDFParms::getMatchSourceSign | ( | ) | const |
fpreal GU_SDFParms::getMaxDistance | ( | ) | const |
sdfMode GU_SDFParms::getMode | ( | ) | const |
int GU_SDFParms::getNumNeighbour | ( | ) | const |
fpreal GU_SDFParms::getOffset | ( | ) | const |
const UT_Vector3& GU_SDFParms::getPlaneAxis | ( | ) | const |
fpreal GU_SDFParms::getTol | ( | ) | const |
UT_VoxelArrayF* GU_SDFParms::getVolume | ( | ) | const |
bool GU_SDFParms::hasBBox | ( | ) | const |
void GU_SDFParms::setBBox | ( | const UT_BoundingBox & | bbox | ) |
Sets the bounding box which the SDF will be sampled in. Note that the bounding box should fully contain the geometry or settings like ForceBounds become meaningless. If this method is not called, the bounding box will be set to the bounding box of the GDP increased by the expandBounds function.
Sets the divisions used by the SDF. The given values represent the number of cells that will be present in each direction. The SDF samples the center of the cells to determine their values.
FixSigns uses consensus methods to recover from holes.
void GU_SDFParms::setForceBounds | ( | bool | forcebounds | ) |
ForceBounds forces all of the outermost voxels to be marked as outside. This only applies when FixSigns is set.
void GU_SDFParms::setInvert | ( | bool | invert | ) |
Determines if we should invert the sense of the SDFs field.
void GU_SDFParms::setLaserScan | ( | bool | laserscan | ) |
LaserScan will consider only the most extreme intersections along each axis, allowing geometry with bad normals or holes to process. This is only used with ray-based methods.
void GU_SDFParms::setMatchSourceSign | ( | ) |
Sets the maximum distance to which the SDF will be evaluated. Theoritically, things outside this distance will be left at +/- infinitity. In practice, this is still not used.
These set the general method by which the SDF is computed.
Sets the number of neighbours inspected for doing MLS computation when constructing from a point cloud.
void GU_SDFParms::setPlaneAxis | ( | const UT_Vector3 & | axis | ) |
This sets the axis used for planar SDFs.
Sets the tolerance to be used for ray intersection This is multiplied by the bounding box size of the sdf to determine the final tolerance.
void GU_SDFParms::setVolume | ( | UT_VoxelArrayF * | vol | ) |
Sets the volume used for building the sdf. This must match the resolution of the sdf's parameters.
|
inline |