Ptex: PtexTriangleKernelIter Class Reference

Ptex

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes | Private Types | Static Private Attributes | List of all members
PtexTriangleKernelIter Class Reference

Triangle filter kernel iterator (in texel coords) More...

`#include <PtexTriangleKernel.h>`

Inheritance diagram for PtexTriangleKernelIter:

## Public Member Functions
void | apply (float *dst, void *data, DataType dt, int nChan, int nTxChan)
void | applyConst (float *dst, void *data, DataType dt, int nChan)

## Public Attributes
int | rowlen
float | u
float | v
int | u1
int | v1
int | w1
int | u2
int | v2
int | w2
float | A
float | B
float | C
bool | valid
float | wscale
float | weight

## Private Types
typedef void(* | ApplyFn) (PtexTriangleKernelIter &k, float *dst, void *data, int nChan, int nTxChan)

## Static Private Attributes
static ApplyFn | applyFunctions [40]

## Additional Inherited Members
Public Types inherited from Ptex
enum | MeshType { mt_triangle, mt_quad }
| Type of base mesh for which the textures are defined. More...
enum | DataType { dt_uint8, dt_uint16, dt_half, dt_float }
| Type of data stored in texture file. More...
enum | BorderMode { m_clamp, m_black, m_periodic }
| How to handle mesh border when filtering. More...
enum | EdgeId { e_bottom, e_right, e_top, e_left }
| Edge IDs used in adjacency data in the Ptex::FaceInfo struct. More...
enum | MetaDataType { mdt_string, mdt_int8, mdt_int16, mdt_int32, mdt_float, mdt_double }
| Type of meta data entry. More...
Static Public Member Functions inherited from Ptex
static const char * | MeshTypeName (MeshType mt)
| Look up name of given mesh type. More...
static const char * | DataTypeName (DataType dt)
| Look up name of given data type. More...
static const char * | BorderModeName (BorderMode m)
| Look up name of given border mode. More...
static const char * | EdgeIdName (EdgeId eid)
| Look up name of given edge ID. More...
static const char * | MetaDataTypeName (MetaDataType mdt)
| Look up name of given meta data type. More...
static int | DataSize (DataType dt)
| Look up size of given data type (in bytes). More...
static float | OneValue (DataType dt)
| Look up value of given data type that corresponds to the normalized value of 1.0. More...
static float | OneValueInv (DataType dt)
| Lookup up inverse value of given data type that corresponds to the normalized value of 1.0. More...
static void | ConvertToFloat (float *dst, const void *src, Ptex::DataType dt, int numChannels)
| Convert a number of data values from the given data type to float. More...
static void | ConvertFromFloat (void *dst, const float *src, Ptex::DataType dt, int numChannels)
| Convert a number of data values from float to the given data type. More...

## Detailed Description

Triangle filter kernel iterator (in texel coords)

Definition at line 52 of file PtexTriangleKernel.h.

## Member Typedef Documentation

typedef void(* PtexTriangleKernelIter::ApplyFn) (PtexTriangleKernelIter &k, float *dst, void *data, int nChan, int nTxChan)
| private

Definition at line 74 of file PtexTriangleKernel.h.

## Member Function Documentation

void PtexTriangleKernelIter::apply | ( | float * | dst,
|  | void * | data,
|  | DataType | dt,
|  | int | nChan,
|  | int | nTxChan
| ) |  |
| inline

Definition at line 63 of file PtexTriangleKernel.h.

References applyFunctions.

Referenced by PtexTriangleFilter::applyIter().

void PtexTriangleKernelIter::applyConst | ( | float * | dst,
|  | void * | data,
|  | DataType | dt,
|  | int | nChan
| ) |  |

Definition at line 156 of file PtexTriangleKernel.cpp.

References A, PtexUtils::applyConst(), B, C, PtexUtils::max(), PtexUtils::min(), rowlen, u, u1, u2, v, v1, v2, w1, w2, weight, and wscale.

Referenced by PtexTriangleFilter::applyIter().

## Member Data Documentation

float PtexTriangleKernelIter::A

Definition at line 58 of file PtexTriangleKernel.h.

Referenced by applyConst(), and PtexTriangleKernel::getIterators().

PtexTriangleKernelIter::ApplyFn PtexTriangleKernelIter::applyFunctions
| staticprivate

