Ptex
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:
Ptex

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 
)

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
float PtexTriangleKernelIter::u
int PtexTriangleKernelIter::u1
int PtexTriangleKernelIter::u2
float PtexTriangleKernelIter::v
int PtexTriangleKernelIter::v1
int PtexTriangleKernelIter::v2
bool PtexTriangleKernelIter::valid
int PtexTriangleKernelIter::w1
int PtexTriangleKernelIter::w2
float PtexTriangleKernelIter::weight
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: