channels.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /**********************************************************************
  2. *<
  3. FILE: channel.h
  4. DESCRIPTION:
  5. CREATED BY: Dan Silva
  6. HISTORY:
  7. *> Copyright (c) 1994, All Rights Reserved.
  8. **********************************************************************/
  9. #ifndef __CHANNEL__H
  10. #define __CHANNEL__H
  11. // Channels within the object.
  12. #define NUM_OBJ_CHANS 7
  13. // Indices for object channels
  14. #define TOPO_CHAN_NUM 0
  15. #define GEOM_CHAN_NUM 1
  16. #define TEXMAP_CHAN_NUM 2
  17. #define MTL_CHAN_NUM 3
  18. #define SELECT_CHAN_NUM 4
  19. #define SUBSEL_TYPE_CHAN_NUM 5
  20. #define DISP_ATTRIB_CHAN_NUM 6
  21. // Bit flags for object channels
  22. #define TOPO_CHANNEL (1<<0) // topology (faces, polygons etc)
  23. #define GEOM_CHANNEL (1<<1) // vertices
  24. #define TEXMAP_CHANNEL (1<<2) // texture vertices and mapping
  25. #define MTL_CHANNEL (1<<3) // material on per face basis
  26. #define SELECT_CHANNEL (1<<4) // selection bits
  27. #define SUBSEL_TYPE_CHANNEL (1<<5) // vertex/face/edge
  28. #define DISP_ATTRIB_CHANNEL (1<<6) // display attributes
  29. #define TM_CHANNEL (1<<7) // Object transform (may be modified by modifiers)
  30. #define GLOBMTL_CHANNEL (1<<8) // material applied to object as whole
  31. #define OBJ_CHANNELS (TOPO_CHANNEL|GEOM_CHANNEL|SELECT_CHANNEL|TEXMAP_CHANNEL|MTL_CHANNEL|SUBSEL_TYPE_CHANNEL|DISP_ATTRIB_CHANNEL)
  32. #define ALL_CHANNELS (OBJ_CHANNELS|TM_CHANNEL|GLOBMTL_CHANNEL)
  33. #endif // __CHANNEL__H