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

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

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

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

namespace  Ptex
 Common data structures and enums used throughout the API.
 

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

Detailed Description

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

Definition in file Ptexture.h.