ITK Function Reference

(V10000.1.0.60_20160308.00)
arch.h
Go to the documentation of this file.
1 /*==============================================================================
2  Copyright (c) 2003-2005 UGS Corporation
3  Unpublished - All Rights Reserved
4  ==============================================================================*/
5 
12 /* */
13 
14 #ifndef ARCH_H
15 #define ARCH_H
16 
17 #include <unidefs.h>
18 #include <tccore/item.h>
19 #include <rdv/librdv_exports.h>
20 
27 #define ARCH_CLASS_NAME "Architecture"
28 #define ARCH_TYPE_NAME ARCH_CLASS_NAME
29 #define ArchClassName ARCH_CLASS_NAME
30 
31 #define ARCH_REV_CLASS_NAME "ArchitectureRevision"
32 #define ARCH_REV_TYPE_NAME ARCH_REV_CLASS_NAME
33 #define ArchRevisionClassName ARCH_REV_CLASS_NAME
34 
35 #define ARCH_MASTER_CLASS_NAME "ArchitectureMaster"
36 #define ARCH_REV_MASTER_CLASS_NAME "ArchitectureVersionMaster"
37 
38 #define TC_GENERIC_ARCHITECTURE "TC_Generic_Architecture"
39 #define TC_INSTANTIATION "TC_Instantiation"
40 
41 #define HAS_CONSISTENT_NVES "has_consistent_nves"
42 #define HAS_HIERARCHICAL_VARIABILTY "has_hierarchical_variabilty"
43 #define IS_PARTIAL_BREAKDOWN "is_partial_breakdown"
44 #define HAS_SHARED_NVES "has_shared_nves"
45 #define HAS_BASEDON_PREEXIST_ELEMNT "has_basedon_preexist_elemnt"
46 
47 #define ITEM_ID "item_id"
48 #define OBJECT_NAME "object_name"
49 #define GENERIC_COMPONENT_ID "generic_component_id"
50 #define OBJECT_DESC "object_desc"
51 
52 #define ARCH_gcid_size_c 132
53 
54 #ifdef __cplusplus
55  extern "C"{
56 #endif
57 
59 {
61  int n_values;
62  int *valueIndex;
64 typedef struct RDV_goi_optiondata_s
65 {
67  int n_options;
70 
71 typedef struct RDV_Optiondata_s
72 {
75  char *item_name;
78  char *option_name;
80  char **option_values;
82 
86 extern RDV_API int ARCH_create_arch(
87  const char* id,
88  const char* revId,
89  const char* type,
90  const char* name,
91  const char* gcid,
92  const char* desc,
93  tag_t* newArch,
94  tag_t* newArchRev
95  );
96 
104 extern RDV_API int ARCH_create_rev(
105  const char* item_id,
106  const char* revid,
107  tag_t* rev
108  );
109 
110 extern RDV_API int ARCH_save_as_arch
111  ( tag_t rev_tag, /* <I> */
112  const char *id, /* <I> */
113  const char *revId, /* <I> */
114  const char *type, /* <I> */
115  const char *name, /* <I> */
116  const char *gcid, /* <I> */
117  const char *desc, /* <I> */
118  tag_t* newArch, /* <O> */
119  tag_t* newArchRev /* <O> */
120  );
121 
127 extern RDV_API int ARCH_save_as_rev
128  ( const char* item_id, /* <I> */
129  const char* revid, /* <I> */
130  const char* gcId, /* <I> */
131  const char* itemType, /* <I> */
132  tag_t* rev /* <O> */
133  );
134 
135 extern RDV_API int ARCH_ask_named_variant_exprs(
136  tag_t arch,
137  int* no_of_nves,
138  tag_t** named_variant_expressions
139  );
140 
141 extern RDV_API int ARCH_add_named_variant_expr
142  ( tag_t arch_rev, /* <I> */
143  char *code, /* <I> */
144  char *description, /* <I> */
145  tag_t variant_expression, /* <I> */
146  logical ignore_duplicate, /* <I> */
147  logical implicit_save, /* <I> */
148  int *n_tags_to_save, /* <O> */
149  tag_t **tags_to_save, /* <OF> *n_tags_to_save*/
150  tag_t *newNVETag /* <O> */
151  );
152 extern RDV_API int ARCH_add_nve_from_formula
153  ( tag_t archrev_or_bomline, /* <I> */
154  char *code, /* <I> */
155  char *description, /* <I> */
156  const char* productName, /* <I> */
157  const char* productNamespace, /* <I> */
158  const char* formula, /* <I> */
159  logical ignore_duplicate, /* <I> */
160  logical implicit_save, /* <I> */
161  int *n_tags_to_save, /* <O> */
162  tag_t **tags_to_save, /* <OF>*/
163  tag_t *newNVETag /* <O> */
164  );
165 extern RDV_API int ARCH_find_arch(
166  const char* gc_id,
167  const char* type,
168  int* count,
169  tag_t** tags
170  );
171 
172 extern RDV_API int ARCH_add_arch_element(
173  tag_t window,
174  tag_t parent_bom_line,
175  tag_t item,
176  tag_t* new_apprpathnode
177  );
178 
179 extern RDV_API int ARCH_is_toplevel(
180  tag_t arch_tag,
181  logical* isTop
182  );
183 
184 extern RDV_API int ARCH_find_arch_apn(
185  tag_t arch_tag,
186  tag_t topItem,
187  int* count,
188  tag_t** apn
189  );
190 
191 extern RDV_API int ARCH_determine_installation_assy(
192  tag_t apn,
193  int* count,
194  tag_t** itemrev_tags
195  );
196 
238 extern RDV_API int ARCH_find_named_variant_expr(
239  tag_t arch_rev,
240  const char* code,
241  const char* desc,
242  int n_options,
243  const tag_t* options,
244  int n_values,
245  const int* opcodes,
246  const char** values,
247  int* n_found_nves,
248  tag_t** found_nves
249  );
250 
255 extern RDV_API int ARCH_ask_gcid(
256  tag_t arch_item,
257  char gcid[ARCH_gcid_size_c + 1]
258  );
259 
262 extern RDV_API int ARCH_ask_gcid2(
263  tag_t arch_item,
264  char **gcid
265  );
266 
267 extern RDV_API int ARCH_set_gcid(
268  tag_t arch_item,
269  const char* gcid
270  );
271 
272 extern RDV_API int ARCH_get_associated_data(
273  tag_t arch_item,
274  tag_t top_item ,
275  int* node_count,
276  tag_t** nodes,
277  int* ia_count,
278  tag_t** iaRevs,
279  int* no_of_nves,
280  tag_t** nve_tags
281  );
282 
283 extern RDV_API int ARCH_get_nves(
284  tag_t apn,
285  tag_t top_line_bvr,
286  int* nve_count,
287  tag_t** nves
288  );
289 
290 extern RDV_API int ARCH_ask_veb(
291  tag_t arch_item,
292  tag_t* veb
293  );
294 
295 extern RDV_API int ARCH_set_veb(
296  tag_t arch_item,
297  tag_t veb
298  );
299 
300 extern RDV_API int ARCH_rev_ask_product_items(
301  tag_t arch_rev,
302  int* n_product_items,
303  tag_t** product_items
304  );
305 
309 extern RDV_API int ARCH_create_arch_with_struct_info(
310  const char *id,
311  const char *rev_id,
312  const char *type,
313  const char *name,
314  const char *gc_id,
315  const char *desc,
316  logical has_consistent_nves,
317  logical has_heirarchical_variability,
318  logical has_partial_breakdown,
319  logical has_shared_nves,
320  tag_t *new_arch,
321  tag_t *rev
322  );
323 
327 extern RDV_API int ARCH_create_generic_object(
328  const char *id,
329  const char *rev_id,
330  const char *type,
331  const char *name,
332  const char *gc_id,
333  const char *desc,
334  logical has_consistent_nves,
335  logical has_heirarchical_variability,
336  logical has_partial_breakdown,
337  logical has_shared_nves,
338  logical has_based_on_preexist_elements,
339  tag_t instantiating_arch,
340  tag_t *new_go,
341  tag_t *rev
342  );
343 
344 extern RDV_API int ARCH_is_architecture(
345  tag_t arch_tag,
346  logical *isArch
347  );
348 
349 extern RDV_API int ARCH_has_shared_nves(
350  tag_t arch_tag,
351  logical *has_shared_nve
352  );
353 
354 extern RDV_API int ARCH_set_shared_nves(
355  tag_t arch_tag,
356  logical set_shared_nves
357  );
358 
359 extern RDV_API int ARCH_has_consistent_nves(
360  tag_t arch_tag,
361  logical *has_consistent_nves
362  );
363 
364 extern RDV_API int ARCH_set_consistent_nves(
365  tag_t arch_tag,
366  logical set_consistent_nves
367  );
368 
369 extern RDV_API int ARCH_has_heirarchical_variability(
370  tag_t arch_tag,
371  logical *has_heirarchical_variability
372  );
373 
374 extern RDV_API int ARCH_set_heirarchical_variability(
375  tag_t arch_tag,
376  logical set_heirarchical_variability
377  );
378 
379 extern RDV_API int ARCH_has_partial_breakdown(
380  tag_t arch_tag,
381  logical *has_partial_breakdown
382  );
383 
384 extern RDV_API int ARCH_set_partial_breakdown(
385  tag_t arch_tag,
386  logical set_partial_breakdown
387  );
388 
389 extern RDV_API int ARCH_has_preexist_break_elemnts(
390  tag_t arch_tag,
391  logical *has_preexist_break_elemnts
392  );
393 
394 extern RDV_API int ARCH_ask_all_struct_state_parameters(
395  tag_t arch_tag,
396  logical *has_consistent_nves,
397  logical *has_heirarchical_variability,
398  logical *has_partial_breakdown,
399  logical *has_shared_nves,
400  logical *has_based_on_preexist_elements
401  );
402 
403 extern RDV_API int ARCH_set_all_struct_state_parameters(
404  tag_t arch_tag,
405  logical has_consistent_nves,
406  logical has_heirarchical_variability,
407  logical has_partial_breakdown,
408  logical has_shared_nves,
409  logical has_based_on_preexist_elements
410  );
411 
412 extern RDV_API int ARCH_save_as(
413  tag_t sourceItem,
414  tag_t sourceItemRevision,
415  const char* new_item_id,
416  const char* new_item_rev,
417  const char* gcid,
418  const char* name,
419  const char* description,
420  tag_t* newItem
421  );
422 
423 
424 extern RDV_API int ARCH_is_generic_object(
425  tag_t arch_tag,
426  logical *is_generic_object
427  );
428 
429 extern RDV_API int ARCH_paste (
430  tag_t selectedSourceItem,
431  tag_t targetItem,
432  logical processChildren
433  );
434 
435 extern RDV_API int ARCH_get_nve_count
436  ( tag_t arch_rev, /* <I> */
437  const char * code, /* <I> */
438  const char * desc, /* <I> */
439  int n_options, /* <I> */
440  const tag_t * options, /* <I> */
441  int n_values, /* <I> */
442  const int * opcodes, /* <I> */
443  const char ** values, /* <I> */
444  int * n_found_nves /* <O> */
445  );
446 
447 extern RDV_API int ARCH_paste_bomline(
448  tag_t selectedSourceBOMline,
449  tag_t targetBOMLineToBeUsed,
450  tag_t sourceBOMLineToBeUsed,
451  int noOfSourceParentBOMLines,
452  tag_t *sourceParentBomlines,
453  logical processParents,
454  logical processChildren
455  );
456 
457 extern RDV_API int ARCH_getAuditedLines
458  (int n_nodes, /* <I> */
459  tag_t *nodes, /* <I> */
460  tag_t rev_rule_tag, /* <I> */
461  tag_t var_rule_tag, /* <I> */
462  int *noOfAuditedLines, /* <O> */
463  tag_t **targetAuditedLineTags /* <OF> */
464  );
465 extern RDV_API int ARCH_getAuditData( tag_t pReport,
466  tag_t auditedLineTag,
467  tag_t *bom_line,
468  int *n_occurrences,
469  tag_t **occurrences,
470  int **occmatch_types,
471  int **occmatch_info,
472  char **occ_nve_desc,
473  char **occ_pnum_desc,
474  char **occ_qty_desc,
475  int *overall_match_info,
476  char **nve_match_desc,
477  char **pnum_match_desc,
478  char **qty_match_desc,
479  char **audit_line_summary,
480  char **audit_score );
481 
482 extern RDV_API int ARCH_getDesignAuditData( tag_t pReport,
483  tag_t auditedLineTag,
484  tag_t *bom_line,
485  int *n_occurrences,
486  tag_t **occurrences,
487  int **occmatch_types,
488  int **occmatch_info,
489  char **occ_nve_desc,
490  char **occ_pnum_desc,
491  char **occ_qty_desc,
492  int *overall_match_info,
493  char **nve_match_desc,
494  char **pnum_match_desc,
495  char **qty_match_desc,
496  char **audit_line_summary,
497  char **audit_score );
498 
499 extern RDV_API int ARCH_clear_auditreport( tag_t report_tag);
500 extern RDV_API int ARCH_closeTargetWindow( tag_t report_tag);
501 extern RDV_API int ARCH_get_options_optionvalues_for_goi
502  ( int *n_items,
503  RDV_Optiondata_t **goi_optiondata /* OF */ );
504 
505 extern RDV_API int ARCH_revise_arch
506  ( tag_t revTag, /* <I> */
507  const char *revisionId, /* <I> */
508  const char *name, /* <I> */
509  const char *description, /* <I> */
510  logical deepCopyRequired, /* <I> */
511  int count, /* <I> */
512  const ITEM_deepcopy_info_t *CopyInfo, /* <I> */
513  int *deepCopiedCount, /* <O> */
514  tag_t **deepCopiedTags, /* <OF> */
515  tag_t **deepCopiedTypeTags, /* <OF> */
516  tag_t *newRevTag, /* <O> */
517  tag_t *itemRevType /* <O> */
518  );
519 
520 extern RDV_API int ARCH_find_qualified_appgrp(
521  tag_t apn_tag,
522  tag_t top_arch_rev,
523  logical* is_shared,
524  tag_t* appgrp /* <O> */
525  );
526 
527 extern RDV_API int ARCH_find_create_qualified_appgrp(
528  tag_t appgrp,
529  tag_t top_arch_rev,
530  tag_t* new_appgrp /* <O> */
531  );
532 
533 extern RDV_API int ARCH_deep_copy_arch(
534  tag_t tgt_bomline_tag, /* <I> */
535  tag_t src_bomline_tag, /* <I> */
536  int flag_value /* <I> */
537  );
538 
539 extern RDV_API int ARCH_carry_over_variability(
540  tag_t src_bomline_tag, /* <I> */
541  tag_t tgt_bomline_tag /* <I> */
542  );
543 
544 extern RDV_API int ARCH_carry_over_nves(
545  tag_t src_bomline_tag, /* <I> */
546  tag_t tgt_bomline_tag /* <I> */
547  );
548 
549 extern RDV_API int ARCH_carry_over_partsols(
550  tag_t src_bomline_tag, /* <I> */
551  tag_t tgt_bomline_tag /* <I> */
552  );
553 extern RDV_API int ARCH_carry_over_defs_and_rulechecks(
554  tag_t source_topline, /* <I> */
555  tag_t tgt_topline /* <I> */
556  );
557 
558 extern RDV_API int RDV_get_go_part_solutions(
559  tag_t go_bomline, /* <I> */
560  int* lou_num, /* <O> */
561  tag_t** lou_bomline_tags, /* <OF> lou_num */
562  tag_t* bom_window_tag /* <O> */
563  );
564 
565 extern RDV_API int RDV_get_lou_bomline(
566  tag_t bomwindow, /* <I> */
567  tag_t top_rev_tag, /* <I> */
568  char* gc_id, /* <I> */
569  logical is_arch, /* <I> */
570  int* num_part, /* <O> */
571  tag_t** part_bomline_list /* <OF> num_part */
572  );
573 
574 extern RDV_API int RDV_find_abe_in_ab_assem(
575  tag_t bom_win_tag, /* <I> */
576  char* gc_id, /* <I> */
577  logical* valid_abe /* <O> */
578  );
579 extern RDV_API int RDV_create_svr(
580  tag_t drule, /* <I> */
581  const char* name, /* <I> */
582  const char* description, /* <I> */
583  int nOptions, /* <I> */
584  tag_t* variants, /* <I> */
585  const char** values, /* <I> */
586  tag_t itemRev, /* <I> */
587  const char* relationType, /* <I> */
588  tag_t* vrule /* <O> */
589  );
590 
591 extern RDV_API int ARCH_ask_usages_of_arch_apn(
592  tag_t arch_apn,
593  tag_t top_arch_rev,
594  int* n_usages,
595  tag_t** usage_apns
596  );
597 extern RDV_API int RDV_add_part_solution_to_ABEorGBE(
598  tag_t component, /*<I>*/
599  tag_t abe, /*<I>*/
600  int prodRevCount, /*<I>*/
601  tag_t *prodRevTags, /*<I>*/
602  tag_t abeApnTag, /*<I>*/
603  int n_authNVEs, /*<I>*/
604  tag_t *authNVEs, /*<I>*/
605  int quantity, /*<I>*/
606  int n_noteTexts, /*<I>*/
607  char **noteTypes, /*<I>*/
608  char **noteTexts, /*<I>*/
609  tag_t *partSolutionAPN /*<O>*/
610  );
611 
612 
629 extern RDV_API int ARCH_create_generic_object2(
630  const char* item_type,
631  int numAttrs,
632  char ** attrNames,
633  char ** attrValues,
634  const char* rev_id,
635  tag_t instantiating_arch,
636  tag_t* item,
637  tag_t* rev
638  );
641 #ifdef __cplusplus
642 
643  }
644 #endif
645 
646 #include <rdv/librdv_undef.h>
647 
648 #endif