Ptex: PtexBoxFilter Class Reference

Ptex

Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
PtexBoxFilter Class Reference

Rectangular box filter. More...

Inheritance diagram for PtexBoxFilter:

## Public Member Functions
| PtexBoxFilter (PtexTexture *tx, const PtexFilter::Options &opts)
Public Member Functions inherited from PtexSeparableFilter
virtual void | release ()
| Release resources held by this pointer (pointer becomes invalid).
virtual void | eval (float *result, int firstchan, int nchannels, int faceid, float u, float v, float uw1, float vw1, float uw2, float vw2, float width, float blur)
| Apply filter to a ptex data file.
virtual void | release ()=0
| Release resources held by this pointer (pointer becomes invalid).
virtual void | eval (float *result, int firstchan, int nchannels, int faceid, float u, float v, float uw1, float vw1, float uw2, float vw2, float width=1, float blur=0)=0
| Apply filter to a ptex data file.

## Protected Member Functions
virtual void | buildKernel (PtexSeparableKernel &k, float u, float v, float uw, float vw, Res faceRes)
Protected Member Functions inherited from PtexSeparableFilter
| PtexSeparableFilter (PtexTexture *tx, const PtexFilter::Options &opts)
virtual | ~PtexSeparableFilter ()
virtual void | buildKernel (PtexSeparableKernel &k, float u, float v, float uw, float vw, Res faceRes)=0
void | splitAndApply (PtexSeparableKernel &k, int faceid, const Ptex::FaceInfo &f)
void | applyAcrossEdge (PtexSeparableKernel &k, int faceid, const Ptex::FaceInfo &f, int eid)
void | applyToCorner (PtexSeparableKernel &k, int faceid, const Ptex::FaceInfo &f, int eid)
void | applyToCornerFace (PtexSeparableKernel &k, const Ptex::FaceInfo &f, int eid, int cfaceid, const Ptex::FaceInfo &cf, int ceid)
void | apply (PtexSeparableKernel &k, int faceid, const Ptex::FaceInfo &f)
Protected Member Functions inherited from PtexFilter
virtual | ~PtexFilter ()
| Destructor not for public use. Use release() instead.

## Private Member Functions
void | computeWeights (float *kernel, int size, float f1, float f2)

## Additional Inherited Members
Public Types inherited from PtexFilter
enum | FilterType { f_point , f_bilinear , f_box , f_gaussian , f_bicubic , f_bspline , f_catmullrom , f_mitchell }
| Filter types. More...
Static Public Member Functions inherited from PtexFilter
static PtexFilter * | getFilter (PtexTexture *tx, const Options &opts)
Protected Attributes inherited from PtexSeparableFilter
PtexTexture * | _tx
Options | _options
float * | _result
float | _weight
int | _firstChanOffset
int | _nchan
int | _ntxchan
DataType | _dt
BorderMode | _uMode
BorderMode | _vMode
EdgeFilterMode | _efm

## Detailed Description

Rectangular box filter.

The box is convolved with the texels as area samples and thus the kernel function is actually trapezoidally shaped.

Definition at line 311 of file PtexFilters.cpp.

## Constructor & Destructor Documentation

## ◆ PtexBoxFilter()

PtexBoxFilter::PtexBoxFilter | ( | PtexTexture * | tx,
|  | const PtexFilter::Options & | opts
| ) |  |
| inline

Definition at line 314 of file PtexFilters.cpp.

## Member Function Documentation

## ◆ buildKernel()

virtual void PtexBoxFilter::buildKernel | ( | PtexSeparableKernel & | k,
|  | float | u,
|  | float | v,
|  | float | uw,
|  | float | vw,
|  | Res | faceRes
| ) |  |
| inlineprotectedvirtual

Implements PtexSeparableFilter.

Definition at line 318 of file PtexFilters.cpp.

References PtexUtils::calcResFromWidth(), computeWeights(), PtexSeparableKernel::ku, PtexSeparableKernel::kv, PtexUtils::max(), PtexUtils::min(), PtexUtils::reciprocalPow2(), PtexSeparableKernel::res, PtexSeparableKernel::u, PtexSeparableKernel::uw, PtexSeparableKernel::v, and PtexSeparableKernel::vw.

## ◆ computeWeights()

void PtexBoxFilter::computeWeights | ( | float * | kernel,
|  | int | size,
|  | float | f1,
|  | float | f2
| ) |  |
| inlineprivate

Definition at line 358 of file PtexFilters.cpp.

Referenced by buildKernel().

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

- PtexFilters.cpp