3ds Max C++ API Reference
Loading...
Searching...
No Matches
MaxOpenVDBInterface Class Referenceabstract

#include <MaxOpenVDBInterface.h>

+ Inheritance diagram for MaxOpenVDBInterface:

Public Types

enum  FilterType { kFilterTypeGaussian = 0 , kFilterTypeMedian , kFilterTypeMean , kTotalFilterTypes }
 
enum  BooleanOperationType { kBooleanTypeUnion = 0 , kBooleanTypeAMinusB , kBooleanTypeIntersection , kTotalBooleanOperationTypes }
 
enum  VDBGridType {
  kGridTypeUnknown = 0 , kGridTypeLevelSet = 1 , kGridTypeFogVolume = 2 , kGridTypeStaggered = 3 ,
  kTotalVDBGridTypes
}
 
- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled }
 

Public Member Functions

 MaxOpenVDBInterface ()
 
virtual ~MaxOpenVDBInterface ()
 
virtual bool PrepareVolume (VDBHandle &handle, float voxelSize=1.0f, float halfWidth=DEFAULT_VDB_HALFWIDTH)=0
 Prepare an OpenVDB volume and return a handle to it.
 
virtual bool CloneVolume (VDBHandle fromHandle, VDBHandle &cloneHandle)=0
 Copy one OpenVDB volume to another.
 
virtual bool VolumeFileInfo (const TSTR &filename, int &numberOfGrids, IntTab &gridTypes)=0
 Retrieve information from an OpenVDB .vdb file.
 
virtual bool LoadVolume (VDBHandle handle, const TSTR &filename, int index=0)=0
 Loads a volume grid from a .vdb file.
 
virtual bool SaveVolume (VDBHandle handle, const TSTR &filename, const TSTR &gridName)=0
 Save an OpenVDB volume to a .vdb file.
 
virtual bool DisposeVolume (VDBHandle handle)=0
 Delete an OpenVDB volume from memory.
 
virtual bool VolumeBoolean (VDBHandle handleA, VDBHandle handleB, BooleanOperationType operation)=0
 Perform a Boolean operation on OpenVDB volumes.
 
virtual bool DilateVolume (VDBHandle gridHandle, float amount, VDBHandle maskHandle=-1)=0
 Dilate a volume by a given amount, with optional masking.
 
virtual bool ErodeVolume (VDBHandle gridHandle, float amount, VDBHandle maskHandle=-1)=0
 Erode a volume by a given amount, with optional masking.
 
virtual bool FilterVolume (VDBHandle gridHandle, FilterType type, int width, VDBHandle maskHandle=-1)=0
 Perform filtering (smoothing) on a volume.
 
virtual bool ClearVolume (VDBHandle handle)=0
 Clears a volume to empty.
 
virtual bool VolumeToMesh (VDBHandle handle, ::Mesh &meshOut, const Matrix3 &tm=Matrix3(), float adaptivity=0.0f, bool relaxDisoriented=false)=0
 Convert a volume to a mesh.
 
virtual bool CreateMask (VDBHandle gridHandle, float voxelSize, const Matrix3 &tm, float threshold, Texmap *map, TimeValue t, VDBHandle maskHandle)=0
 Create a mask volume to match a given volume.
 
virtual bool PointsSRToVolume (const Tab< Point3 * > &points, float radius, float voxelSize, VDBHandle handle)=0
 Creates an SDF volume containing points of a fixed size.
 
virtual bool PointsSRToVolume (const Tab< Point3 > &points, float radius, float voxelSize, VDBHandle handle)=0
 Creates an SDF volume containing points of a fixed size.
 
virtual bool PointsMRToVolume (const Tab< Point3 * > &points, const Tab< float > &radii, float voxelSize, VDBHandle handle)=0
 Creates an SDF volume containing points of varying sizes.
 
virtual bool PointsMRToVolume (const Tab< Point3 > &points, const Tab< float > &radii, float voxelSize, VDBHandle handle)=0
 Creates an SDF volume containing points of varying sizes.
 
virtual bool MeshToVolume (const ::Mesh &meshIn, float voxelSize, int handle, const Matrix3 &tm=Matrix3())=0
 Converts a mesh to a volume.
 
virtual bool PointsSRToMesh (const Tab< Point3 * > &points, float radius, float voxelSize, ::Mesh &meshOut, float adaptivity=0.0f, bool relaxDisoriented=false)=0
 Creates an SDF volume containing points of a fixed size and outputs the result to a mesh.
 
