1 /* segment.h 2 3 MolScript v2.1.2 4 5 Segment data structure and routines. 6 7 Copyright (C) 1997-1998 Per Kraulis 8 18-Aug-1997 split out of vrml.c; generalized 9 */ 10 11 #ifndef SEGMENT_H 12 #define SEGMENT_H 1 13 14 #include "clib/vector3.h" 15 #include "clib/colour.h" 16 17 typedef struct { 18 vector3 p; 19 colour c; 20 boolean new; 21 } line_segment; 22 23 extern line_segment *line_segments; 24 extern int line_segment_count; 25 26 void line_segment_init (void); 27 line_segment *line_segment_next (void); 28 29 typedef struct { 30 vector3 p1, p2, p3, p4; 31 vector3 n1, n2, n3, n4; 32 colour c; 33 } strand_segment; 34 35 extern strand_segment *strand_segments; 36 extern int strand_segment_count; 37 38 void strand_segment_init (void); 39 strand_segment *strand_segment_next (void); 40 41 typedef struct { 42 vector3 p1, p2; 43 vector3 a, n; 44 colour c; 45 } helix_segment; 46 47 extern helix_segment *helix_segments; 48 extern int helix_segment_count; 49 50 void helix_segment_init (void); 51 helix_segment *helix_segment_next (void); 52 53 typedef struct { 54 vector3 p, p1, p2, p3, p4; 55 vector3 n1, n2, n3, n4; 56 colour c; 57 } coil_segment; 58 59 extern coil_segment *coil_segments; 60 extern int coil_segment_count; 61 62 void coil_segment_init (void); 63 coil_segment *coil_segment_next (void); 64 65 #endif 66