/********************************************************************** *< FILE: MNNormalSpec.h DESCRIPTION: User-specifiable normals for MNMeshes - Luna task 747 CREATED BY: Steve Anderson HISTORY: created January 2002 *> Copyright (c) 2002 Autodesk, Inc., All Rights Reserved. **********************************************************************/ // Necessary prior inclusions: max.h, mnmesh.h #ifndef __MN_NORMALS_H_ #define __MN_NORMALS_H_ #include "baseinterface.h" #include "ipipelineclient.h" #define MN_NORMAL_SPEC_INTERFACE Interface_ID(0x7b7c2c5f, 0xf94260f) class MNNormalFace { int mDegree; int *mpNormalID; BitArray mSpecified; public: MNNormalFace () : mDegree(0), mpNormalID(NULL) { } DllExport MNNormalFace (int degree); ~MNNormalFace () { Clear(); } DllExport void Init(); DllExport void Clear(); // Data accessors int GetDegree() { return mDegree; } DllExport void SetDegree (int degree); // Low-level - do not use mSpecified data! int GetNormalID(int corner) { return (mpNormalID && (corner