Ptex
Public Types | Public Member Functions | Public Attributes | List of all members
FaceInfo Struct Reference

Information about a face, as stored in the Ptex file header. More...

#include <Ptexture.h>

Public Types

enum  { flag_constant = 1, flag_hasedits = 2, flag_nbconstant = 4, flag_subface = 8 }
 Flag bit values (for internal use). More...
 

Public Member Functions

 FaceInfo ()
 Default constructor, sets all members to zero. More...
 
 FaceInfo (Res res_)
 Constructor. More...
 
 FaceInfo (Res res_, int adjfaces_[4], int adjedges_[4], bool isSubface_=false)
 Constructor. More...
 
EdgeId adjedge (int eid) const
 Access an adjacent edge id. The eid value must be 0..3. More...
 
int adjface (int eid) const
 Access an adjacent face id. The eid value must be 0..3. More...
 
bool isConstant () const
 Determine if face is constant (by checking a flag). More...
 
bool isNeighborhoodConstant () const
 Determine if neighborhood of face is constant (by checking a flag). More...
 
bool hasEdits () const
 Determine if face has edits in the file (by checking a flag). More...
 
bool isSubface () const
 Determine if face is a subface (by checking a flag). More...
 
void setadjfaces (int f0, int f1, int f2, int f3)
 Set the adjfaces data. More...
 
void setadjedges (int e0, int e1, int e2, int e3)
 Set the adjedges data. More...
 

Public Attributes

Res res
 Resolution of face. More...
 
uint8_t adjedges
 Adjacent edges, 2 bits per edge. More...
 
uint8_t flags
 Flags. More...
 
int32_t adjfaces [4]
 Adjacent faces (-1 == no adjacent face). More...
 

Detailed Description

Information about a face, as stored in the Ptex file header.

The FaceInfo data contains the face resolution and neighboring face adjacency information as well as a set of flags describing the face.

The adjfaces data member contains the face ids of the four neighboring faces. The neighbors are accessed in EdgeId order, CCW, starting with the bottom edge. The adjedges data member contains the corresponding edge id for each neighboring face.

If a face has no neighbor for a given edge, the adjface id should be -1, and the adjedge id doesn't matter (but is typically zero).

If an adjacent face is a pair of subfaces, the id of the first subface as encountered in a CCW traversal should be stored as the adjface id.

Definition at line 350 of file Ptexture.h.

Member Enumeration Documentation

anonymous enum

Flag bit values (for internal use).

Enumerator
flag_constant 
flag_hasedits 
flag_nbconstant 
flag_subface 

Definition at line 403 of file Ptexture.h.

Constructor & Destructor Documentation

FaceInfo::FaceInfo ( )
inline

Default constructor, sets all members to zero.

Definition at line 357 of file Ptexture.h.

FaceInfo::FaceInfo ( Res  res_)
inline

Constructor.

Definition at line 363 of file Ptexture.h.

FaceInfo::FaceInfo ( Res  res_,
int  adjfaces_[4],
int  adjedges_[4],
bool  isSubface_ = false 
)
inline

Constructor.

Definition at line 369 of file Ptexture.h.

Member Function Documentation

EdgeId FaceInfo::adjedge ( int  eid) const
inline

Access an adjacent edge id. The eid value must be 0..3.

Definition at line 377 of file Ptexture.h.

int FaceInfo::adjface ( int  eid) const
inline

Access an adjacent face id. The eid value must be 0..3.

Definition at line 380 of file Ptexture.h.

bool FaceInfo::hasEdits ( ) const
inline

Determine if face has edits in the file (by checking a flag).

Definition at line 389 of file Ptexture.h.

bool FaceInfo::isConstant ( ) const
inline

Determine if face is constant (by checking a flag).

Definition at line 383 of file Ptexture.h.

bool FaceInfo::isNeighborhoodConstant ( ) const
inline

Determine if neighborhood of face is constant (by checking a flag).

Definition at line 386 of file Ptexture.h.

bool FaceInfo::isSubface ( ) const
inline

Determine if face is a subface (by checking a flag).

Definition at line 392 of file Ptexture.h.

void FaceInfo::setadjedges ( int  e0,
int  e1,
int  e2,
int  e3 
)
inline

Set the adjedges data.

Definition at line 399 of file Ptexture.h.

void FaceInfo::setadjfaces ( int  f0,
int  f1,
int  f2,
int  f3 
)
inline

Set the adjfaces data.

Definition at line 395 of file Ptexture.h.

Member Data Documentation

uint8_t FaceInfo::adjedges

Adjacent edges, 2 bits per edge.

Definition at line 352 of file Ptexture.h.

int32_t FaceInfo::adjfaces[4]

Adjacent faces (-1 == no adjacent face).

Definition at line 354 of file Ptexture.h.

uint8_t FaceInfo::flags

Flags.

Definition at line 353 of file Ptexture.h.

Res FaceInfo::res

Resolution of face.

Definition at line 351 of file Ptexture.h.


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