virtual bool PointsSRToMesh (const Tab< Point3 > &points, float radius, float voxelSize, ::Mesh &meshOut, float adaptivity=0.0f, bool relaxDisoriented=false)=0
 Creates an SDF volume containing points of a fixed size and outputs the result to a mesh.
 
virtual bool PointsMRToMesh (const Tab< Point3 * > &points, const Tab< float > &radii, float voxelSize, ::Mesh &meshOut, float adaptivity=0.0f, bool relaxDisoriented=false)=0
 Creates an SDF volume containing points of varying sizes and outputs the result to a mesh.
 
virtual bool PointsMRToMesh (const Tab< Point3 > &points, const Tab< float > &radii, float voxelSize, ::Mesh &meshOut, float adaptivity=0.0f, bool relaxDisoriented=false)=0
 Creates an SDF volume containing points of varying sizes and outputs the result to a mesh.
 
virtual bool MeshToVolumeToMesh (const ::Mesh &meshIn, float voxelSize, ::Mesh &meshOut, float adaptivity=0.0f, bool relaxDisoriented=false)=0
 Converts a mesh to a volume then back to a mesh (round trip)
 
virtual bool TestPointInsideLevelSet (VDBHandle gridHandle, const Point3 &point, bool &insideVolumeOut)=0
 Test whether a given point in space is inside a level set.
 
virtual bool TestPointsInsideLevelSet (VDBHandle gridHandle, const Tab< Point3 > &points, BitArray &insideVolumeOut)=0
 Test a set of points in space to see which are inside a level set.
 
virtual bool TestPointsInsideLevelSet (VDBHandle gridHandle, const Tab< Point3 * > &points, BitArray &insideVolumeOut)=0
 Test a set of points in space to see which are inside a level set.
 
- Public Member Functions inherited from FPInterfaceDesc
CoreExport FPInterfaceDesc ()
 
CoreExport FPInterfaceDesc (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, ULONG flag,...)
 
CoreExport ~FPInterfaceDesc ()
 
virtual void Init ()
 
LifetimeType LifetimeControl ()
 
virtual BaseInterfaceGetInterface (Interface_ID id)
 
CoreExport void LoadDescriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *pCD, ULONG flag,...)
 
CoreExport void AppendFunction (int id,...)
 Add a new function to this interface descriptor.
 
CoreExport void AppendProperty (int id,...)
 Add a new property to this interface descriptor.
 
CoreExport void AppendEnum (int id,...)
 Add a new enum to this interface descriptor.
 
CoreExport void SetClassDesc (ClassDesc *i_cd)
 
CoreExport va_list check_fn (va_list ap, int id)
 
CoreExport va_list scan_fn (va_list ap, int id, int index)
 
CoreExport va_list check_prop (va_list ap, int id)
 
CoreExport va_list scan_prop (va_list ap, int id, int index)
 
CoreExport va_list check_enum (va_list ap, EnumID id)
 
CoreExport va_list scan_enum (va_list ap, EnumID id, int index)
 
FPInterfaceDescGetDesc ()
 
Interface_ID GetID ()
 
CoreExport FPFunctionDefGetFnDef (FunctionID fid)
 
ActionTableGetActionTable ()
 
CoreExport void EnableActions (BOOL onOff)
 
virtual CoreExport HINSTANCE HInstance ()
 
virtual CoreExport const MCHARGetRsrcString (StringResID id)
 
- Public Member Functions inherited from FPInterface
virtual BaseInterfaceGetInterface (Interface_ID id)
 
virtual FPInterfaceDescGetDesc ()=0
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPParams *params)
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL)
 
virtual CoreExport FunctionID FindFn (const MCHAR *name)
 
virtual CoreExport BOOL IsEnabled (FunctionID actionID)
 
virtual CoreExport BOOL IsChecked (FunctionID actionID)
 
virtual CoreExport BOOL IsVisible (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsEnabled (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsChecked (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsVisible (FunctionID actionID)
 
virtual ActionTableGetActionTable ()
 
virtual void EnableActions (BOOL onOff)
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor.
 
UtilExport BaseInterfaceGetInterface (Interface_ID id) override
 
virtual UtilExport Interface_ID GetID ()
 
virtual LifetimeType LifetimeControl ()
 
virtual bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void ReleaseInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=nullptr)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor.
 
virtual UtilExport BaseInterfaceGetInterface (Interface_ID id)
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned.
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned.
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned.
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects.
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator.
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator.
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary.
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary.
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc.
 
- Public Attributes inherited from FPInterfaceDesc
Interface_ID ID
 
MSTR internal_name
 
StringResID description
 
ClassDesccd
 
USHORT flags
 
Tab< FPFunctionDef * > functions
 
Tab< FPPropDef * > props
 
Tab< FPEnum * > enumerations
 
MSPluginClasspc
 
Rolloutrollout
 
ActionTableaction_table
 
- Static Public Attributes inherited from FPInterface
static CoreExport FPInterfaceDesc nullInterface
 
- Protected Member Functions inherited from FPInterfaceDesc
CoreExport void load_descriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, USHORT flag, va_list ap)
 
- Protected Member Functions inherited from FPInterface
virtual FPStatus _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p)
 

Member Enumeration Documentation

◆ FilterType

enum FilterType
Enumerator
kFilterTypeGaussian 
kFilterTypeMedian 
kFilterTypeMean 
kTotalFilterTypes 
29 {
33 // Must be last
35 };
@ kTotalFilterTypes
Definition: MaxOpenVDBInterface.h:34
@ kFilterTypeMean
Definition: MaxOpenVDBInterface.h:32
@ kFilterTypeGaussian
Definition: MaxOpenVDBInterface.h:30
@ kFilterTypeMedian
Definition: MaxOpenVDBInterface.h:31

◆ BooleanOperationType

Enumerator
kBooleanTypeUnion 
kBooleanTypeAMinusB 
kBooleanTypeIntersection 
kTotalBooleanOperationTypes 
36 {
40 // Must be last
42 };
@ kBooleanTypeIntersection
Definition: MaxOpenVDBInterface.h:39
@ kBooleanTypeUnion
Definition: MaxOpenVDBInterface.h:37
@ kBooleanTypeAMinusB
Definition: MaxOpenVDBInterface.h:38
@ kTotalBooleanOperationTypes
Definition: MaxOpenVDBInterface.h:41

◆ VDBGridType

Enumerator
kGridTypeUnknown 
kGridTypeLevelSet 
kGridTypeFogVolume 
kGridTypeStaggered 
kTotalVDBGridTypes 
43 {
48 // Must be last
50 };
@ kGridTypeLevelSet
Definition: MaxOpenVDBInterface.h:45
@ kGridTypeFogVolume
Definition: MaxOpenVDBInterface.h:46
@ kGridTypeUnknown
Definition: MaxOpenVDBInterface.h:44
@ kTotalVDBGridTypes
Definition: MaxOpenVDBInterface.h:49
@ kGridTypeStaggered
Definition: MaxOpenVDBInterface.h:47

Constructor & Destructor Documentation

◆ MaxOpenVDBInterface()

MaxOpenVDBInterface ( )
inline
51: FPInterfaceDesc(OpenVDBInterfaceID, _T("OpenVDBInterface"), 0, NULL, FP_CORE, p_end) {}
#define OpenVDBInterfaceID
Definition: MaxOpenVDBInterface.h:19
#define NULL
Definition: autoptr.h:18
CoreExport FPInterfaceDesc()
@ p_end
Signals the end of the "required_param_specs" entry in a parameter block descriptor.
Definition: paramtype.h:1018
#define FP_CORE
Definition: ifnpub.h:522

◆ ~MaxOpenVDBInterface()

virtual ~MaxOpenVDBInterface ( )
inlinevirtual
52{}

Member Function Documentation

◆ PrepareVolume()

virtual bool PrepareVolume ( VDBHandle handle,
float  voxelSize = 1.0f,
float  halfWidth = DEFAULT_VDB_HALFWIDTH 
)
pure virtual

Prepare an OpenVDB volume and return a handle to it.

Parameters:
Parameters
handle(out) Unique handle that will refer to this volume. Use DisposeVolume to dispose of the volume when you are finished with it. NOTE: All volumes are automatically disposed of on Max reset.
voxelSize(in) The voxel size that this volume uses
halfWidth(in) The half-width for the level set
Returns
true if successful, false if not

◆ CloneVolume()

virtual bool CloneVolume ( VDBHandle  fromHandle,
VDBHandle cloneHandle 
)
pure virtual

Copy one OpenVDB volume to another.

