Ptex
Classes | Public Types | Static Public Member Functions | List of all members
Ptex Struct Reference

Common data structures and enums used throughout the API. More...

#include <Ptexture.h>

Inheritance diagram for Ptex:
PtexIO PtexSeparableFilter PtexSeparableKernel PtexTriangleFilter PtexTriangleKernel PtexTriangleKernelIter PtexUtils PtexReader PtexWriterBase PtexIncrWriter PtexMainWriter

Classes

struct  FaceInfo
 Information about a face, as stored in the Ptex file header. More...
 
struct  Res
 Pixel resolution of a given texture. More...
 
class  String
 Memory-managed string. More...
 

Public Types

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

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

Common data structures and enums used throughout the API.

Definition at line 73 of file Ptexture.h.

Member Enumeration Documentation

How to handle mesh border when filtering.

Enumerator
m_clamp 

texel access is clamped to border

m_black 

texel beyond border are assumed to be black

m_periodic 

texel access wraps to other side of face

Definition at line 91 of file Ptexture.h.

Type of data stored in texture file.

Enumerator
dt_uint8 

Unsigned, 8-bit integer.

dt_uint16 

Unsigned, 16-bit integer.

dt_half 

Half-precision (16-bit) floating point.

dt_float 

Single-precision (32-bit) floating point.

Definition at line 83 of file Ptexture.h.

Edge IDs used in adjacency data in the Ptex::FaceInfo struct.

Edge ID usage for triangle meshes is TBD.

Enumerator
e_bottom 

Bottom edge, from UV (0,0) to (1,0)

e_right 

Right edge, from UV (1,0) to (1,1)

e_top 

Top edge, from UV (1,1) to (0,1)

e_left 

Left edge, from UV (0,1) to (0,0)

Definition at line 99 of file Ptexture.h.

Type of base mesh for which the textures are defined.

A mesh can be triangle-based (with triangular textures) or quad-based (with rectangular textures).

Enumerator
mt_triangle 

Mesh is triangle-based.

mt_quad 

Mesh is quad-based.

Definition at line 77 of file Ptexture.h.

Type of meta data entry.

Enumerator
mdt_string 

Null-terminated string.

mdt_int8 

Signed 8-bit integer.

mdt_int16 

Signed 16-bit integer.

mdt_int32 

Signed 32-bit integer.

mdt_float 

Single-precision (32-bit) floating point.

mdt_double 

Double-precision (32-bit) floating point.

Definition at line 107 of file Ptexture.h.

Member Function Documentation

const char * Ptex::BorderModeName ( BorderMode  m)
static

Look up name of given border mode.

Definition at line 63 of file PtexUtils.cpp.

void Ptex::ConvertFromFloat ( void *  dst,
const float *  src,
Ptex::DataType  dt,
int  numChannels 
)
static

Convert a number of data values from float to the given data type.

Definition at line 118 of file PtexUtils.cpp.

References dt_float, dt_half, dt_uint16, and dt_uint8.

void Ptex::ConvertToFloat ( float *  dst,
const void *  src,
Ptex::DataType  dt,
int  numChannels 
)
static

Convert a number of data values from the given data type to float.

Definition at line 107 of file PtexUtils.cpp.

References dt_float, dt_half, dt_uint16, and dt_uint8.

Referenced by PtexSeparableFilter::eval(), PtexTriangleFilter::eval(), and PtexReader::getPixel().

static int Ptex::DataSize ( DataType  dt)
inlinestatic
const char * Ptex::DataTypeName ( DataType  dt)
static

Look up name of given data type.

Definition at line 54 of file PtexUtils.cpp.

const char * Ptex::EdgeIdName ( EdgeId  eid)
static

Look up name of given edge ID.

Definition at line 72 of file PtexUtils.cpp.

const char * Ptex::MeshTypeName ( MeshType  mt)
static

Look up name of given mesh type.

Definition at line 45 of file PtexUtils.cpp.

const char * Ptex::MetaDataTypeName ( MetaDataType  mdt)
static

Look up name of given meta data type.

Definition at line 81 of file PtexUtils.cpp.

static float Ptex::OneValue ( DataType  dt)
inlinestatic

Look up value of given data type that corresponds to the normalized value of 1.0.

Definition at line 138 of file Ptexture.h.

Referenced by PtexUtils::divalpha(), PtexSeparableFilter::eval(), and PtexTriangleFilter::eval().

static float Ptex::OneValueInv ( DataType  dt)
inlinestatic

Lookup up inverse value of given data type that corresponds to the normalized value of 1.0.

Definition at line 144 of file Ptexture.h.

Referenced by PtexUtils::multalpha().


The documentation for this struct was generated from the following files: