CpuPatchTable Class Reference

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
CpuPatchTable Class Reference

Cpu patch table. More...

`#include <cpuPatchTable.h>`

## Public Member Functions
| CpuPatchTable (const Far::PatchTable *patchTable)
| ~CpuPatchTable ()
const PatchArray * | GetPatchArrayBuffer () const
const int * | GetPatchIndexBuffer () const
const PatchParam * | GetPatchParamBuffer () const
size_t | GetNumPatchArrays () const
size_t | GetPatchIndexSize () const
size_t | GetPatchParamSize () const

## Static Public Member Functions
static CpuPatchTable * | Create (const Far::PatchTable *patchTable, void *deviceContext=NULL)

## Protected Attributes
PatchArrayVector | _patchArrays
std::vector< int > | _indexBuffer
PatchParamVector | _patchParamBuffer

## Detailed Description

Cpu patch table.

XXX: We can use just Far::PatchTable for typical CpuEval use cases.

Currently this class exists because of the template resolution for the CpuEvaluator's generic interface functions (glEvalLimit example uses), and device-specific patch tables such as GLPatchTables internally use as a staging buffer to splice patcharray and interleave sharpnesses.

Ideally Far::PatchTables should have the same data representation and accessors so that we don't have to copy data unnecessarily.

Definition at line 57 of file cpuPatchTable.h.

## Constructor & Destructor Documentation

CpuPatchTable | ( | const Far::PatchTable * | patchTable | ) |
| explicit

~CpuPatchTable | ( |  | ) |
| inline

Definition at line 66 of file cpuPatchTable.h.

## Member Function Documentation

static CpuPatchTable* Create | ( | const Far::PatchTable * | patchTable,
|  | void * | deviceContext = `NULL`
| ) |  |
| inlinestatic

Definition at line 59 of file cpuPatchTable.h.

size_t GetNumPatchArrays | ( |  | ) | const
| inline

Definition at line 78 of file cpuPatchTable.h.

const PatchArray* GetPatchArrayBuffer | ( |  | ) | const
| inline

Definition at line 68 of file cpuPatchTable.h.

const int* GetPatchIndexBuffer | ( |  | ) | const
| inline

Definition at line 71 of file cpuPatchTable.h.

size_t GetPatchIndexSize | ( |  | ) | const
| inline

Definition at line 81 of file cpuPatchTable.h.

const PatchParam* GetPatchParamBuffer | ( |  | ) | const
| inline

Definition at line 74 of file cpuPatchTable.h.

size_t GetPatchParamSize | ( |  | ) | const
| inline

Definition at line 84 of file cpuPatchTable.h.

## Member Data Documentation

std::vector<int> _indexBuffer
| protected

Definition at line 90 of file cpuPatchTable.h.

PatchArrayVector _patchArrays
| protected

Definition at line 89 of file cpuPatchTable.h.

PatchParamVector _patchParamBuffer
| protected

Definition at line 91 of file cpuPatchTable.h.

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

- opensubdiv/osd/cpuPatchTable.h