Ptex
Classes | Namespaces | Macros | Enumerations | Functions
Ptexture.h File Reference

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

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

Go to the source code of this file.

Classes

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...
 
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...
 
struct  PtexTexture::Info
 Get most commonly used info in a single call for convenience / efficiency. More...
 
class  PtexInputHandler
 Custom handler interface for intercepting and redirecting Ptex input stream calls. More...
 
class  PtexErrorHandler
 Custom handler interface redirecting Ptex error messages. More...
 
class  PtexCache
 File-handle and memory cache for reading ptex files. More...
 
struct  PtexCache::Stats
 
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...
 

Namespaces

 Ptex
 Common data structures and enums used throughout the API.
 

Macros

#define PTEXAPI
 

Enumerations

enum  Ptex::MeshType { Ptex::mt_triangle, Ptex::mt_quad }
 Type of base mesh for which the textures are defined. More...
 
enum  Ptex::DataType { Ptex::dt_uint8, Ptex::dt_uint16, Ptex::dt_half, Ptex::dt_float }
 Type of data stored in texture file. More...
 
enum  Ptex::EdgeFilterMode { Ptex::efm_none, Ptex::efm_tanvec }
 How to handle transformation across edges when filtering. More...
 
enum  Ptex::BorderMode { Ptex::m_clamp, Ptex::m_black, Ptex::m_periodic }
 How to handle mesh border when filtering. More...
 
enum  Ptex::EdgeId { Ptex::e_bottom, Ptex::e_right, Ptex::e_top, Ptex::e_left }
 Edge IDs used in adjacency data in the Ptex::FaceInfo struct. More...
 
enum  Ptex::MetaDataType {
  Ptex::mdt_string, Ptex::mdt_int8, Ptex::mdt_int16, Ptex::mdt_int32,
  Ptex::mdt_float, Ptex::mdt_double
}
 Type of meta data entry. More...
 

Functions

const char * Ptex::MeshTypeName (MeshType mt)
 Look up name of given mesh type. More...
 
const char * Ptex::DataTypeName (DataType dt)
 Look up name of given data type. More...
 
const char * Ptex::BorderModeName (BorderMode m)
 Look up name of given border mode. More...
 
const char * Ptex::EdgeFilterModeName (EdgeFilterMode m)
 Look up name of given edge filter mode. More...
 
const char * Ptex::EdgeIdName (EdgeId eid)
 Look up name of given edge ID. More...
 
const char * Ptex::MetaDataTypeName (MetaDataType mdt)
 Look up name of given meta data type. More...
 
int Ptex::DataSize (DataType dt)
 Look up size of given data type (in bytes). More...
 
float Ptex::OneValue (DataType dt)
 Look up value of given data type that corresponds to the normalized value of 1.0. More...
 
float Ptex::OneValueInv (DataType dt)
 Lookup up inverse value of given data type that corresponds to the normalized value of 1.0. More...
 
void Ptex::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...
 
void Ptex::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

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

Definition in file Ptexture.h.

Macro Definition Documentation

◆ PTEXAPI

#define PTEXAPI

Definition at line 59 of file Ptexture.h.