|
Ptex
|
#include <PtexSeparableKernel.h>
Public Member Functions | |
| PtexSeparableKernel () | |
| PtexSeparableKernel (const PtexSeparableKernel &k) | |
| PtexSeparableKernel & | operator= (const PtexSeparableKernel &k) |
| void | set (Res resVal, int uVal, int vVal, int uwVal, int vwVal, const float *kuVal, const float *kvVal) |
| void | stripZeros () |
| float | weight () const |
| void | mergeL (BorderMode mode) |
| void | mergeR (BorderMode mode) |
| void | mergeB (BorderMode mode) |
| void | mergeT (BorderMode mode) |
| void | splitL (PtexSeparableKernel &k) |
| void | splitR (PtexSeparableKernel &k) |
| void | splitB (PtexSeparableKernel &k) |
| void | splitT (PtexSeparableKernel &k) |
| void | flipU () |
| void | flipV () |
| void | swapUV () |
| void | rotate (int rot) |
| bool | adjustMainToSubface (int eid) |
| void | adjustSubfaceToMain (int eid) |
| void | downresU () |
| void | downresV () |
| void | upresU () |
| void | upresV () |
| float | makeSymmetric (float initialWeight) |
| void | apply (float *dst, void *data, DataType dt, int nChan, int nTxChan) |
| void | applyConst (float *dst, void *data, DataType dt, int nChan) |
Public Attributes | |
| Res | res |
| int | u |
| int | v |
| int | uw |
| int | vw |
| float * | ku |
| float * | kv |
| float | kubuff [kmax] |
| float | kvbuff [kmax] |
Static Public Attributes | |
| static const int | kmax = 10 |
Private Types | |
| typedef void(* | ApplyFn) (PtexSeparableKernel &k, float *dst, void *data, int nChan, int nTxChan) |
| typedef void(* | ApplyConstFn) (float weight, float *dst, void *data, int nChan) |
Static Private Member Functions | |
| static float | accumulate (const float *p, int n) |
Static Private Attributes | |
| static ApplyFn | applyFunctions [40] |
| static ApplyConstFn | applyConstFunctions [20] |
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... | |
Definition at line 46 of file PtexSeparableKernel.h.
|
private |
Definition at line 462 of file PtexSeparableKernel.h.
|
private |
Definition at line 461 of file PtexSeparableKernel.h.
|
inline |
Definition at line 57 of file PtexSeparableKernel.h.
|
inline |
|
inlinestaticprivate |
|
inline |
Definition at line 257 of file PtexSeparableKernel.h.
References Ptex::e_bottom, Ptex::e_left, Ptex::e_right, Ptex::e_top, Ptex::Res::u(), Ptex::Res::ulog2, upresU(), upresV(), Ptex::Res::v(), and Ptex::Res::vlog2.
Referenced by PtexSeparableFilter::applyAcrossEdge(), and PtexSeparableFilter::applyToCornerFace().
|
inline |
Definition at line 293 of file PtexSeparableKernel.h.
References Ptex::e_bottom, Ptex::e_left, Ptex::e_right, Ptex::e_top, Ptex::Res::u(), Ptex::Res::ulog2, Ptex::Res::v(), and Ptex::Res::vlog2.
Referenced by PtexSeparableFilter::applyAcrossEdge(), PtexSeparableFilter::applyToCorner(), and PtexSeparableFilter::applyToCornerFace().
|
inline |
Definition at line 448 of file PtexSeparableKernel.h.
References applyFunctions.
Referenced by PtexSeparableFilter::apply().
|
inline |
Definition at line 455 of file PtexSeparableKernel.h.
References PtexUtils::applyConst(), and weight().
Referenced by PtexSeparableFilter::apply().
|
inline |
Definition at line 304 of file PtexSeparableKernel.h.
References ku, and Ptex::Res::ulog2.
Referenced by PtexSeparableFilter::apply(), and makeSymmetric().
|
inline |
Definition at line 333 of file PtexSeparableKernel.h.
References kv, and Ptex::Res::vlog2.
Referenced by PtexSeparableFilter::apply(), and makeSymmetric().
|
inline |
Definition at line 226 of file PtexSeparableKernel.h.
References Ptex::Res::u(), and uw.
Referenced by rotate().
|
inline |
Definition at line 232 of file PtexSeparableKernel.h.
References Ptex::Res::v(), and vw.
Referenced by rotate().
|
inline |
Definition at line 388 of file PtexSeparableKernel.h.
References downresU(), downresV(), PtexUtils::min(), Ptex::Res::ulog2, uw, and Ptex::Res::vlog2.
Referenced by PtexSeparableFilter::applyToCorner().
|
inline |
Definition at line 121 of file PtexSeparableKernel.h.
References accumulate(), Ptex::m_black, and v.
Referenced by PtexSeparableFilter::splitAndApply().
|
inline |
Definition at line 102 of file PtexSeparableKernel.h.
References accumulate(), Ptex::m_black, and u.
Referenced by PtexSeparableFilter::splitAndApply().
|
inline |
Definition at line 112 of file PtexSeparableKernel.h.
References accumulate(), Ptex::m_black, and Ptex::Res::u().
Referenced by PtexSeparableFilter::splitAndApply().
|
inline |
Definition at line 131 of file PtexSeparableKernel.h.
References accumulate(), Ptex::m_black, and Ptex::Res::v().
Referenced by PtexSeparableFilter::splitAndApply().
|
inline |
|
inline |
Definition at line 246 of file PtexSeparableKernel.h.
References flipU(), flipV(), and swapUV().
Referenced by PtexSeparableFilter::applyAcrossEdge(), PtexSeparableFilter::applyToCorner(), and PtexSeparableFilter::applyToCornerFace().
|
inline |
Definition at line 71 of file PtexSeparableKernel.h.
References kubuff, and kvbuff.
Referenced by operator=(), PtexSeparableKernel(), splitB(), splitL(), splitR(), and splitT().
|
inline |
Definition at line 184 of file PtexSeparableKernel.h.
References ku, kv, set(), uw, v, and Ptex::Res::v().
Referenced by PtexSeparableFilter::splitAndApply().
|
inline |
Definition at line 140 of file PtexSeparableKernel.h.
References ku, kv, set(), u, Ptex::Res::u(), v, and vw.
Referenced by PtexSeparableFilter::splitAndApply().
|
inline |
Definition at line 163 of file PtexSeparableKernel.h.
References set(), u, and Ptex::Res::u().
Referenced by PtexSeparableFilter::splitAndApply().
|
inline |
Definition at line 206 of file PtexSeparableKernel.h.
References set(), v, and Ptex::Res::v().
Referenced by PtexSeparableFilter::splitAndApply().
|
inline |
Definition at line 88 of file PtexSeparableKernel.h.
Referenced by PtexSeparableFilter::eval().
|
inline |
Definition at line 238 of file PtexSeparableKernel.h.
References Ptex::Res::swapuv().
Referenced by rotate().
|
inline |
Definition at line 362 of file PtexSeparableKernel.h.
References Ptex::Res::ulog2.
Referenced by adjustMainToSubface(), and PtexSeparableFilter::eval().
|
inline |
Definition at line 375 of file PtexSeparableKernel.h.
References Ptex::Res::vlog2.
Referenced by adjustMainToSubface(), and PtexSeparableFilter::eval().
|
inline |
Definition at line 97 of file PtexSeparableKernel.h.
References accumulate().
Referenced by applyConst(), PtexSeparableFilter::applyToCorner(), and PtexSeparableFilter::eval().
|
staticprivate |
Definition at line 464 of file PtexSeparableKernel.h.
|
staticprivate |
Definition at line 463 of file PtexSeparableKernel.h.
Referenced by apply().
|
static |
Definition at line 53 of file PtexSeparableKernel.h.
Referenced by PtexSeparableFilter::eval().
| float* PtexSeparableKernel::ku |
Definition at line 51 of file PtexSeparableKernel.h.
Referenced by PtexSeparableFilter::apply(), downresU(), operator=(), PtexSeparableKernel(), splitB(), and splitL().
| float PtexSeparableKernel::kubuff[kmax] |
Definition at line 54 of file PtexSeparableKernel.h.
Referenced by set().
| float* PtexSeparableKernel::kv |
Definition at line 52 of file PtexSeparableKernel.h.
Referenced by PtexSeparableFilter::apply(), downresV(), operator=(), PtexSeparableKernel(), splitB(), and splitL().
| float PtexSeparableKernel::kvbuff[kmax] |
Definition at line 55 of file PtexSeparableKernel.h.
Referenced by set().
| Res PtexSeparableKernel::res |
Definition at line 48 of file PtexSeparableKernel.h.
Referenced by PtexSeparableFilter::apply(), PtexSeparableFilter::eval(), operator=(), PtexSeparableKernel(), and PtexSeparableFilter::splitAndApply().
| int PtexSeparableKernel::u |
Definition at line 49 of file PtexSeparableKernel.h.
Referenced by PtexSeparableFilter::apply(), mergeL(), operator=(), PtexSeparableKernel(), PtexSeparableFilter::splitAndApply(), splitL(), and splitR().
| int PtexSeparableKernel::uw |
Definition at line 50 of file PtexSeparableKernel.h.
Referenced by PtexSeparableFilter::apply(), PtexSeparableFilter::eval(), flipU(), makeSymmetric(), operator=(), PtexSeparableKernel(), PtexSeparableFilter::splitAndApply(), and splitB().
| int PtexSeparableKernel::v |
Definition at line 49 of file PtexSeparableKernel.h.
Referenced by PtexSeparableFilter::apply(), mergeB(), operator=(), PtexSeparableKernel(), PtexSeparableFilter::splitAndApply(), splitB(), splitL(), and splitT().
| int PtexSeparableKernel::vw |
Definition at line 50 of file PtexSeparableKernel.h.
Referenced by PtexSeparableFilter::apply(), PtexSeparableFilter::eval(), flipV(), operator=(), PtexSeparableKernel(), PtexSeparableFilter::splitAndApply(), and splitL().
1.8.10