#include "GU_API.h"
#include <GA/GA_Names.h>
#include <GA/GA_Types.h>
Go to the source code of this file.
|
GU_API void | GUblend (GU_Detail *dest, const GU_Detail *source, fpreal weight, const char *pattern="*", const UT_StringRef &ptidattr=GA_Names::id, const UT_StringRef &primidattr=GA_Names::name, bool doslerp=true, bool usevforpinterp=false, float timestep=(1/24.0), GU_VoxelBlend dovoxel=GU_VoxelBlend::None, GU_Blend::CachedItems *cached_items=NULL, const char *velname="vel", float advdt=1, bool deleteUnmatched=false, const char *unmatchedGroupName=NULL) |
|
GU_API void | GUblend (GU_Detail *dest, const GU_Detail *gdps[], const float *weights, int size, const GA_Group *group, const char *pattern="*", const UT_StringRef &ptidattr=GA_Names::id, const UT_StringRef &primidattr=GA_Names::name, bool doslerp=true, GU_VoxelBlend dovoxel=GU_VoxelBlend::None, GU_Blend::CachedItems *cached_items=NULL, bool is_differencing=true, bool dosparse=false, float timestep=(1/24.0), const char *velname="vel", float advdt=1, fpreal volweight=0, int deleteUnmatched=0, const char *unmatchedGroupName=NULL) |
|
GU_API void | GUblendRange (GA_Attribute &attrib0, const GA_Attribute &attrib1, const GA_Range &range0, float weight, const UT_Array< GA_Offset > *mapping) |
|
Enumerator |
---|
None |
|
ByGridIndex |
|
ByVoxelPos |
|
Advected |
|
Definition at line 26 of file GU_Blend.h.
GU_API void GUblend |
( |
GU_Detail * |
dest, |
|
|
const GU_Detail * |
source, |
|
|
fpreal |
weight, |
|
|
const char * |
pattern = "*" , |
|
|
const UT_StringRef & |
ptidattr = GA_Names::id , |
|
|
const UT_StringRef & |
primidattr = GA_Names::name , |
|
|
bool |
doslerp = true , |
|
|
bool |
usevforpinterp = false , |
|
|
float |
timestep = (1/24.0) , |
|
|
GU_VoxelBlend |
dovoxel = GU_VoxelBlend::None , |
|
|
GU_Blend::CachedItems * |
cached_items = NULL , |
|
|
const char * |
velname = "vel" , |
|
|
float |
advdt = 1 , |
|
|
bool |
deleteUnmatched = false , |
|
|
const char * |
unmatchedGroupName = NULL |
|
) |
| |
If deleteUnmatched is true, points that don't have a match to interpolate with are deleted. If deleteUnmatched is false but unmatchedGroupName is given (non-NULL), then these points are instead put into a point group of the specified name. Note that points of volume and VDB primitives are neither deleted nor put into the group.
GU_API void GUblend |
( |
GU_Detail * |
dest, |
|
|
const GU_Detail * |
gdps[], |
|
|
const float * |
weights, |
|
|
int |
size, |
|
|
const GA_Group * |
group, |
|
|
const char * |
pattern = "*" , |
|
|
const UT_StringRef & |
ptidattr = GA_Names::id , |
|
|
const UT_StringRef & |
primidattr = GA_Names::name , |
|
|
bool |
doslerp = true , |
|
|
GU_VoxelBlend |
dovoxel = GU_VoxelBlend::None , |
|
|
GU_Blend::CachedItems * |
cached_items = NULL , |
|
|
bool |
is_differencing = true , |
|
|
bool |
dosparse = false , |
|
|
float |
timestep = (1/24.0) , |
|
|
const char * |
velname = "vel" , |
|
|
float |
advdt = 1 , |
|
|
fpreal |
volweight = 0 , |
|
|
int |
deleteUnmatched = 0 , |
|
|
const char * |
unmatchedGroupName = NULL |
|
) |
| |
If deleteUnmatched is non-zero, points that have fewer than that many interpolation sources are deleted from the output (or put into the specified group if unmatchedGroupName is not NULL). NOTE: Advected volume interpolation is necessarily linear; in that case, volweight is needed to determine which detail to blend with and by how much.
Blend the attribute values for the given range, with an optional mapping to different offsets in the second detail.