3 #include "QFog_constants.h" 6 #ifdef _mac_gui_app //''''''''''''''''''''''''''''''''''''''''''''\\. 8 #include "C_PORT_RELATED.h" 11 #include "C_ND_EFIELD.h" 12 #include "MY_FSTREAMS.h" 13 #include "C_AMP_GEN.h" 14 #endif //_mac_gui_app \\............................................// 21 #include "TRANS_MAT.h" 22 #include "STRETCH_OR_FOLD.h" 24 #include "DICTIONARY.h" 31 USHORT its_num_of_comps;
34 BOOLEAN its_has_commas;
64 TM_COL_NUM its_num_of_in_sts;
71 SET its_active_states;
72 SET its_tempo_active_states;
97 const STRINGY & get_name()
const;
98 VOID set_name(
const STRINGY & name);
100 USHORT get_degen()
const;
101 VOID set_degen(USHORT degen);
103 const STRINGY & get_st_name(USHORT loc)
const;
104 VOID set_st_name(USHORT row_num,
const STRINGY & new_name);
105 virtual VOID set_st_names_to_default();
106 VOID set_st_names_to_monotone_seq(USHORT starting_point);
113 VOID set_tm_amp(USHORT row, TM_COL_NUM col,
const COMPLEX & z );
114 DOUBLE get_col_prob(TM_COL_NUM col);
115 VOID empty_trans_mat();
117 TM_COL_NUM get_num_of_in_sts();
118 virtual VOID set_num_of_in_sts();
121 USHORT get_num_of_in_nds()
const;
122 virtual VOID add_in_nd(USHORT nd_id, USHORT nd_degen);
123 virtual VOID del_in_nd(USHORT nd_id);
125 virtual VOID set_in_nd_degen(USHORT nd_id, USHORT new_degen);
126 virtual VOID renumber_in_nds(
const UI_MAP & map);
127 virtual VOID reorder_in_nds(
const UI_MAP & map, BOOLEAN touch_tm);
128 virtual VOID change_in_nd_to_compatible_one(USHORT old_nd, USHORT new_nd);
132 VOID add_out_nd(USHORT nd_id);
133 VOID del_out_nd(USHORT nd_id);
134 VOID renumber_out_nds(
const UI_MAP & map);
136 VOID reorder_sts(
const UI_MAP & map);
137 VOID change_tm_as_part_of_reordering_nd_sts_of_a_pa(USHORT pa_id,
const UI_MAP & map);
140 const SET & get_active_states()
const;
141 VOID set_active_states(
const SET & act_sts);
142 VOID empty_act_st_set();
143 VOID fill_act_st_set();
144 USHORT get_num_of_active_states();
145 BOOLEAN is_active_state(USHORT state);
146 VOID activate_state(USHORT state);
147 VOID deactivate_state(USHORT state);
148 VOID preserve_act_st_set();
149 VOID restore_act_st_set();
151 USHORT get_dyn_st()
const;
152 VOID set_dyn_st(USHORT dyn_st);
153 VOID set_dyn_st_and_dir_ele_ptr(USHORT dyn_st);
154 VOID advance_dyn_dir_ele_ptr();
155 VOID move_dyn_dir_ele_ptr_to_first_col();
156 BOOLEAN has_dyn_in_st()
const;
158 VOID reset_dyn_in_st();
159 const COMPLEX & get_dyn_amp()
const;
160 DOUBLE get_cum_prob(USHORT state)
const;
161 VOID normalize_cum_probs();
162 VOID set_cum_info_to_default();
163 VOID add_to_dyn_st_entry_of_cum_amps(
const COMPLEX & net_amp);
164 VOID prepare_cum_info_for_next_ending();
167 #ifdef _mac_gui_app //''''''''''''''''''''''''''''''''''''''''''''\\. 171 BOOLEAN its_is_selected;
175 USHORT its_state_num_for_cap;
176 Rect its_state_cap_frame;
177 enum {default_sel_rad=16, default_mask_rad=16};
181 NODE(
const Point & center);
182 virtual const STRINGY get_class_str()=0;
183 virtual ND_CLASS_ID get_class_id()=0;
191 const Point & get_center()
const;
193 virtual USHORT get_sel_rad()
const;
194 virtual USHORT get_mask_rad()
const;
196 virtual C_CIRCLE get_docking_cir(USHORT sub_nd_id);
197 virtual BOOLEAN pt_is_in_greeting_cir_of_avail_s_port(
const Point & pt, USHORT & sub_nd_id);
198 virtual BOOLEAN pt_is_in_greeting_cir_of_avail_d_port(
const Point & pt, USHORT & sub_nd_id);
199 virtual VOID add_nd_to_port_glist(USHORT g_nd_id, USHORT sub_nd_id);
200 virtual VOID remove_nd_from_all_port_glists(USHORT g_nd_id);
201 virtual VOID renumber_nds_of_port_glists(
const UI_MAP & map);
203 BOOLEAN is_selected()
const;
204 virtual BOOLEAN pt_is_in_sel_cir(
const Point & pt);
205 virtual C_CIRCLE get_selection_cir();
211 VOID draw_sel_handles_wkr();
212 virtual VOID draw_sel_handles();
213 virtual VOID undraw_sel_handles();
215 VOID draw_state_cap();
216 VOID undraw_state_cap();
217 VOID set_state_num_for_cap(USHORT state);
219 virtual const RGBColor & get_color()
const;
220 virtual VOID set_color(
const RGBColor & color);
221 virtual BOOLEAN has_color();
224 VOID undraw(SInt16 radius);
225 virtual VOID undraw();
227 virtual VOID move_by(
const Point & delta);
229 virtual VOID rotate();
230 virtual SInt16 get_icon_dir()
const;
231 virtual VOID set_icon_dir(SInt16 icon_dir);
232 virtual BOOLEAN has_icon_dir();
234 VOID write_net_stream(LStream & net_stream);
235 VOID read_net_stream(LStream & net_stream);
237 #endif //_mac_gui_app \\............................................// 244 const STRINGY & NODE::get_name()
const 257 USHORT NODE::get_degen()
const 263 const STRINGY & NODE::get_st_name(
267 return its_st_names[loc];
271 VOID NODE::set_st_name(
275 its_st_names[row_num]=new_name;
279 VOID NODE::set_st_names_to_default()
286 return *its_st_name_dict_p;
296 VOID NODE::set_tm_amp(
301 its_tm_amps.set_ele(row, col, z);
305 DOUBLE NODE::get_col_prob(
308 return its_tm_amps.get_col_prob(col);
312 VOID NODE::empty_trans_mat()
314 its_tm_amps.set_to_zero_mat(its_degen, its_num_of_in_sts);
318 TM_COL_NUM NODE::get_num_of_in_sts()
320 return its_num_of_in_sts;
332 return its_in_nd_sof;
336 USHORT NODE::get_num_of_in_nds()
const 338 return its_in_nds.get_len();
344 return its_in_nd_degens;
354 VOID NODE::add_out_nd(
357 its_out_nds.insert_last(nd_id);
361 VOID NODE::del_out_nd(
364 its_out_nds.extract_at(its_out_nds.loc_of_target(nd_id));
368 const SET & NODE::get_active_states()
const 370 return its_active_states;
374 VOID NODE::set_active_states(
377 its_active_states = act_sts;
381 VOID NODE::empty_act_st_set()
383 its_active_states.empty();
387 USHORT NODE::get_num_of_active_states()
389 return its_active_states.get_num_of_elems();
393 BOOLEAN NODE::is_active_state(
396 return its_active_states.contains(state);
400 VOID NODE::activate_state(
403 its_active_states.insert(state);
407 VOID NODE::deactivate_state(
410 its_active_states.extract(state);
414 VOID NODE::preserve_act_st_set()
416 its_tempo_active_states = its_active_states;
420 USHORT NODE::get_dyn_st()
const 426 VOID NODE::set_dyn_st(
436 return its_dyn_in_st;
440 const COMPLEX & NODE::get_dyn_amp()
443 ThrowIfNil_(its_dyn_dir_ele_p);
444 return its_dyn_dir_ele_p->its_ele;
448 DOUBLE NODE::get_cum_prob(
452 return its_cum_probs[state];
456 VOID NODE::add_to_dyn_st_entry_of_cum_amps(
457 const COMPLEX & net_amp)
459 its_cum_amps[its_dyn_st] += net_amp;
462 #ifdef _mac_gui_app //''''''''''''''''''''''''''''''''''''''''''''\\. 472 VOID NODE::set_efield_ptr(
475 its_efield_p = efield_p;
479 const Point & NODE::get_center()
const 485 USHORT NODE::get_sel_rad()
const 487 return default_sel_rad;
491 USHORT NODE::get_mask_rad()
const 493 return default_mask_rad;
500 #pragma unused(sub_nd_id) 501 return C_CIRCLE(its_center, get_sel_rad());;
505 VOID NODE::add_nd_to_port_glist(
509 #pragma unused(g_nd_id, sub_nd_id) 513 VOID NODE::remove_nd_from_all_port_glists(
516 #pragma unused (g_nd_id) 520 VOID NODE::renumber_nds_of_port_glists(
525 BOOLEAN NODE::is_selected()
const 527 return its_is_selected;
531 BOOLEAN NODE::pt_is_in_sel_cir(
535 return C_CIRCLE(its_center, get_sel_rad()).pt_is_in(pt);
541 return C_CIRCLE(its_center, get_sel_rad());
545 VOID NODE::set_state_num_for_cap(
548 its_state_num_for_cap = state;
552 const RGBColor & NODE::get_color()
const 554 return C_COLORS::its_white;
558 VOID NODE::set_color(
559 const RGBColor & color)
563 BOOLEAN NODE::has_color()
577 undraw(default_mask_rad);
585 SInt16 NODE::get_icon_dir()
const 591 VOID NODE::set_icon_dir(
596 BOOLEAN NODE::has_icon_dir()
602 VOID NODE::write_net_stream(
603 LStream & net_stream)
605 its_tm_amps.write_net_stream(net_stream);
609 VOID NODE::read_net_stream(
610 LStream & net_stream)
612 its_tm_amps.read_net_stream(net_stream);
614 #endif //_mac_gui_app \\............................................// Definition: C_MAIN_VIEW.h:24
Definition: TRANS_MAT.h:21
Definition: DICTIONARY.h:15
Definition: STRETCH_OR_FOLD.h:12
Definition: TRANS_MAT.h:46
Definition: C_PI_WIND.h:18
Definition: C_AMP_GEN.h:10
Definition: C_ND_EFIELD.h:6
Definition: C_PORT_RELATED.h:6