Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

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