00001 //**************************************************************************/ 00002 // Copyright (c) 1998-2010 Autodesk, Inc. 00003 // All rights reserved. 00004 // 00005 // These coded instructions, statements, and computer programs contain 00006 // unpublished proprietary information written by Autodesk, Inc., and are 00007 // protected by Federal copyright law. They may not be disclosed to third 00008 // parties or copied or duplicated in any form, in whole or in part, without 00009 // the prior written consent of Autodesk, Inc. 00010 //**************************************************************************/ 00011 #pragma once 00012 00013 #include "ioapi.h" 00014 #include "ExcludeListConstants.h" 00015 00023 class NameTab: public Tab<MCHAR *> { 00024 ULONG flags; 00025 public: 00027 00028 NameTab() { flags = NT_AFFECT_ILLUM|NT_AFFECT_SHADOWCAST; } 00029 00031 UtilExport ~NameTab(); 00032 00033 // From Tab 00035 00040 UtilExport void ZeroCount(); 00041 00043 UtilExport NameTab& operator=(const NameTab& n); 00044 00046 00053 void SetFlag(ULONG f, BOOL b=1){ if (b) flags|=f; else flags &= ~f; } 00054 00056 00063 BOOL TestFlag(ULONG f){ return (flags&f)?1:0; } 00064 00066 00068 UtilExport int AddName(const MCHAR *n); 00069 00071 00074 UtilExport void SetName(int i, const MCHAR *n); 00075 00077 00079 UtilExport void SetSize(int num); 00080 00082 00083 UtilExport void RemoveName(int i); 00084 00086 00088 UtilExport int FindName(const MCHAR* n); 00089 00091 00093 UtilExport IOResult Load(ILoad *iload); 00094 00096 00098 UtilExport IOResult Save(ISave *isave); 00099 }; 00100 00101