Parameters:
Parameters
fromHandleThe handle of the VDB volume to clone
cloneHandle(out) Unique handle that will refer to the volume's clone
Returns
true if successful, false if not

◆ VolumeFileInfo()

virtual bool VolumeFileInfo ( const TSTR filename,
int numberOfGrids,
IntTab gridTypes 
)
pure virtual

Retrieve information from an OpenVDB .vdb file.

Parameters:
Parameters
filename(in) The .vdb file name
numberOfGridsReturns the number of grids in the .vdb file
gridTypesReturns a table with a grid type per grid in the file
See also
VDBGridType
Returns
true if successful, false if not

◆ LoadVolume()

virtual bool LoadVolume ( VDBHandle  handle,
const TSTR filename,
int  index = 0 
)
pure virtual

Loads a volume grid from a .vdb file.

Parameters:
Parameters
handle(in) Handle of the VDB volume that will receive the loaded grid
filename(in) The .vdb file name
index(in) The index of the grid to load into the volume
Returns
true if successful, false if not

◆ SaveVolume()

virtual bool SaveVolume ( VDBHandle  handle,
const TSTR filename,
const TSTR gridName 
)
pure virtual

Save an OpenVDB volume to a .vdb file.

Parameters:
Parameters
handle(in) Handle of the VDB volume that contains the grid to save
filename(in) The .vdb file name
gridName(in) The name to assign the volume grid in the .vdb file
Returns
true if successful, false if not

◆ DisposeVolume()

virtual bool DisposeVolume ( VDBHandle  handle)
pure virtual

Delete an OpenVDB volume from memory.

Parameters:
Parameters
handleHandle of the VDB volume to delete
Returns
true if successful, false if not

◆ VolumeBoolean()

virtual bool VolumeBoolean ( VDBHandle  handleA,
VDBHandle  handleB,
BooleanOperationType  operation 
)
pure virtual

Perform a Boolean operation on OpenVDB volumes.

Parameters:
Parameters
handleAHandle of the VDB volume that contains operand A and will receive the result
handleBHandle of the VDB volume that contains operand B; empty after the operation.
operationThe Boolean operation type.
See also
BooleanOperationType
Returns
true if successful, false if not

◆ DilateVolume()

virtual bool DilateVolume ( VDBHandle  gridHandle,
float  amount,
VDBHandle  maskHandle = -1 
)
pure virtual

Dilate a volume by a given amount, with optional masking.

Parameters:
Parameters
gridHandleHandle of the VDB volume that will be dilated
amountAmount to dilate the volume
maskHandle(Optional) Handle to a volume containing masking data (0-1); should match gridHandle volume topology.
Returns
true if successful, false if not

◆ ErodeVolume()

virtual bool ErodeVolume ( VDBHandle  gridHandle,
float  amount,
VDBHandle  maskHandle = -1 
)
pure virtual

Erode a volume by a given amount, with optional masking.

Parameters
gridHandleHandle of the VDB volume that will be eroded
amountAmount to erode the volume
maskHandle(Optional) Handle to a volume containing masking data (0-1); should match gridHandle volume topology.
Returns
true if successful, false if not

◆ FilterVolume()

virtual bool FilterVolume ( VDBHandle  gridHandle,
FilterType  type,
int  width,
VDBHandle  maskHandle = -1 
)
pure virtual

Perform filtering (smoothing) on a volume.

Parameters:
Parameters
gridHandleHandle of the VDB volume that will be filtered
typeThe filter type to use.
See also
FilterType
Parameters
widthThe width to use in filtering
maskHandle(Optional) Handle to a volume containing masking data (0-1); should match gridHandle volume topology.
Returns
true if successful, false if not

◆ ClearVolume()

virtual bool ClearVolume ( VDBHandle  handle)
pure virtual

Clears a volume to empty.

Parameters:
Parameters
handleHandle of the VDB volume that will be cleared
Returns
true if successful, false if not

◆ VolumeToMesh()

virtual bool VolumeToMesh ( VDBHandle  handle,
::Mesh meshOut,
const Matrix3 tm = Matrix3(),
float  adaptivity = 0.0f,
bool  relaxDisoriented = false 
)
pure virtual

Convert a volume to a mesh.

