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

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

#include <GT_OSD3.h>

Public Types

using Surface = OpenSubdiv::Bfr::Surface< fpreal32 >
 

Public Member Functions

 GT_OSDBfrSurfaces (const GT_OSDTopology &topology)
 
 ~GT_OSDBfrSurfaces ()
 
exint getMemoryUsage () const
 Minimum. The actual usage may be far greater. More...
 
const intgetPtexMap () const
 Get Ptex to base face mapping. More...
 
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 ptexid, float u, float v, const GT_DataArrayHandle &patchpoints) const
 
template<typename T >
void evaluateFV (T *result, T *du, T *dv, int ptexid, float u, float v, const GT_DataArrayHandle &patchpoints) const
 

Detailed Description

Minimal interface to Bfr (base-face representation)

Definition at line 641 of file GT_OSD3.h.

Member Typedef Documentation

using GT_OSDBfrSurfaces::Surface = OpenSubdiv::Bfr::Surface<fpreal32>

Definition at line 644 of file GT_OSD3.h.

Constructor & Destructor Documentation

GT_OSDBfrSurfaces::GT_OSDBfrSurfaces ( const GT_OSDTopology topology)
GT_OSDBfrSurfaces::~GT_OSDBfrSurfaces ( )

Member Function Documentation

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

Evaluate attribute and its derivs at specified coordinate. 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 677 of file GT_OSD3.h.

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

Evaluate attribute and its derivs at specified coordinate. 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 685 of file GT_OSD3.h.

exint GT_OSDBfrSurfaces::getMemoryUsage ( ) const

Minimum. The actual usage may be far greater.

const int* GT_OSDBfrSurfaces::getPtexMap ( ) const
inline

Get Ptex to base face mapping.

Definition at line 694 of file GT_OSD3.h.

GT_DataArrayHandle GT_OSDBfrSurfaces::preparePatchPoints ( const GT_DataArrayHandle attrdata) const
inline

Calculate patch points for all surfaces to pass to evaluate functions. Input attrdata must be of float typpe. Returns GT_DANumeric of same type. It's up to the caller to store and manage the returned data for reuse. May return nullptr if invalid (eg surfaces don't exist or the input attrdata is unsupported type)

Definition at line 658 of file GT_OSD3.h.

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

Calculate patch points for all surfaces to pass to evaluate functions. Input attrdata must be of float typpe. Returns GT_DANumeric of same type. It's up to the caller to store and manage the returned data for reuse. May return nullptr if invalid (eg surfaces don't exist or the input attrdata is unsupported type)

Definition at line 664 of file GT_OSD3.h.


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