HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_SurfaceDeform.h File Reference
#include "GU_API.h"
#include "GU_Detail.h"
#include "GU_RayIntersect.h"
#include <CE/CE_Array.h>
#include <GA/GA_Handle.h>
#include <GA/GA_Types.h>
#include <GEO/GEO_Interpolate.h>
#include <UT/UT_Array.h>
#include <UT/UT_ErrorLog.h>
#include <UT/UT_Matrix3.h>
#include <UT/UT_Matrix4.h>
#include <UT/UT_Tracing.h>
#include <UT/UT_UniquePtr.h>
#include <UT/UT_Vector3.h>
#include <numeric>
+ Include dependency graph for GU_SurfaceDeform.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  GU_SurfaceDeform::ArrayAccessorBracketPolicy< T, Container >
 
struct  GU_SurfaceDeform::ArrayAccessor< T, Container, Policy >
 
class  GU_SurfaceDeform::Capture
 
class  GU_SurfaceDeform::SubdCapture
 

Namespaces

 GU_SurfaceDeform
 

Functions

template<typename PA >
void GU_SurfaceDeform::surfaceInterpOffsets (UT_IntArray &primptstarts, GA_OffsetArray &ptoffsets, UT_FloatArray &ptweights, const PA &positions, const GU_Detail &surfacegdp, const GU_RayIntersect &rayintersect)
 
GU_API void GU_SurfaceDeform::computeFrames (const GU_Detail &gdp, const GA_ROHandleV3 &poshandle, GA_AttributeUPtr &nmlowner, GA_AttributeUPtr &tanowner)
 
template<typename OUTPOS , typename INPOS , typename DEFRESTPOS , typename DEFANIMPOS >
void GU_SurfaceDeform::deform (OUTPOS &newposdata, const INPOS &points, const DEFRESTPOS &constrestpos, const DEFANIMPOS &constanimpos, const GU_Detail &defgdp, const GA_ROHandleV3 restnmlattrib, const GA_ROHandleV3 resttanattrib, const GA_ROHandleV3 animnmlattrib, const GA_ROHandleV3 animtanattrib, const UT_IntArray &primptstarts, const GA_OffsetArray &ptoffsets, const UT_FloatArray &ptweights)
 
GU_API void GU_SurfaceDeform::computeWeightedXform (CE_Context &context, bool recompile, int nprims, CE_Array< float > &surfacexform, const cl::Buffer &surfacePtStarts, const cl::Buffer &surfacePtIndices, const cl::Buffer &surfacePtWeights, const cl::Buffer &restPos, const cl::Buffer &restNml, const cl::Buffer &restTan, const cl::Buffer &animPos, const cl::Buffer &animNml, const cl::Buffer &animTan, const cl::Buffer *grp=nullptr)
 
GU_API void GU_SurfaceDeform::computeXform (CE_Context &context, bool recompile, int nprims, CE_Array< float > &surfacexform, const cl::Buffer &restPos, const cl::Buffer &restNml, const cl::Buffer &restTan, const cl::Buffer &animPos, const cl::Buffer &animNml, const cl::Buffer &animTan, const cl::Buffer *grp=nullptr)
 
GU_API void GU_SurfaceDeform::indexedXform (CE_Context &context, bool recompile, int npts, const cl::Buffer &outPos, const cl::Buffer &inPos, const cl::Buffer &surfacexform, const cl::Buffer &pointPrimsIndex, const cl::Buffer &pointPrims, const cl::Buffer *grp=nullptr, const cl::Buffer *mask=nullptr)
 
GU_API void GU_SurfaceDeform::xform (CE_Context &context, bool recompile, int npts, const cl::Buffer &outPos, const cl::Buffer &inPos, const cl::Buffer &surfacexform, const cl::Buffer *grp=nullptr)