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

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