Ptex: PtexTriangleKernel Class Reference

Ptex

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

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes | List of all members
PtexTriangleKernel Class Reference

Triangle filter kernel (in normalized triangle coords) More...

`#include <PtexTriangleKernel.h>`

Inheritance diagram for PtexTriangleKernel:

## Public Member Functions
void | set (Res resVal, float uVal, float vVal, float u1Val, float v1Val, float w1Val, float u2Val, float v2Val, float w2Val, float AVal, float BVal, float CVal)
void | set (float uVal, float vVal, float u1Val, float v1Val, float w1Val, float u2Val, float v2Val, float w2Val)
void | setABC (float AVal, float BVal, float CVal)
void | splitU (PtexTriangleKernel &ka)
void | splitV (PtexTriangleKernel &ka)
void | splitW (PtexTriangleKernel &ka)
void | rotate1 ()
void | rotate2 ()
void | reorient (int eid, int aeid)
void | clampRes (Res fres)
void | clampExtent ()
void | getIterators (PtexTriangleKernelIter &ke, PtexTriangleKernelIter &ko)

## Public Attributes
Res | res
float | u
float | v
float | u1
float | v1
float | w1
float | u2
float | v2
float | w2
float | A
float | B
float | C

## 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 (in normalized triangle coords)

Definition at line 80 of file PtexTriangleKernel.h.

## Member Function Documentation

void PtexTriangleKernel::clampExtent | ( |  | ) |
| inline

Definition at line 176 of file PtexTriangleKernel.h.

References PtexUtils::max(), and PtexUtils::min().

Referenced by PtexTriangleFilter::apply().

void PtexTriangleKernel::clampRes | ( | Res | fres | ) |
| inline

Definition at line 170 of file PtexTriangleKernel.h.

References PtexUtils::min(), Ptex::Res::ulog2, and Ptex::Res::vlog2.

Referenced by PtexTriangleFilter::apply().

void PtexTriangleKernel::getIterators | ( | PtexTriangleKernelIter & | ke,
|  | PtexTriangleKernelIter & | ko
| ) |  |
| inline

Definition at line 186 of file PtexTriangleKernel.h.

References PtexTriangleKernelIter::A, PtexTriangleKernelIter::B, B, PtexTriangleKernelIter::C, PtexTriangleKernelIter::rowlen, PtexTriangleKernelIter::u, u, Ptex::Res::u(), PtexTriangleKernelIter::u1, PtexTriangleKernelIter::u2, PtexTriangleKernelIter::v, v, PtexTriangleKernelIter::v1, PtexTriangleKernelIter::v2, PtexTriangleKernelIter::valid, PtexTriangleKernelIter::w1, PtexTriangleKernelIter::w2, PtexTriangleKernelIter::weight, and PtexTriangleKernelIter::wscale.

Referenced by PtexTriangleFilter::apply().

void PtexTriangleKernel::reorient | ( | int | eid,
|  | int | aeid
| ) |  |
| inline

Definition at line 149 of file PtexTriangleKernel.h.

References C, rotate1(), rotate2(), set(), and v.

Referenced by PtexTriangleFilter::applyAcrossEdge().

void PtexTriangleKernel::rotate1 | ( |  | ) |
| inline

Definition at line 135 of file PtexTriangleKernel.h.

References setABC().

Referenced by reorient().

void PtexTriangleKernel::rotate2 | ( |  | ) |
| inline

Definition at line 142 of file PtexTriangleKernel.h.

References setABC().

Referenced by reorient().

void PtexTriangleKernel::set | ( | Res | resVal,
|  | float | uVal,
|  | float | vVal,
|  | float | u1Val,
|  | float | v1Val,
|  | float | w1Val,
|  | float | u2Val,
|  | float | v2Val,
|  | float | w2Val,
|  | float | AVal,
|  | float | BVal,
|  | float | CVal
| ) |  |
| inline

Definition at line 88 of file PtexTriangleKernel.h.

Referenced by PtexTriangleFilter::buildKernel(), and reorient().

void PtexTriangleKernel::set | ( | float | uVal,
|  | float | vVal,
|  | float | u1Val,
|  | float | v1Val,
|  | float | w1Val,
|  | float | u2Val,
|  | float | v2Val,
|  | float | w2Val
| ) |  |
| inline

Definition at line 100 of file PtexTriangleKernel.h.

void PtexTriangleKernel::setABC | ( | float | AVal,
|  | float | BVal,
|  | float | CVal
| ) |  |
| inline

Definition at line 109 of file PtexTriangleKernel.h.

Referenced by rotate1(), and rotate2().

void PtexTriangleKernel::splitU | ( | PtexTriangleKernel & | ka | ) |
| inline

Definition at line 114 of file PtexTriangleKernel.h.

References u2.

Referenced by PtexTriangleFilter::splitAndApply().

void PtexTriangleKernel::splitV | ( | PtexTriangleKernel & | ka | ) |
| inline

Definition at line 121 of file PtexTriangleKernel.h.

References v2.

Referenced by PtexTriangleFilter::splitAndApply().

void PtexTriangleKernel::splitW | ( | PtexTriangleKernel & | ka | ) |
| inline

Definition at line 128 of file PtexTriangleKernel.h.

References w2.

Referenced by PtexTriangleFilter::splitAndApply().

## Member Data Documentation

float PtexTriangleKernel::A

Definition at line 86 of file PtexTriangleKernel.h.

float PtexTriangleKernel::B

Definition at line 86 of file PtexTriangleKernel.h.

Referenced by getIterators().

float PtexTriangleKernel::C

Definition at line 86 of file PtexTriangleKernel.h.

Referenced by reorient().

Res PtexTriangleKernel::res

Definition at line 82 of file PtexTriangleKernel.h.

Referenced by PtexTriangleFilter::apply().

float PtexTriangleKernel::u

Definition at line 83 of file PtexTriangleKernel.h.

Referenced by getIterators().

float PtexTriangleKernel::u1

Definition at line 84 of file PtexTriangleKernel.h.

Referenced by PtexTriangleFilter::splitAndApply().

float PtexTriangleKernel::u2

Definition at line 85 of file PtexTriangleKernel.h.

Referenced by splitU().

float PtexTriangleKernel::v

Definition at line 83 of file PtexTriangleKernel.h.

Referenced by getIterators(), and reorient().

float PtexTriangleKernel::v1

Definition at line 84 of file PtexTriangleKernel.h.

Referenced by PtexTriangleFilter::splitAndApply().

float PtexTriangleKernel::v2

Definition at line 85 of file PtexTriangleKernel.h.

Referenced by splitV().

float PtexTriangleKernel::w1

Definition at line 84 of file PtexTriangleKernel.h.

Referenced by PtexTriangleFilter::splitAndApply().

float PtexTriangleKernel::w2

Definition at line 85 of file PtexTriangleKernel.h.

Referenced by splitW().

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

- PtexTriangleKernel.h