Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HPShowCache.h
1 //
2 // Copyright (c) 2000 by Tech Soft 3D, LLC.
3 // The information contained herein is confidential and proprietary to
4 // Tech Soft 3D, LLC., and considered a trade secret as defined under
5 // civil and criminal statutes. Tech Soft 3D shall pursue its civil
6 // and criminal remedies in the event of unauthorized use or misappropriation
7 // of its trade secrets. Use of this information by anyone other than
8 // authorized employees of Tech Soft 3D, LLC. is granted only under a
9 // written non-disclosure agreement, expressly prescribing the scope and
10 // manner of such use.
11 //
12 // $Id: 0e4fd6aefa59c7e2e6fa3442871dc3a0cdebd27f $
13 //
14 
15 
16 #ifndef _HPSHOWCACHE_H
17 #define _HPSHOWCACHE_H
18 
19 #ifdef H_PACK_8
20 #pragma pack(push)
21 #pragma pack(8)
22 #endif
23 
24 #include "HTools.h"
25 #include "HGlobals.h"
26 #include "vhash.h"
27 
28 
29 #define PSHOW_CACHE_MODELLING_MATRIX 0x00000001
30 #define PSHOW_CACHE_VISIBILITY 0x00000002
31 #define PSHOW_CACHE_RENDERING_OPTIONS 0x00000004
32 #define PSHOW_CACHE_HANDEDNESS 0x00000008
33 #define PSHOW_CACHE_HEURISTICS 0x00000010
34 #define PSHOW_CACHE_TEXT_FONT 0x00000020
35 #define PSHOW_CACHE_TEXT_ALIGNMENT 0x00000040
36 #define PSHOW_CACHE_TEXT_PATH 0x00000080
37 #define PSHOW_CACHE_TEXT_SPACING 0x00000100
38 #define PSHOW_CACHE_MARKER_SIZE 0x00000200
39 #define PSHOW_CACHE_MARKER_SYMBOL 0x00000400
40 #define PSHOW_CACHE_LINE_WEIGHT 0x00000800
41 #define PSHOW_CACHE_LINE_PATTERN 0x00001000
42 #define PSHOW_CACHE_COLOR 0x00002000
43 #define PSHOW_CACHE_EDGE_WEIGHT 0x00004000
44 #define PSHOW_CACHE_EDGE_PATTERN 0x00008000
45 #define PSHOW_CACHE_CAMERA 0x00010000
46 #define PSHOW_CACHE_IMAGE_SCALE 0x00020000
47 #define PSHOW_CACHE_HIDDEN_LINE_HSRA 0x00040000
48 #define PSHOW_CACHE_POLYGON_HANDEDNESS 0x00080000
49 #define PSHOW_CACHE_TRANS_COLOR 0x00100000
50 #define PSHOW_CACHE_COLORMAP 0x00200000
51 #define PSHOW_CACHE_CLIP_REGION 0x00400000
52 
53 
54 
56 {
57 public:
58  HPShowCache():flags(0), path(0), modelling_matrix(0),
59  clip_region_loops(0), clip_region_spec(0), clip_region_lengths(0), clip_region_points(0),
60  visibility(0), rendering_options(0), handedness(0), heuristics(0),
61  text_font(0), text_alignment(0), text_spacing(1.f), marker_size(0), marker_symbol(0),
62  line_weight(0), line_pattern(0), color(0), color_map(0), edge_weight(0),
63  edge_pattern(0), camera_position(0,0,0), camera_target(0,0,0), camera_up(0,0,0),
64  camera_width(0.f), camera_height(0.f), camera_projection(0),
65  text_path_x(1.f), text_path_y(0), text_path_z(0),
66  screen_range(0), depth_range(0), tessellation(0), general_curve(0), nurbs_surface(0), general_displacement(0), mask_transform(0),
67  anti_alias(0), image_scale(0), polygon_handedness(0), trans_color(0),
68  hidden_line_hsra(false), have_text_path(false), have_text_spacing(false)
69  {
70  }
71 
72  ~HPShowCache()
73  {
74  if(path)
75  delete [] path;
76  if(visibility)
77  delete [] visibility;
78  if(clip_region_spec)
79  delete [] clip_region_spec;
80  if(clip_region_points)
81  delete [] clip_region_points;
82  if(clip_region_lengths)
83  delete [] clip_region_lengths;
84  if(rendering_options)
85  delete [] rendering_options;
86  if(handedness)
87  delete [] handedness;
88  if(heuristics)
89  delete [] heuristics;
90  if(text_font)
91  delete [] text_font;
92  if(text_alignment)
93  delete [] text_alignment;
94  if(marker_size)
95  delete [] marker_size;
96  if(marker_symbol)
97  delete [] marker_symbol;
98  if(line_weight)
99  delete [] line_weight;
100  if(line_pattern)
101  delete [] line_pattern;
102  if(color)
103  delete [] color;
104  if(color_map)
105  delete [] color_map;
106  if(edge_weight)
107  delete [] edge_weight;
108  if(edge_pattern)
109  delete [] edge_pattern;
110  if(camera_projection)
111  delete [] camera_projection;
112  if(screen_range)
113  delete [] screen_range;
114  if(depth_range)
115  delete [] depth_range;
116  if(tessellation)
117  delete [] tessellation;
118  if(general_curve)
119  delete [] general_curve;
120  if(nurbs_surface)
121  delete [] nurbs_surface;
122  if(general_displacement)
123  delete [] general_displacement;
124  if(mask_transform)
125  delete [] mask_transform;
126  if(anti_alias)
127  delete [] anti_alias;
128  if(image_scale)
129  delete [] image_scale;
130  if(polygon_handedness)
131  delete [] polygon_handedness;
132  if(trans_color)
133  delete [] trans_color;
134 
135  }
136 
137  unsigned int flags;
138 
139  HC_KEY* path;
140  int path_count;
141 
142  float modelling_matrix_data[16];
143  float * modelling_matrix;
144 
145  int clip_region_loops;
146  char * clip_region_spec;
147  int * clip_region_lengths;
148  HPoint *clip_region_points;
149 
150  char * visibility;
151  char * rendering_options;
152  char * handedness;
153  char * heuristics;
154  char * text_font;
155  char * text_alignment;
156 
157  float text_spacing;
158  char * marker_size;
159  char * marker_symbol;
160  char * line_weight;
161  char * line_pattern;
162  char * color;
163  char * color_map;
164  char * edge_weight;
165  char * edge_pattern;
166  HPoint camera_position;
167  HPoint camera_target;
168  HPoint camera_up;
169  float camera_width;
170  float camera_height;
171  char * camera_projection;
172 
173  float text_path_x, text_path_y, text_path_z;
174  char * screen_range;
175  char * depth_range;
176  char * tessellation;
177  char * general_curve;
178  char * nurbs_surface;
179  char * general_displacement;
180  char * mask_transform;
181  char * anti_alias;
182  char * image_scale;
183  char * polygon_handedness;
184  char * trans_color;
185 
186  bool hidden_line_hsra;
187  bool have_text_path;
188  bool have_text_spacing;
189 };
190 
191 //typedef VHash<HC_KEY, HPShowCache *> HVHashPShowCache;
192 
193 class HVHashPShowCache: public VHash<HC_KEY, HPShowCache *>
194 {
195 
196 };
197 
198 
200 public:
201  HC_KEY hightlight_style;
202  HC_KEY condition_style;
203  HC_POINTER_SIZED_INT use_count;
204 
205  HConditionStyleInfo(HC_KEY HightlightStyle): hightlight_style(HightlightStyle), use_count(0) {};
206  ~HConditionStyleInfo() {};
207 };
208 
209 class HConditionStyleInfoHash: public VStringHash<HConditionStyleInfo *> {
210 public:
211  HConditionStyleInfoHash():VStringHash<HConditionStyleInfo *>(2) {};
212 };
213 
214 class HConditionStyleKeyInfoHash: public VHash<HC_KEY, HConditionStyleInfo *> {};
215 
216 class HSelectionSegmentConditionInfo: public VHash<HC_KEY, HConditionStyleInfoHash *> {};
217 
218 
219 #ifdef H_PACK_8
220 #pragma pack(pop)
221 #endif
222 
223 #endif
224 
225 
226 
227 
228 
229 
230 
231 
232 
233 
234 
235 
236 
237 
238 
239 
240 
241 
242 
Definition: HPShowCache.h:199
Definition: HPShowCache.h:193
#define HC_KEY
#define HC_POINTER_SIZED_INT
Definition: HPShowCache.h:55
Definition: HPShowCache.h:216
Definition: HPShowCache.h:214
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:126
Definition: HPShowCache.h:209