Ptex

Classes | Typedefs | Functions | Variables
PtexUtils Namespace Reference

## Classes
struct | VecAccum
struct | VecAccum< T, 0 >
struct | VecAccumN
struct | VecMult
struct | VecMult< T, 0 >
struct | VecMultN

## Typedefs
typedef void | ReduceFn(const void *src, int sstride, int ures, int vres, void *dst, int dstride, DataType dt, int nchannels)
typedef void(* | ApplyConstFn) (float weight, float *dst, void *data, int nChan)

## Functions
bool | isConstant (const void *data, int stride, int ures, int vres, int pixelSize)
void | interleave (const void *src, int sstride, int uw, int vw, void *dst, int dstride, DataType dt, int nchan)
void | deinterleave (const void *src, int sstride, int uw, int vw, void *dst, int dstride, DataType dt, int nchan)
void | encodeDifference (void *data, size_t size, DataType dt)
void | decodeDifference (void *data, size_t size, DataType dt)
void | reduce (const void *src, int sstride, int uw, int vw, void *dst, int dstride, DataType dt, int nchan)
void | reduceu (const void *src, int sstride, int uw, int vw, void *dst, int dstride, DataType dt, int nchan)
void | reducev (const void *src, int sstride, int uw, int vw, void *dst, int dstride, DataType dt, int nchan)
void | reduceTri (const void *src, int sstride, int w, int, void *dst, int dstride, DataType dt, int nchan)
void | fill (const void *src, void *dst, int dstride, int ures, int vres, int pixelsize)
void | copy (const void *src, int sstride, void *dst, int dstride, int vres, int rowlen)
void | blend (const void *src, float weight, void *dst, bool flip, int rowlen, DataType dt, int nchan)
void | average (const void *src, int sstride, int uw, int vw, void *dst, DataType dt, int nchan)
void | multalpha (void *data, int npixels, DataType dt, int nchannels, int alphachan)
void | divalpha (void *data, int npixels, DataType dt, int nchannels, int alphachan)
void | genRfaceids (const FaceInfo *faces, int nfaces, uint32_t *rfaceids, uint32_t *faceids)
bool | isPowerOfTwo (int x)
uint32_t | ones (uint32_t x)
uint32_t | floor_log2 (uint32_t x)
uint32_t | ceil_log2 (uint32_t x)
float | reciprocalPow2 (int power)
int | calcResFromWidth (float w)
float | smoothstep (float x, float a, float b)
float | qsmoothstep (float x, float a, float b)
template<typename T>
T | halve (T val)
float | halve (float val)
PtexHalf | halve (PtexHalf val)
template<typename T>
T | quarter (T val)
float | quarter (float val)
PtexHalf | quarter (PtexHalf val)
void | applyConst (float weight, float *dst, void *data, Ptex::DataType dt, int nChan)

## Variables
ApplyConstFn | applyConstFunctions [20]

## Typedef Documentation

## ◆ ApplyConstFn

typedef void(* PtexUtils::ApplyConstFn) (float weight, float *dst, void *data, int nChan)

Definition at line 259 of file PtexUtils.h.

## ◆ ReduceFn

typedef void PtexUtils::ReduceFn(const void *src, int sstride, int ures, int vres, void *dst, int dstride, DataType dt, int nchannels)

Definition at line 167 of file PtexUtils.h.

## Function Documentation

## ◆ applyConst()

void PtexUtils::applyConst | ( | float | weight,
|  | float * | dst,
|  | void * | data,
|  | Ptex::DataType | dt,
|  | int | nChan )
| inline

Definition at line 261 of file PtexUtils.h.

References applyConstFunctions.

Referenced by PtexSeparableKernel::applyConst(), and PtexTriangleKernelIter::applyConst().

## ◆ average()

void PtexUtils::average | ( | const void * | src,
|  | int | sstride,
|  | int | uw,
|  | int | vw,
|  | void * | dst,
|  | DataType | dt,
|  | int | nchan )

Definition at line 522 of file PtexUtils.cpp.

References average().

Referenced by average(), and PtexMainWriter::storeConstValue().

## ◆ blend()

void PtexUtils::blend | ( | const void * | src,
|  | float | weight,
|  | void * | dst,
|  | bool | flip,
|  | int | rowlen,
|  | DataType | dt,
|  | int | nchan )

Definition at line 480 of file PtexUtils.cpp.

References blend().

Referenced by blend().

## ◆ calcResFromWidth()

int PtexUtils::calcResFromWidth | ( | float | w | ) |
| inline

