00001 /* M A T E R . H 00002 * BRL-CAD 00003 * 00004 * Copyright (c) 1985-2006 United States Government as represented by 00005 * the U.S. Army Research Laboratory. 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public License 00009 * as published by the Free Software Foundation; either version 2.1 of 00010 * the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, but 00013 * WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Library General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this file; see the file named COPYING for more 00019 * information. 00020 */ 00021 /** @addtogroup librt */ 00022 /*@{*/ 00023 /** @file mater.h 00024 *@brief 00025 * Information about mapping between region IDs and material 00026 * information (colors and outboard database "handles"). 00027 * 00028 * @author 00029 * Michael John Muuss 00030 * 00031 * @par Source 00032 * SECAD/VLD Computing Consortium, Bldg 394 00033 *@n The U. S. Army Ballistic Research Laboratory 00034 *@n Aberdeen Proving Ground, Maryland 21005 00035 * 00036 * $Header: /cvsroot/brlcad/brlcad/include/mater.h,v 14.9 2006/09/18 05:24:07 lbutler Exp $ 00037 */ 00038 00039 #include "bu.h" 00040 00041 #ifndef RT_EXPORT 00042 #if defined(_WIN32) && !defined(__CYGWIN__) && defined(BRLCAD_DLL) 00043 #ifdef RT_EXPORT_DLL 00044 #define RT_EXPORT __declspec(dllexport) 00045 #else 00046 #define RT_EXPORT __declspec(dllimport) 00047 #endif 00048 #else 00049 #define RT_EXPORT 00050 #endif 00051 #endif 00052 00053 struct mater { 00054 short mt_low; /**< @brief bounds of region IDs, inclusive */ 00055 short mt_high; 00056 unsigned char mt_r; /**< @brief color */ 00057 unsigned char mt_g; 00058 unsigned char mt_b; 00059 long mt_daddr; /**< @brief db address, for updating */ 00060 struct mater *mt_forw; /**< @brief next in chain */ 00061 }; 00062 #define MATER_NULL ((struct mater *)0) 00063 #define MATER_NO_ADDR (-1L) /**< @brief invalid mt_daddr */ 00064 00065 RT_EXPORT extern struct mater *rt_material_head; /**< @brief defined in mater.c */ 00066 RT_EXPORT BU_EXTERN(void rt_insert_color, 00067 (struct mater *newp)); 00068 /*@}*/ 00069 /* 00070 * Local Variables: 00071 * mode: C 00072 * tab-width: 8 00073 * c-basic-offset: 4 00074 * indent-tabs-mode: t 00075 * End: 00076 * ex: shiftwidth=4 tabstop=8 00077 */ 00078