Ptex: Ptexture.h File Reference

Ptex

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List
- File Members

Classes | Macros | Enumerations | Functions | Variables
Ptexture.h File Reference

Public API classes for reading, writing, caching, and filtering Ptex files. More...

`#include "PtexInt.h"`
`#include <ostream>`

Go to the source code of this file.

## Classes
struct | Ptex
| Common data structures and enums used throughout the API. More...
struct | Ptex::Res
| Pixel resolution of a given texture. More...
struct | Ptex::FaceInfo
| Information about a face, as stored in the Ptex file header. More...
class | Ptex::String
| Memory-managed string. More...
struct | Res
| Pixel resolution of a given texture. More...
struct | FaceInfo
| Information about a face, as stored in the Ptex file header. More...
class | String
| Memory-managed string. More...
class | PtexMetaData
| Meta data accessor. More...
class | PtexFaceData
| Per-face texture data accessor. More...
class | PtexTexture
| Interface for reading data from a ptex file. More...
class | PtexInputHandler
| Custom handler interface for intercepting and redirecting Ptex input stream calls. More...
class | PtexCache
| File-handle and memory cache for reading ptex files. More...
class | PtexWriter
| Interface for writing data to a ptex file. More...
class | PtexFilter
| Interface for filtered sampling of ptex data files. More...
struct | PtexFilter::Options
| Choose filter options. More...
class | PtexPtr< T >
| Smart-pointer for acquiring and releasing API objects. More...

## Macros
#define | PTEXAPI
#define | PtexAPIVersion 2
#define | PtexFileMajorVersion 1
#define | PtexFileMinorVersion 3

## Enumerations
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...

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

## Variables
class PtexMetaData & | operator

## Detailed Description

Public API classes for reading, writing, caching, and filtering Ptex files.

Definition in file Ptexture.h.

## Macro Definition Documentation

#define PTEXAPI

Definition at line 58 of file Ptexture.h.

#define PtexAPIVersion 2

Definition at line 68 of file Ptexture.h.

#define PtexFileMajorVersion 1

Definition at line 69 of file Ptexture.h.

Referenced by PtexWriterBase::PtexWriterBase().

#define PtexFileMinorVersion 3

Definition at line 70 of file Ptexture.h.

Referenced by PtexWriterBase::PtexWriterBase().

## Enumeration Type Documentation

enum BorderMode

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 204 of file Ptexture.h.

enum DataType

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 196 of file Ptexture.h.

enum EdgeId

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 212 of file Ptexture.h.

enum MeshType

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 190 of file Ptexture.h.

enum MetaDataType

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 220 of file Ptexture.h.

## Function Documentation

static const char* operator::BorderModeName | ( | BorderMode | m | ) |
| static

Look up name of given border mode.

static void operator::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 operator::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 operator::DataSize | ( | DataType | dt | ) |
| static

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

Definition at line 245 of file Ptexture.h.

static const char* operator::DataTypeName | ( | DataType | dt | ) |
| static

Look up name of given data type.

static const char* operator::EdgeIdName | ( | EdgeId | eid | ) |
| static

Look up name of given edge ID.

static const char* operator::MeshTypeName | ( | MeshType | mt | ) |
| static

Look up name of given mesh type.

static const char* operator::MetaDataTypeName | ( | MetaDataType | mdt | ) |
| static

Look up name of given meta data type.

static float operator::OneValue | ( | DataType | dt | ) |
| static

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

Definition at line 251 of file Ptexture.h.

static float operator::OneValueInv | ( | DataType | dt | ) |
| static

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

Definition at line 257 of file Ptexture.h.

References Ptex::FaceInfo::setadjedges(), and Ptex::FaceInfo::setadjfaces().

## Variable Documentation

class PtexMetaData& operator