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>

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.

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

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.

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)

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.

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.

Member Function Documentation

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

Look up name of given border mode.

static 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.

static 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.

static int Ptex::DataSize ( DataType  dt)
inlinestatic

Look up size of given data type (in bytes).

static const char* Ptex::DataTypeName ( DataType  dt)
static

Look up name of given data type.

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

Look up name of given edge ID.

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

Look up name of given mesh type.

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

Look up name of given meta data type.

static float Ptex::OneValue ( DataType  dt)
inlinestatic

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

static float Ptex::OneValueInv ( DataType  dt)
inlinestatic

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