See Also: class MeshNormalSpec
This class is available in release 6.0 and later only.
This class is used to store specified normal information for a particular face in a Mesh. An array of these faces is used in class MeshNormalSpec to match vertex normals to vertices.
Each MeshNormalFace contains a bit indicating whether each corner is specified, and a Normal ID for each specified corner.
#include <MeshNormalSpec.h>

Public Member Functions |
|
| MeshNormalFace () | |
| Constructor - sets all corners to
"unspecified". |
|
| DllExport void | Clear () |
| Resets all corners to "unspecified".
|
|
| int | GetNormalID (int corner) |
| Accessor for normal in a particular corner
of the face. |
|
| void | SetNormalID (int corner, int norm) |
| Setter for the normal used in a particular
corner of the face. |
|
| int * | GetNormalIDArray () |
| return an array of 3 normal IDs |
|
| bool | GetSpecified (int corner) |
| Indicates whether the normal used in a
particular corner is specified or not. |
|
| DllExport void | SetSpecified (int corner, bool value=true) |
| Sets the normal used by the corner to be
specified or not. |
|
| DllExport void | SpecifyNormalID (int corner, int norm) |
| Sets the normal used by the corner to be
specified, and to use the particular normal given. |
|
| void | SpecifyAll (bool value=true) |
| Sets this face to have all its normals
specified. |
|
| DllExport void | Flip () |
| Reverses the order of the normals. |
|
| DllExport MeshNormalFace & | operator= (const MeshNormalFace &from) |
| Standard = operator. |
|
| DllExport void | MyDebugPrint (bool printAll=false) |
| Using DebugPrint, output information about
this MeshNormalFace. |
|
| DllExport IOResult | Save (ISave *isave) |
| Save to file. |
|
| DllExport IOResult | Load (ILoad *iload) |
| Load from file. |
|
| MeshNormalFace | ( | ) | [inline] |
Constructor - sets all corners to "unspecified".
: mSpecified(0x0) { }
| DllExport void Clear | ( | ) |
Resets all corners to "unspecified".
| int GetNormalID | ( | int | corner | ) | [inline] |
Accessor for normal in a particular corner of the face.
| corner | The (zero-based) index of the corner of the face |
{ return ((corner>-1) && (corner<3)) ? mNormalID[corner] : -1; }
| void SetNormalID | ( | int | corner, |
| int | norm | ||
| ) | [inline] |
Setter for the normal used in a particular corner of the face.
| corner | The (zero-based) index of the corner of the face |
| norm | The index of the normal (in the owner MeshNormalSpec's normal array). |
{ if ((corner>-1) && (corner<3)) mNormalID[corner] = norm; }
| int* GetNormalIDArray | ( | ) | [inline] |
return an array of 3 normal IDs
{ return mNormalID; }
| bool GetSpecified | ( | int | corner | ) | [inline] |
Indicates whether the normal used in a particular corner is specified or not.
{ return ((corner>-1) && (corner<3) && (mSpecified & (1<<corner))) ? true : false; }
| DllExport void SetSpecified | ( | int | corner, |
| bool | value = true |
||
| ) |
Sets the normal used by the corner to be specified or not.
| DllExport void SpecifyNormalID | ( | int | corner, |
| int | norm | ||
| ) |
Sets the normal used by the corner to be specified, and to use the particular normal given.
| void SpecifyAll | ( | bool | value = true |
) | [inline] |
Sets this face to have all its normals specified.
{ mSpecified = value ? 7 : 0; }
| DllExport void Flip | ( | ) |
Reverses the order of the normals.
Corner 0 is unaffected, but corner 1 is switched with corner 2.
| DllExport MeshNormalFace& operator= | ( | const MeshNormalFace & | from | ) |
Standard = operator.
| DllExport void MyDebugPrint | ( | bool | printAll = false |
) |
Using DebugPrint, output information about this MeshNormalFace.
If "printAll" is true, it will print normal IDs for both specified and unspecified normals; otherwise it'll print only the specified ones. Typical output for a partially specified face: "_7 3 _5" (printAll==true) or "_ 3 _" (printAll==false). A newline is printed at the end.
Save to file.
Load from file.