Initial value:
= {
ApplyN<uint8_t>, ApplyN<uint16_t>, ApplyN<PtexHalf>, ApplyN<float>,
Apply<uint8_t,1>, Apply<uint16_t,1>, Apply<PtexHalf,1>, Apply<float,1>,
Apply<uint8_t,2>, Apply<uint16_t,2>, Apply<PtexHalf,2>, Apply<float,2>,
Apply<uint8_t,3>, Apply<uint16_t,3>, Apply<PtexHalf,3>, Apply<float,3>,
Apply<uint8_t,4>, Apply<uint16_t,4>, Apply<PtexHalf,4>, Apply<float,4>,
ApplyN<uint8_t>, ApplyN<uint16_t>, ApplyN<PtexHalf>, ApplyN<float>,
ApplyS<uint8_t,1>, ApplyS<uint16_t,1>, ApplyS<PtexHalf,1>, ApplyS<float,1>,
ApplyS<uint8_t,2>, ApplyS<uint16_t,2>, ApplyS<PtexHalf,2>, ApplyS<float,2>,
ApplyS<uint8_t,3>, ApplyS<uint16_t,3>, ApplyS<PtexHalf,3>, ApplyS<float,3>,
ApplyS<uint8_t,4>, ApplyS<uint16_t,4>, ApplyS<PtexHalf,4>, ApplyS<float,4>,
}

Definition at line 75 of file PtexTriangleKernel.h.

Referenced by apply().

float PtexTriangleKernelIter::B

Definition at line 58 of file PtexTriangleKernel.h.

Referenced by applyConst(), and PtexTriangleKernel::getIterators().

float PtexTriangleKernelIter::C

Definition at line 58 of file PtexTriangleKernel.h.

Referenced by applyConst(), and PtexTriangleKernel::getIterators().

int PtexTriangleKernelIter::rowlen

Definition at line 54 of file PtexTriangleKernel.h.

Referenced by applyConst(), PtexTriangleFilter::applyIter(), and PtexTriangleKernel::getIterators().

float PtexTriangleKernelIter::u

Definition at line 55 of file PtexTriangleKernel.h.

Referenced by applyConst(), PtexTriangleFilter::applyIter(), and PtexTriangleKernel::getIterators().

int PtexTriangleKernelIter::u1

Definition at line 56 of file PtexTriangleKernel.h.

Referenced by applyConst(), PtexTriangleFilter::applyIter(), and PtexTriangleKernel::getIterators().

int PtexTriangleKernelIter::u2

Definition at line 57 of file PtexTriangleKernel.h.

Referenced by applyConst(), PtexTriangleFilter::applyIter(), and PtexTriangleKernel::getIterators().

float PtexTriangleKernelIter::v

Definition at line 55 of file PtexTriangleKernel.h.

Referenced by applyConst(), PtexTriangleFilter::applyIter(), and PtexTriangleKernel::getIterators().

int PtexTriangleKernelIter::v1

Definition at line 56 of file PtexTriangleKernel.h.

Referenced by applyConst(), PtexTriangleFilter::applyIter(), and PtexTriangleKernel::getIterators().

int PtexTriangleKernelIter::v2

Definition at line 57 of file PtexTriangleKernel.h.

Referenced by applyConst(), PtexTriangleFilter::applyIter(), and PtexTriangleKernel::getIterators().

bool PtexTriangleKernelIter::valid

Definition at line 59 of file PtexTriangleKernel.h.

Referenced by PtexTriangleFilter::apply(), and PtexTriangleKernel::getIterators().

int PtexTriangleKernelIter::w1

Definition at line 56 of file PtexTriangleKernel.h.

Referenced by applyConst(), PtexTriangleFilter::applyIter(), and PtexTriangleKernel::getIterators().

int PtexTriangleKernelIter::w2

Definition at line 57 of file PtexTriangleKernel.h.

Referenced by applyConst(), PtexTriangleFilter::applyIter(), and PtexTriangleKernel::getIterators().

float PtexTriangleKernelIter::weight

Definition at line 61 of file PtexTriangleKernel.h.

Referenced by applyConst(), PtexTriangleFilter::applyIter(), and PtexTriangleKernel::getIterators().

float PtexTriangleKernelIter::wscale

Definition at line 60 of file PtexTriangleKernel.h.

Referenced by applyConst(), and PtexTriangleKernel::getIterators().

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

- PtexTriangleKernel.h
- PtexTriangleKernel.cpp