|
NCBI Home IEB Home C Toolkit docs C++ Toolkit source browser C Toolkit source browser (2) |
NCBI C Toolkit Cross ReferenceC/cn3d/cn3dmain.h |
source navigation diff markup identifier search freetext search file search |
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 |
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more information. |