55 lines
1.7 KiB
C
Executable File
55 lines
1.7 KiB
C
Executable File
/**********************************************************************
|
|
*<
|
|
FILE: channel.h
|
|
|
|
DESCRIPTION:
|
|
|
|
CREATED BY: Dan Silva
|
|
|
|
HISTORY:
|
|
|
|
*> Copyright (c) 1994, All Rights Reserved.
|
|
**********************************************************************/
|
|
|
|
|
|
|
|
#ifndef __CHANNEL__H
|
|
#define __CHANNEL__H
|
|
|
|
|
|
// Channels within the object.
|
|
#define NUM_OBJ_CHANS 10
|
|
|
|
// Indices for object channels
|
|
#define TOPO_CHAN_NUM 0
|
|
#define GEOM_CHAN_NUM 1
|
|
#define TEXMAP_CHAN_NUM 2
|
|
#define MTL_CHAN_NUM 3
|
|
#define SELECT_CHAN_NUM 4
|
|
#define SUBSEL_TYPE_CHAN_NUM 5
|
|
#define DISP_ATTRIB_CHAN_NUM 6
|
|
#define VERT_COLOR_CHAN_NUM 7
|
|
#define GFX_DATA_CHAN_NUM 8
|
|
#define DISP_APPROX_CHAN_NUM 9
|
|
|
|
// Bit flags for object channels
|
|
#define TOPO_CHANNEL (1<<0) // topology (faces, polygons etc)
|
|
#define GEOM_CHANNEL (1<<1) // vertices
|
|
#define TEXMAP_CHANNEL (1<<2) // texture vertices and mapping
|
|
#define MTL_CHANNEL (1<<3) // material on per face basis
|
|
#define SELECT_CHANNEL (1<<4) // selection bits
|
|
#define SUBSEL_TYPE_CHANNEL (1<<5) // vertex/face/edge
|
|
#define DISP_ATTRIB_CHANNEL (1<<6) // display attributes
|
|
#define VERTCOLOR_CHANNEL (1<<7) // color per vertex
|
|
#define GFX_DATA_CHANNEL (1<<8) // stripping, edge list, etc.
|
|
#define DISP_APPROX_CHANNEL (1<<9) // displacement approximation
|
|
|
|
#define TM_CHANNEL (1<<10) // Object transform (may be modified by modifiers)
|
|
#define GLOBMTL_CHANNEL (1<<31) // material applied to object as whole
|
|
|
|
#define OBJ_CHANNELS (TOPO_CHANNEL|GEOM_CHANNEL|SELECT_CHANNEL|TEXMAP_CHANNEL|MTL_CHANNEL|SUBSEL_TYPE_CHANNEL|DISP_ATTRIB_CHANNEL|VERTCOLOR_CHANNEL|GFX_DATA_CHANNEL|DISP_APPROX_CHANNEL)
|
|
#define ALL_CHANNELS (OBJ_CHANNELS|TM_CHANNEL|GLOBMTL_CHANNEL)
|
|
|
|
|
|
#endif // __CHANNEL__H
|