HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GT_OSDBfrSurface Class Reference

Minimal interface to Bfr (base-face representation) for individual face. More...

#include <GT_OSD3.h>

Classes

class  Factory
 GT_OSDBfrSurface builder. More...
 

Public Member Functions

GT_DataArrayHandle preparePatchPoints (const GT_DataArrayHandle &attrdata) const
 
GT_DataArrayHandle preparePatchPointsFV (const GT_DataArrayHandle &attrdata) const
 
template<typename T >
void evaluate (T *result, T *du, T *dv, int subface, float u, float v, const GT_DataArrayHandle &patchpoints) const
 
template<typename T >
void evaluateFV (T *result, T *du, T *dv, int subface, float u, float v, const GT_DataArrayHandle &patchpoints) const
 

Static Public Member Functions

static FactorygetFactory ()
 

Detailed Description

Minimal interface to Bfr (base-face representation) for individual face.

Definition at line 729 of file GT_OSD3.h.

Member Function Documentation

template<typename T >
void GT_OSDBfrSurface::evaluate ( T result,
T du,
T dv,
int  subface,
float  u,
float  v,
const GT_DataArrayHandle patchpoints 
) const
inline

Evaluate attribute and its derivs at specified coordinate. subface index can be obtained by counting digits to subtract from ptexid until it maps to a different face (using ptex->face mapping from GT_OSDTopology). T must be a float type (accepts 64-bit but beware that it'll be interpolated in 32-bit). The tuple count in result array must match the tuple count in patchpoints. du and dv may be nullptr if not needed.

Definition at line 774 of file GT_OSD3.h.

template<typename T >
void GT_OSDBfrSurface::evaluateFV ( T result,
T du,
T dv,
int  subface,
float  u,
float  v,
const GT_DataArrayHandle patchpoints 
) const
inline

Evaluate attribute and its derivs at specified coordinate. subface index can be obtained by counting digits to subtract from ptexid until it maps to a different face (using ptex->face mapping from GT_OSDTopology). T must be a float type (accepts 64-bit but beware that it'll be interpolated in 32-bit). The tuple count in result array must match the tuple count in patchpoints. du and dv may be nullptr if not needed.

Definition at line 782 of file GT_OSD3.h.

static Factory& GT_OSDBfrSurface::getFactory ( )
static
GT_DataArrayHandle GT_OSDBfrSurface::preparePatchPoints ( const GT_DataArrayHandle attrdata) const
inline

Calculate patch points to pass to evaluate functions. Input attrdata must be of float type. Returns GT_DANumeric of same type. Using fpreal32 storage is highly recommended for performance reasons. It's up to the caller to store and manage the returned data for reuse. May return nullptr if unknown data type.

Definition at line 752 of file GT_OSD3.h.

GT_DataArrayHandle GT_OSDBfrSurface::preparePatchPointsFV ( const GT_DataArrayHandle attrdata) const
inline

Calculate patch points to pass to evaluate functions. Input attrdata must be of float type. Returns GT_DANumeric of same type. Using fpreal32 storage is highly recommended for performance reasons. It's up to the caller to store and manage the returned data for reuse. May return nullptr if unknown data type.

Definition at line 758 of file GT_OSD3.h.


The documentation for this class was generated from the following file: