FaceRemap Class Reference

FaceRemap Class Reference

#include <meshdelta.h>

Class Description

This class represents the notion of a mesh edit Face Remap, which changes one or more of the vertices a face uses.

It can also alter the visibility of the face's edge, its hidden state and its material ID.

See also
Class Mesh, Class Face, Class Point3.
+ Inheritance diagram for FaceRemap:

Public Member Functions

 FaceRemap ()
 
DllExport FaceRemap (DWORD faceIndex, DWORD flag, DWORD *vertexIndexArray)
 
DllExport void Apply (Face &ff)
 
DllExport void Apply (TVFace &tf)
 
DllExport void Apply (FaceRemap &fr)
 
Face operator* (Face &ff)
 
TVFace operator* (TVFace &ff)
 

Public Attributes

DWORD f
 Face being remapped. This is a zero based index into the Mesh's faces array. More...
 
DWORD flags
 Specifies which vertices to remap. More...
 
DWORD v [3]
 Array of vertex indices. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 

Constructor & Destructor Documentation

FaceRemap ( )
inline
Remarks
Constructor. The flags and f are set to 0.
173 { f=flags=0; }
DWORD f
Face being remapped. This is a zero based index into the Mesh's faces array.
Definition: meshdelta.h:162
DWORD flags
Specifies which vertices to remap.
Definition: meshdelta.h:168
DllExport FaceRemap ( DWORD  faceIndex,
DWORD  flag,
DWORD *  vertexIndexArray 
)
Remarks
Constructor.
Parameters
faceIndex- The face to remap.
flag- The flags to set.
vertexIndexArray- The array of vertex indices.

Member Function Documentation

DllExport void Apply ( Face ff)
Remarks
Applies the vertex remapping to the given face based on the flags of this FaceRemap object.
Parameters
ff- The face whose vertices are remapped.
DllExport void Apply ( TVFace tf)
Remarks
Applies the vertex remapping to the given map face based on the flags of this FaceRemap object.
Parameters
tf- The texture face whose tVerts are remapped by the verts of this FaceRemap object. The v data member used contains indices into the mesh object's tVerts array.
DllExport void Apply ( FaceRemap fr)
Remarks
Assigns the flags and verts of this FaceRemap object to the FaceRemap passed.
Parameters
fr- The FaceRemap whose flags and verts are assigned.
Face operator* ( Face ff)
inline
Remarks
Returns a new Face with the FaceRemap applied.
194 { Face nf=ff; Apply(nf); return nf; }
This class represents a single triangular face.
Definition: mesh.h:191
DllExport void Apply(Face &ff)
TVFace operator* ( TVFace ff)
inline
Remarks
Returns a new TVFace with the FaceRemap applied.
196 { TVFace nf=ff; Apply(nf); return nf; }
This class is used for texture faces as well as vertex colors.
Definition: mesh.h:359
DllExport void Apply(Face &ff)

Member Data Documentation

DWORD f

Face being remapped. This is a zero based index into the Mesh's faces array.

DWORD flags

Specifies which vertices to remap.

One or more of the following values: FR_V0 - Remap the 0th vertex. FR_V1 - Remap the 1st vertex. FR_V2 - Remap the 2nd vertex. FR_ALL - Remap all the vertices.

DWORD v[3]

Array of vertex indices.

These indicate which vertex is used by each specified corner of the face being remapped.