home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 March / macformat-022.iso / Shareware City / Science / RasMol2 / render.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-10-28  |  3.2 KB  |  172 lines  |  [TEXT/KAHL]

  1. /* render.h
  2.  * RasMol2 Molecular Graphics
  3.  * Roger Sayle, October 1994
  4.  * Version 2.5
  5.  */
  6.  
  7. #define SlabReject       0x00
  8. #define SlabHalf         0x01
  9. #define SlabHollow       0x02
  10. #define SlabFinal        0x03
  11. #define SlabClose        0x04
  12. #define SlabSection      0x05
  13.  
  14. #define ViewLeft         0
  15. #define ViewRight        1
  16.  
  17. #define ColBits          24
  18.  
  19. #define VOXORDER       21
  20. #define VOXORDER2      (VOXORDER*VOXORDER)
  21. #define VOXSIZE        (VOXORDER2*VOXORDER)
  22.  
  23.  
  24. #define DotMax    100
  25. typedef struct _DotStruct {
  26.         struct _DotStruct __far *next;
  27.         short col[DotMax];
  28.         Long xpos[DotMax];
  29.         Long ypos[DotMax];
  30.         Long zpos[DotMax];
  31.         int count;
  32.     } DotStruct;
  33.  
  34.  
  35. typedef struct _Label {
  36.         struct _Label *next;
  37.         Long  refcount;
  38.         char *label;
  39.     } Label;
  40.  
  41.  
  42.  
  43. #ifdef RENDER
  44. DotStruct __far *DotPtr;
  45. int UseStereo,StereoView;
  46. int UseShadow,DisplayMode;
  47. int UseClipping,UseSlabPlane;
  48. int SolventDots,ProbeRadius;
  49. int SlabMode,SlabValue;
  50. int SlabInten,SliceValue;
  51. int ImageRadius,ImageSize;
  52. int SSBondMode,HBondMode;
  53.  
  54. int DrawDots,DrawLabels;
  55. int DrawBoundBox,DrawAxes;
  56. int DrawUnitCell;
  57.  
  58. Pixel __huge *FBuffer;
  59. short __huge *DBuffer;
  60. int VoxelsClean;
  61. int BucketFlag;
  62. int FBClear;
  63.  
  64.  
  65. #ifdef IBMPC
  66. HGLOBAL FBufHandle;
  67. HGLOBAL DBufHandle;
  68. #endif
  69.  
  70. #ifdef APPLEMAC
  71. Handle FBufHandle;
  72. Handle DBufHandle;
  73. #endif
  74.  
  75. #if defined(IBMPC) || defined(APPLEMAC)
  76. void __far * __far *HashTable;
  77. Byte __far * __far *LookUp;
  78. Card __far *ColConst;
  79. Byte __far *Array;
  80.  
  81. #else /* UNIX */
  82. void *HashTable[VOXSIZE];
  83. Byte *LookUp[120];
  84. Card ColConst[120];
  85. Byte Array[7261];
  86. #endif
  87.  
  88. #else
  89. extern DotStruct __far *DotPtr;
  90. extern int UseShadow, DisplayMode;
  91. extern int UseClipping,UseSlabPlane;
  92. extern int ProbeRadius,SolventDots;
  93. extern int SlabMode,SlabValue;
  94. extern int SlabInten,SliceValue;
  95. extern int ImageRadius,ImageSize;
  96. extern int SSBondMode, HBondMode;
  97.  
  98. extern int DrawDots,DrawLabels;
  99. extern int DrawBoundBox,DrawAxes;
  100. extern int DrawUnitCell;
  101.  
  102. extern Pixel __huge *FBuffer;
  103. extern short __huge *DBuffer;
  104. extern int VoxelsClean;
  105. extern int BucketFlag;
  106. extern int FBClear;
  107.  
  108. #ifdef IBMPC
  109. extern HGLOBAL FBufHandle;
  110. extern HGLOBAL DBufHandle;
  111. #endif
  112.  
  113. #ifdef APPLEMAC
  114. extern Handle FBufHandle;
  115. extern Handle DBufHandle;
  116. #endif
  117.  
  118. #if defined(IBMPC) || defined(APPLEMAC)
  119. extern void __far * __far *HashTable;
  120. extern Byte __far * __far *LookUp;
  121. extern Card __far *ColConst;
  122. extern Byte __far *Array;
  123.  
  124. #else /* UNIX or VMS */
  125. extern void *HashTable[VOXSIZE];
  126. extern Byte *LookUp[120];
  127. extern Card ColConst[120];
  128. extern Byte Array[7261];
  129. #endif
  130.  
  131. #ifdef FUNCPROTO
  132. void ClearBuffers();
  133. void ReSizeScreen();
  134. void ReAllocBuffers();
  135. void ResetVoxelData();
  136. void ShadowTransform();
  137.  
  138. int DeleteLabels();
  139. void DefineLabels( char* );
  140. void CalculateSurface( int );
  141. void DeleteSurface();
  142.  
  143. void DrawFrame();
  144. void ResetRenderer();
  145. void InitialiseRenderer();
  146. void SetStereoMode( int );
  147. void IdentifyAtom( int, int );
  148. int isqrt( Card );
  149.  
  150. #else /* non-ANSI C compiler */
  151. void ClearBuffers();
  152. void ReSizeScreen();
  153. void ReAllocBuffers();
  154. void ResetVoxelData();
  155. void ShadowTransform();
  156.  
  157. void DeleteLabels();
  158. void DefineLabels();
  159. void CalculateSurface();
  160. void DeleteSurface();
  161.  
  162. void DrawFrame();
  163. void ResetRenderer();
  164. void InitialiseRenderer();
  165. void SetStereoMode();
  166. void IdentifyAtom();
  167. int isqrt();
  168.  
  169. #endif
  170. #endif
  171.  
  172.