//============================================================================= // // OpenMesh // Copyright (C) 2003 by Computer Graphics Group, RWTH Aachen // www.openmesh.org // //----------------------------------------------------------------------------- // // License // // This library is free software; you can redistribute it and/or modify it // under the terms of the GNU Lesser General Public License as published // by the Free Software Foundation, version 2.1. // // This library is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // //----------------------------------------------------------------------------- // // $Revision$ // $Date$ // //============================================================================= /** \file Attributes.hh This file provides some macros containing attribute usage. */ #ifndef OPENMESH_ATTRIBUTES_HH #define OPENMESH_ATTRIBUTES_HH //== INCLUDES ================================================================= #include #include //== NAMESPACES =============================================================== namespace OpenMesh { namespace Attributes { //== CLASS DEFINITION ======================================================== /** Attribute bits * * Use the bits to define a standard property at compile time using traits. * * \include traits5.cc * * \see \ref mesh_type */ enum AttributeBits { None = 0, ///< Clear all attribute bits Normal = 1, ///< Add normals to mesh item (vertices/faces) Color = 2, ///< Add colors to mesh item (vertices/faces) PrevHalfedge = 4, ///< Add storage for previous halfedge (halfedges). The bit is set by default in the DefaultTraits. Status = 8, ///< Add status to mesh item (all items) TexCoord1D = 16, ///< Add 1D texture coordinates (vertices, halfedges) TexCoord2D = 32, ///< Add 2D texture coordinates (vertices, halfedges) TexCoord3D = 64, ///< Add 3D texture coordinates (vertices, halfedges) TextureIndex = 128 ///< Add texture index (faces) }; //============================================================================= } // namespace Attributes } // namespace OpenMesh //============================================================================= #endif // OPENMESH_ATTRIBUTES_HH defined //=============================================================================