Parameters:
Parameters
handleHandle of the VDB volume that will be meshed
meshOut(out) The Mesh that will receive the meshed result
tm(in) The transform of the volume
adaptivityThe amount of adaptivity to apply during meshing (0-1)
relaxDisorientedWhen true, relaxes disoriented triangles during adaptive meshing
Returns
true if successful, false if not

◆ CreateMask()

virtual bool CreateMask ( VDBHandle  gridHandle,
float  voxelSize,
const Matrix3 tm,
float  threshold,
Texmap map,
TimeValue  t,
VDBHandle  maskHandle 
)
pure virtual

Create a mask volume to match a given volume.

Parameters:
Parameters
gridHandleHandle of the VDB volume that the mask will be created for
voxelSizeThe voxel size to use in the meshing operation
tm(in) The transform of the volume
thresholdThe threshold value for the map
map(in) The texmap that will be the source of the mask data
tThe time to use for the Texmap sampling
maskHandleThe Mesh that will receive the resulting mask data
Returns
true if successful, false if not

◆ PointsSRToVolume() [1/2]

virtual bool PointsSRToVolume ( const Tab< Point3 * > &  points,
float  radius,
float  voxelSize,
VDBHandle  handle 
)
pure virtual

Creates an SDF volume containing points of a fixed size.

Parameters:
Parameters
points(in) A table of Point3 pointers, one per point
radiusThe radius to use for all points
voxelSizeThe voxelsize to use for the volume
handleThe handle of the volume that will receive the resulting data
Returns
true if successful, false if not

◆ PointsSRToVolume() [2/2]

virtual bool PointsSRToVolume ( const Tab< Point3 > &  points,
float  radius,
float  voxelSize,
VDBHandle  handle 
)
pure virtual

Creates an SDF volume containing points of a fixed size.

Parameters:
Parameters
points(in) A table of Point3s, one per point
radiusThe radius to use for all points
voxelSizeThe voxelsize to use for the volume
handleThe handle of the volume that will receive the resulting data
Returns
true if successful, false if not

◆ PointsMRToVolume() [1/2]

virtual bool PointsMRToVolume ( const Tab< Point3 * > &  points,
const Tab< float > &  radii,
float  voxelSize,
VDBHandle  handle 
)
pure virtual

Creates an SDF volume containing points of varying sizes.

Parameters:
Parameters
points(in) A table of Point3 pointers, one per point
radii(in) Table of radii, one per point
voxelSizeThe voxelsize to use for the volume
handleThe handle of the volume that will receive the resulting data
Returns
true if successful, false if not

◆ PointsMRToVolume() [2/2]

virtual bool PointsMRToVolume ( const Tab< Point3 > &  points,
const Tab< float > &  radii,
float  voxelSize,
VDBHandle  handle 
)
pure virtual

Creates an SDF volume containing points of varying sizes.

Parameters:
Parameters
points(in) A table of Point3s, one per point
radii(in) Table of radii, one per point
voxelSizeThe voxelsize to use for the volume
handleThe handle of the volume that will receive the resulting data
Returns
true if successful, false if not

◆ MeshToVolume()

virtual bool MeshToVolume ( const ::Mesh meshIn,
float  voxelSize,
int  handle,
const Matrix3 tm = Matrix3() 
)
pure virtual

Converts a mesh to a volume.

Parameters:
Parameters
meshIn(in) A mesh to convert to a volume
voxelSizeThe voxelsize to use for the volume
handleThe handle of the volume that will receive the resulting data
tm(in) Transform to apply to the mesh
Returns
true if successful, false if not

◆ PointsSRToMesh() [1/2]

virtual bool PointsSRToMesh ( const Tab< Point3 * > &  points,
float  radius,
float  voxelSize,
::Mesh meshOut,
float  adaptivity = 0.0f,
bool  relaxDisoriented = false 
)
pure virtual

Creates an SDF volume containing points of a fixed size and outputs the result to a mesh.

Parameters:
Parameters
points(in) A table of Point3 pointers, one per point
radiusThe radius to use for all points
voxelSizeThe voxelsize to use for the volume
meshOut(out) The mesh that will receive the resulting data
adaptivityThe amount of adaptivity to apply during meshing (0-1)
relaxDisorientedWhen true, relaxes disoriented triangles during adaptive meshing
Returns
true if successful, false if not

◆ PointsSRToMesh() [2/2]

virtual bool PointsSRToMesh ( const Tab< Point3 > &  points,
float  radius,
float  voxelSize,
::Mesh meshOut,
float  adaptivity = 0.0f,
bool  relaxDisoriented = false 
)
pure virtual