Definition at line 111 of file PtexUtils.h.

Referenced by PtexBilinearFilter::buildKernel(), PtexBoxFilter::buildKernel(), PtexTriangleFilter::buildKernel(), and PtexWidth4Filter::buildKernelAxis().

## ◆ ceil_log2()

uint32_t PtexUtils::ceil_log2 | ( | uint32_t | x | ) |
| inline

Definition at line 90 of file PtexUtils.h.

References isPowerOfTwo(), and ones().

## ◆ copy()

void PtexUtils::copy | ( | const void * | src,
|  | int | sstride,
|  | void * | dst,
|  | int | dstride,
|  | int | vres,
|  | int | rowlen )

Definition at line 438 of file PtexUtils.cpp.

Referenced by PtexReader::getData(), PtexReader::TiledFaceBase::reduce(), and PtexMainWriter::writeFace().

## ◆ decodeDifference()

void PtexUtils::decodeDifference | ( | void * | data,
|  | size_t | size,
|  | DataType | dt )

Definition at line 271 of file PtexUtils.cpp.

References decodeDifference().

Referenced by decodeDifference(), and PtexReader::readFaceData().

## ◆ deinterleave()

void PtexUtils::deinterleave | ( | const void * | src,
|  | int | sstride,
|  | int | uw,
|  | int | vw,
|  | void * | dst,
|  | int | dstride,
|  | DataType | dt,
|  | int | nchan )

Definition at line 226 of file PtexUtils.cpp.

References deinterleave().

Referenced by PtexMainWriter::compressFaceDataBlock(), and deinterleave().

## ◆ divalpha()

void PtexUtils::divalpha | ( | void * | data,
|  | int | npixels,
|  | DataType | dt,
|  | int | nchannels,
|  | int | alphachan )

Definition at line 618 of file PtexUtils.cpp.

References divalpha().

Referenced by divalpha(), and PtexMainWriter::storeConstValue().

## ◆ encodeDifference()

void PtexUtils::encodeDifference | ( | void * | data,
|  | size_t | size,
|  | DataType | dt )

Definition at line 251 of file PtexUtils.cpp.

References encodeDifference().

Referenced by PtexMainWriter::compressFaceDataBlock(), and encodeDifference().

## ◆ fill()

void PtexUtils::fill | ( | const void * | src,
|  | void * | dst,
|  | int | dstride,
|  | int | ures,
|  | int | vres,
|  | int | pixelsize )

Definition at line 422 of file PtexUtils.cpp.

Referenced by PtexReader::getData(), PtexReader::TiledReducedFace::getTile(), and PtexReader::TiledFaceBase::reduce().

## ◆ floor_log2()

uint32_t PtexUtils::floor_log2 | ( | uint32_t | x | ) |
| inline

Definition at line 79 of file PtexUtils.h.

References ones().

Referenced by PtexMainWriter::calcTileRes().

## ◆ genRfaceids()

void PtexUtils::genRfaceids | ( | const FaceInfo * | faces,
|  | int | nfaces,
|  | uint32_t * | rfaceids,
|  | uint32_t * | faceids )

Definition at line 630 of file PtexUtils.cpp.

Referenced by PtexMainWriter::finish(), and PtexReader::readFaceInfo().

## ◆ halve() [1/3]

float PtexUtils::halve | ( | float | val | ) |
| inline

Definition at line 141 of file PtexUtils.h.

## ◆ halve() [2/3]

PtexHalf PtexUtils::halve | ( | PtexHalf | val | ) |
| inline

Definition at line 142 of file PtexUtils.h.

## ◆ halve() [3/3]

template<typename T>

T PtexUtils::halve | ( | T | val | ) |
| inline

Definition at line 139 of file PtexUtils.h.

## ◆ interleave()

void PtexUtils::interleave | ( | const void * | src,
|  | int | sstride,
|  | int | uw,
|  | int | vw,
|  | void * | dst,
|  | int | dstride,
|  | DataType | dt,
|  | int | nchan )

Definition at line 189 of file PtexUtils.cpp.

References interleave().

Referenced by interleave(), and PtexReader::readFaceData().

## ◆ isConstant()

bool PtexUtils::isConstant | ( | const void * | data,
|  | int | stride,
|  | int | ures,
|  | int | vres,
|  | int | pixelSize )

Definition at line 147 of file PtexUtils.cpp.

Referenced by PtexMainWriter::compressFaceData(), and PtexMainWriter::writeFace().

## ◆ isPowerOfTwo()

bool PtexUtils::isPowerOfTwo | ( | int | x | ) |
| inline

Definition at line 63 of file PtexUtils.h.

Referenced by ceil_log2().

## ◆ multalpha()

void PtexUtils::multalpha | ( | void * | data,
|  | int | npixels,
|  | DataType | dt,
|  | int | nchannels,
|  | int | alphachan )

Definition at line 579 of file PtexUtils.cpp.

References multalpha().

Referenced by multalpha(), PtexReader::readConstData(), PtexReader::readFaceData(), and PtexMainWriter::writeFace().

## ◆ ones()

uint32_t PtexUtils::ones | ( | uint32_t | x | ) |
| inline

Definition at line 68 of file PtexUtils.h.

Referenced by ceil_log2(), and floor_log2().

## ◆ qsmoothstep()

float PtexUtils::qsmoothstep | ( | float | x,
|  | float | a,
|  | float | b )
| inline

Definition at line 129 of file PtexUtils.h.

## ◆ quarter() [1/3]

float PtexUtils::quarter | ( | float | val | ) |
| inline

Definition at line 147 of file PtexUtils.h.

## ◆ quarter() [2/3]

PtexHalf PtexUtils::quarter | ( | PtexHalf | val | ) |
| inline

Definition at line 148 of file PtexUtils.h.

## ◆ quarter() [3/3]

template<typename T>

T PtexUtils::quarter | ( | T | val | ) |
| inline

Definition at line 145 of file PtexUtils.h.

## ◆ reciprocalPow2()

float PtexUtils::reciprocalPow2 | ( | int | power | ) |
| inline

Definition at line 102 of file PtexUtils.h.

Referenced by PtexBilinearFilter::buildKernel(), PtexBoxFilter::buildKernel(), and PtexWidth4Filter::buildKernelAxis().

## ◆ reduce()

void PtexUtils::reduce | ( | const void * | src,
|  | int | sstride,
|  | int | uw,
|  | int | vw,
|  | void * | dst,
|  | int | dstride,
|  | DataType | dt,
|  | int | nchan )

Definition at line 299 of file PtexUtils.cpp.

References reduce().

Referenced by PtexMainWriter::PtexMainWriter(), and reduce().

## ◆ reduceTri()

void PtexUtils::reduceTri | ( | const void * | src,
|  | int | sstride,
|  | int | w,
|  | int | ,
|  | void * | dst,
|  | int | dstride,
|  | DataType | dt,
|  | int | nchan )

Definition at line 406 of file PtexUtils.cpp.

References reduceTri().

Referenced by PtexReader::getData(), PtexMainWriter::PtexMainWriter(), and reduceTri().

## ◆ reduceu()

void PtexUtils::reduceu | ( | const void * | src,
|  | int | sstride,
|  | int | uw,
|  | int | vw,
|  | void * | dst,
|  | int | dstride,
|  | DataType | dt,
|  | int | nchan )

Definition at line 333 of file PtexUtils.cpp.

References reduceu().

Referenced by PtexReader::getData(), and reduceu().

## ◆ reducev()

void PtexUtils::reducev | ( | const void * | src,
|  | int | sstride,
|  | int | uw,
|  | int | vw,
|  | void * | dst,
|  | int | dstride,
|  | DataType | dt,
|  | int | nchan )

Definition at line 366 of file PtexUtils.cpp.

References reducev().

Referenced by PtexReader::getData(), and reducev().

## ◆ smoothstep()

float PtexUtils::smoothstep | ( | float | x,
|  | float | a,
|  | float | b )
| inline

Definition at line 121 of file PtexUtils.h.

## Variable Documentation

## ◆ applyConstFunctions

ApplyConstFn PtexUtils::applyConstFunctions

Initial value:
= {
ApplyConstN<uint8_t>, ApplyConstN<uint16_t>, ApplyConstN<PtexHalf>, ApplyConstN<float>,
ApplyConst<uint8_t,1>, ApplyConst<uint16_t,1>, ApplyConst<PtexHalf,1>, ApplyConst<float,1>,
ApplyConst<uint8_t,2>, ApplyConst<uint16_t,2>, ApplyConst<PtexHalf,2>, ApplyConst<float,2>,
ApplyConst<uint8_t,3>, ApplyConst<uint16_t,3>, ApplyConst<PtexHalf,3>, ApplyConst<float,3>,
ApplyConst<uint8_t,4>, ApplyConst<uint16_t,4>, ApplyConst<PtexHalf,4>, ApplyConst<float,4>,
}

Definition at line 668 of file PtexUtils.cpp.

Referenced by applyConst().