NCBI C Toolkit Cross Reference

C/cn3d/cn3dmain.h


  1 /*   cn3dmain.h
  2 * ===========================================================================
  3 *
  4 *                            PUBLIC DOMAIN NOTICE
  5 *            National Center for Biotechnology Information (NCBI)
  6 *
  7 *  This software/database is a "United States Government Work" under the
  8 *  terms of the United States Copyright Act.  It was written as part of
  9 *  the author's official duties as a United States Government employee and
 10 *  thus cannot be copyrighted.  This software/database is freely available
 11 *  to the public for use. The National Library of Medicine and the U.S.
 12 *  Government do not place any restriction on its use or reproduction.
 13 *  We would, however, appreciate having the NCBI and the author cited in
 14 *  any work or product based on this material
 15 *
 16 *  Although all reasonable efforts have been taken to ensure the accuracy
 17 *  and reliability of the software and data, the NLM and the U.S.
 18 *  Government do not and cannot warrant the performance or results that
 19 *  may be obtained by using this software or data. The NLM and the U.S.
 20 *  Government disclaim all warranties, express or implied, including
 21 *  warranties of performance, merchantability or fitness for any particular
 22 *  purpose.
 23 *
 24 * ===========================================================================
 25 *
 26 * File Name:  cn3dmain.h
 27 *
 28 * Author:  Christopher Hogue
 29 *
 30 * Version Creation Date:   1/31/96
 31 *
 32 * $Revision: 6.30 $
 33 *
 34 * File Description: Main entry point for Cn3d 
 35 *                   
 36 *
 37 * Modifications:  
 38 * --------------------------------------------------------------------------
 39 * $Log: cn3dmain.h,v $
 40 * Revision 6.30  2000/03/08 21:46:14  lewisg
 41 * cn3d saves viewport, misc bugs
 42 *
 43 * Revision 6.29  2000/03/06 15:33:53  lewisg
 44 * add new hydrophobic palette, update visual c++ project to move seqcons
 45 *
 46 * Revision 6.28  2000/03/01 16:17:55  thiessen
 47 * improved handling of colors; many small fixes
 48 *
 49 * Revision 6.27  2000/02/10 17:47:02  thiessen
 50 * added: color-by-sequence-conservation menu item, zoom-out to OpenGL, misc fixes
 51 *
 52 * Revision 6.26  2000/02/10 15:51:58  lewisg
 53 * cn3d responds and send correct update messages.  many coloring bug fixes
 54 *
 55 * Revision 6.25  2000/01/18 22:49:16  lewisg
 56 * send OM_MSG_FLUSH to ddv/udv, tweak CPK coloration, misc bugs
 57 *
 58 * Revision 6.24  2000/01/14 21:40:41  lewisg
 59 * add translucent spheres, ion labels, new cpk, fix misc bugs
 60 *
 61 * Revision 6.23  2000/01/04 15:55:50  lewisg
 62 * don't hang on disconnected network and fix memory leak/hang at exit
 63 *
 64 * Revision 6.22  1999/12/11 01:30:34  lewisg
 65 * fix bugs with sharing colors between ddv and cn3d
 66 *
 67 * Revision 6.21  1999/11/22 14:46:43  thiessen
 68 * moved _OPENGL code blocks to only vibrant and ncbicn3d libraries
 69 *
 70 * Revision 6.20  1999/11/18 00:21:42  lewisg
 71 * draw speedups and selection on mouseup
 72 *
 73 * Revision 6.19  1999/11/10 23:19:40  lewisg
 74 * rewrite of selection code for ddv
 75 *
 76 * Revision 6.18  1999/11/02 23:06:07  lewisg
 77 * fix cn3d to launch correctly if there is no seqentry associated with bioseq
 78 *
 79 * Revision 6.17  1999/11/02 13:47:32  kans
 80 * no star between DDV_ColorFunc and Function
 81 *
 82 * Revision 6.16  1999/11/01 22:10:27  lewisg
 83 * add ability to call color functions by type, and add this to cn3d
 84 *
 85 * Revision 6.15  1999/10/29 14:15:28  thiessen
 86 * ran all Cn3D source through GNU Indent to prettify
 87 *
 88 * Revision 6.14  1999/10/15 20:56:39  lewisg
 89 * append DDV_ColorGlobal as userdata.  free memory when cn3d terminates.
 90 *
 91 * Revision 6.13  1999/10/05 23:18:19  lewisg
 92 * add ddv and udv to cn3d with memory management
 93 *
 94 * Revision 6.12  1999/09/21 18:09:16  lewisg
 95 * binary search added to color manager, various bug fixes, etc.
 96 *
 97 * Revision 6.11  1999/04/06 16:06:11  coremake
 98 * Fixes of typos
 99 *
100 * Revision 6.10  1999/04/06 14:23:30  lewisg
101 * add opengl replacement for viewer3d
102 *
103 * Revision 6.9  1999/02/11 18:48:15  lewisg
104 * delete color index functions
105 *
106 * Revision 6.8  1999/02/10 23:49:43  lewisg
107 * use RGB values instead of indexed palette
108 *
109 * Revision 6.7  1999/01/14 19:07:17  kans
110 * network availability is configurable
111 *
112 * Revision 6.6  1998/08/26 18:28:37  kans
113 * fixed -v -fd warnings
114 *
115 * Revision 6.5  1998/04/28 15:14:27  lewisg
116 * moved OpenMimeFileWithDeletion to cn3dopen
117 *
118 * Revision 6.4  1998/04/27 23:23:04  lewisg
119 * added ability to open mime files
120 *
121 * Revision 6.3  1998/04/20 18:36:10  lewisg
122 * moved extern for Viewer3d to cn3dmain.h
123 *
124 * Revision 6.2  1998/03/06 23:19:16  lewisg
125 * codewarrior fixes
126 *
127 * Revision 6.1  1998/03/06 01:19:47  lewisg
128 * merge
129 *
130 * Revision 6.0  1997/08/25 18:13:33  madden
131 * Revision changed to 6.0
132 *
133 * Revision 5.4  1997/07/29 21:17:09  vakatov
134 * [WIN32,DLL]  Made Cn3D's stubbed functions be DLL-exportable
135 *
136 * Revision 5.3  1997/03/20 19:03:44  vakatov
137 * Non-standalone(Entrez-specific) protos has been moved to "cn3dentr.h":
138 * Cn3D_SetQueryCallback() and Cn3DWin(), and the latter has been renamed
139 * to Cn3DWin_Entrez().
140 * The remainig protos concern to the "cn3dwin.c" code.
141 *
142  * Revision 5.2  1996/07/29  21:13:02  epstein
143  * add prototype for function Cn3D_SetQueryCallback()
144  *
145  * Revision 5.1  1996/06/12  14:31:50  hogue
146  * Added Cn3DWin function for integration into Entrez
147  *
148  * Revision 5.0  1996/05/28  14:05:44  ostell
149  * Set to revision 5.0
150  *
151  * Revision 1.4  1996/04/18  16:56:37  hogue
152  * Altered color palette for multi-structure display
153  *
154  * Revision 1.3  1996/03/30  23:40:45  hogue
155  * Redraw now saves camera
156  *
157  * Revision 1.2  1996/03/29  20:00:45  hogue
158  * Integrated 3d viewing, menus & controls for algorithmic rendering
159  *
160  * Revision 1.1  1996/02/01  18:47:38  kans
161  * Initial revision
162  *
163 *
164 * ==========================================================================
165 */
166 
167 #ifndef _CN3DMAIN_
168 #define _CN3DMAIN_
169 
170 /* number of colors used for secondary structure */
171 #define CN3D_COLOR_SS 4
172 /* colors used for secondary structure */
173 #define CN3D_COLOR_HELIX 0
174 #define CN3D_COLOR_STRAND 1
175 #define CN3D_COLOR_TURN 2
176 #define CN3D_COLOR_COIL 3
177 /* total number of colors in fixed palette */
178 #define CN3D_COLOR_MAX 54
179 /* total number of colors allowed in indexed palettes. keep room for background */
180 #define CN3D_MAX_PALETTE 100
181 
182 #include <vibrant.h>
183 
184 #include <math.h>
185 #include <objalign.h>
186 #include <mmdbapi.h>
187 #include <salmedia.h>
188 #include <ddvcolor.h>
189 
190  
191 #undef NLM_EXTERN
192 #ifdef NLM_IMPORT
193 #define NLM_EXTERN NLM_IMPORT
194 #else
195 #define NLM_EXTERN extern
196 #endif
197 
198 #ifdef __cplusplus
199 extern "C" {
200 #endif
201 
202 /* the typedef of a list used to keep track of the color functions */
203 typedef struct _Cn3D_ColorFuncList {
204     Int2 Value;
205     Char *Name;
206     DDV_ColorFunc Function;
207 } Cn3D_ColorFuncList;
208 
209 /* list of the color functions */
210 extern Cn3D_ColorFuncList Cn3D_ColorList[];
211 
212 extern Uint1 Cn3d_PaletteRGB[CN3D_COLOR_MAX][3];
213 
214 extern void LIBCALL Cn3D_EnableFileOps(void);
215 extern void LIBCALL Cn3D_DisableFileOps(void);
216 extern void LIBCALL Cn3D_DisableMenus(void);
217 extern void LIBCALL Cn3D_EnableMenus(void);
218 extern Boolean LIBCALL readErrors(void);
219 
220 NLM_EXTERN void LIBCALL Cn3D_Redraw(Boolean New);
221 NLM_EXTERN void LIBCALL Cn3D_RedrawEx(Boolean New);
222 NLM_EXTERN void Cn3D_RedrawNUpdate(Boolean New);
223 NLM_EXTERN void LIBCALL Cn3D_ResetActiveStrucProc(void);
224 extern WindoW LIBCALL Cn3DWin(WndActnProc on_close, MenU * file_menu,
225                               ItmActnProc netconfig, Boolean StandAlone);
226 
227 extern Boolean LIBCALL VASTInit(void);
228 extern BiostrucAnnotSetPtr LIBCALL VASTBsAnnotSetGet(Int4 uid);
229 extern void Cn3DResizeProc(WindoW w);
230 
231 #ifdef __cplusplus
232 }
233 #endif
234 #undef NLM_EXTERN
235 #ifdef NLM_EXPORT
236 #define NLM_EXTERN NLM_EXPORT
237 #else
238 #define NLM_EXTERN
239 #endif
240 #endif
241 

source navigation ]   [ diff markup ]   [ identifier search ]   [ freetext search ]   [ file search ]  

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.