HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_Blend.h File Reference
#include "GU_API.h"
#include <GA/GA_Names.h>
#include <GA/GA_Types.h>
+ Include dependency graph for GU_Blend.h:

Go to the source code of this file.

Classes

struct  GU_Blend::PerAttribData
 
struct  GU_Blend::PerMappingData
 
class  GU_Blend::CachedItems
 

Namespaces

 GU_Blend
 

Enumerations

enum  GU_VoxelBlend { GU_VoxelBlend::None, GU_VoxelBlend::ByGridIndex, GU_VoxelBlend::ByVoxelPos, GU_VoxelBlend::Advected }
 

Functions

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)
 
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)
 

Enumeration Type Documentation

enum GU_VoxelBlend
strong
Enumerator
None 
ByGridIndex 
ByVoxelPos 
Advected 

Definition at line 24 of file GU_Blend.h.

Function Documentation

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 
)
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 
)

NOTE: Advected volume interpolation is necessarily linear; in that case, volweight is needed to determine which detail to blend with and by how much.