Creates an SDF volume containing points of a fixed size and outputs the result to a mesh.

Parameters:
Parameters
points(in) A table of Point3s, one per point
radiusThe radius to use for all points
voxelSizeThe voxelsize to use for the volume
meshOut(out) The mesh that will receive the resulting data
adaptivityThe amount of adaptivity to apply during meshing (0-1)
relaxDisorientedWhen true, relaxes disoriented triangles during adaptive meshing
Returns
true if successful, false if not

◆ PointsMRToMesh() [1/2]

virtual bool PointsMRToMesh ( const Tab< Point3 * > &  points,
const Tab< float > &  radii,
float  voxelSize,
::Mesh meshOut,
float  adaptivity = 0.0f,
bool  relaxDisoriented = false 
)
pure virtual

Creates an SDF volume containing points of varying sizes and outputs the result to a mesh.

Parameters:
Parameters
points(in) A table of Point3 pointers, one per point
radii(in) Table of radii, one per point
voxelSizeThe voxelsize to use for the volume
meshOut(out) The mesh that will receive the resulting data
adaptivityThe amount of adaptivity to apply during meshing (0-1)
relaxDisorientedWhen true, relaxes disoriented triangles during adaptive meshing
Returns
true if successful, false if not

◆ PointsMRToMesh() [2/2]

virtual bool PointsMRToMesh ( const Tab< Point3 > &  points,
const Tab< float > &  radii,
float  voxelSize,
::Mesh meshOut,
float  adaptivity = 0.0f,
bool  relaxDisoriented = false 
)
pure virtual

Creates an SDF volume containing points of varying sizes and outputs the result to a mesh.

Parameters:
Parameters
points(in) A table of Point3s, one per point
radii(in) Table of radii, one per point
voxelSizeThe voxelsize to use for the volume
meshOut(out) The mesh that will receive the resulting data
adaptivityThe amount of adaptivity to apply during meshing (0-1)
relaxDisorientedWhen true, relaxes disoriented triangles during adaptive meshing
Returns
true if successful, false if not

◆ MeshToVolumeToMesh()

virtual bool MeshToVolumeToMesh ( const ::Mesh meshIn,
float  voxelSize,
::Mesh meshOut,
float  adaptivity = 0.0f,
bool  relaxDisoriented = false 
)
pure virtual

Converts a mesh to a volume then back to a mesh (round trip)

Parameters:
Parameters
meshIn(in) The mesh to convert
voxelSizeThe voxelsize to use for the volume
meshOut(out) The mesh that will receive the resulting data (may be the same as the input mesh)
adaptivityThe amount of adaptivity to apply during meshing (0-1)
relaxDisorientedWhen true, relaxes disoriented triangles during adaptive meshing
Returns
true if successful, false if not

◆ TestPointInsideLevelSet()

virtual bool TestPointInsideLevelSet ( VDBHandle  gridHandle,
const Point3 point,
bool &  insideVolumeOut 
)
pure virtual

Test whether a given point in space is inside a level set.

Parameters:
Parameters
gridHandleHandle of the VDB volume to test
point(in) The point to test
insideVolumeOut(out) Returns true if the point is inside the level set; false if not
Returns
true if successful, false if not

◆ TestPointsInsideLevelSet() [1/2]

virtual bool TestPointsInsideLevelSet ( VDBHandle  gridHandle,
const Tab< Point3 > &  points,
BitArray insideVolumeOut 
)
pure virtual

Test a set of points in space to see which are inside a level set.

Parameters:
Parameters
gridHandleHandle of the VDB volume to test
points(in) A table of the points to test
insideVolumeOut(out) Returns a BitArray where the corresponding bit for each supplied point is TRUE if the point is inside the level set; FALSE if not
Returns
true if successful, false if not

◆ TestPointsInsideLevelSet() [2/2]

virtual bool TestPointsInsideLevelSet ( VDBHandle  gridHandle,
const Tab< Point3 * > &  points,
BitArray insideVolumeOut 
)
pure virtual

Test a set of points in space to see which are inside a level set.

Parameters:
Parameters
gridHandleHandle of the VDB volume to test
points(in) A table of pointers to the points to test
insideVolumeOut(out) Returns a BitArray where the corresponding bit for each supplied point is TRUE if the point is inside the level set; FALSE if not
Returns
true if successful, false if not