ITK Function Reference
(V10000.1.0.60_20160308.00)
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
bom
bomwriter.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 BOMWRITER_H
15
#define BOMWRITER_H
16
17
#include <
unidefs.h
>
18
#include <stdio.h>
19
#include <bom/libbom_exports.h>
20
238
#define BOM_writer_node_unset 0
239
#define BOM_writer_node_selected (1<<0)
240
#define BOM_writer_node_ancestor (1<<1)
241
#define BOM_writer_node_descendant (1<<2)
242
#define BOM_writer_node_leaf (1<<3)
243
#define BOM_writer_node_assy_geom (1<<4)
244
#define BOM_writer_node_subselected (1<<5)
245
#define BOM_writer_node_subancestor (1<<6)
246
#define BOM_writer_node_subdescendant (1<<7)
247
257
typedef
char
* (*BOM_writer_userfunc_t)(
258
tag_t
bomline,
259
tag_t
parent,
263
void
* transform,
264
int
node_reason,
274
int
depth,
275
void
* userdata
276
);
277
281
typedef
struct
{
282
long
struct_type
;
283
void
*
object
;
284
}
BOM_writer_struct
;
285
292
#define BOMWRITER_UA_TARGET "target:"
293
#define BOMWRITER_UA_PREF "pref:"
294
#define BOMWRITER_UA_ATTRMAP "attrmap:"
295
#define BOMWRITER_UA_KEY "key:"
296
#define BOMWRITER_UA_PROP "prop:"
297
#define BOMWRITER_UA_ATTR "attr:"
298
#define BOMWRITER_UA_LITERAL "literal:"
299
#define BOMWRITER_UA_PROPUID "propuid:"
300
321
typedef
struct
{
322
BOM_writer_struct
struct_type
;
323
FILE*
filehandle
;
324
}
BOM_writer_output_file
;
325
345
typedef
struct
{
346
BOM_writer_struct
struct_type
;
347
char
* smstring;
350
}
BOM_writer_output_smstring
;
351
352
typedef
union
{
353
BOM_writer_struct
common
;
354
BOM_writer_output_file
file
;
355
BOM_writer_output_smstring
smstring
;
356
}
BOM_writer_output
;
357
370
typedef
char
* (*BOM_writer_empty_ep_t)(
371
tag_t
bomline,
372
tag_t
parent,
376
void
* transform,
377
int
node_reason,
387
int
depth,
388
int
count,
389
void
* userdata,
390
int
* prune
391
);
392
393
typedef
int (*
BOM_writer_asktform_t
)(
394
tag_t
bomline,
395
int
depth,
396
void
** transform
397
);
398
399
typedef
int (*
BOM_writer_combtform_t
)(
400
void
* transform1,
401
void
* transform2,
402
void
** result
403
);
404
405
typedef
int (*
BOM_writer_freetform_t
)(
406
void
* transform
407
);
408
413
typedef
struct
{
414
BOM_writer_struct
struct_type
;
415
BOM_writer_empty_ep_t
enter_parent;
418
BOM_writer_userfunc_t
write_leaf
;
419
BOM_writer_userfunc_t
leave_parent
;
420
BOM_writer_asktform_t
ask_transform;
423
BOM_writer_combtform_t
combine_transforms;
426
BOM_writer_freetform_t
free_transform;
428
void
*
userdata
;
429
}
BOM_writer_format_empty
;
430
431
typedef
enum
BOM_writer_ajt_style_e
{
432
BOM_writer_ajt_file_url
,
433
BOM_writer_ajt_file_unix
,
434
BOM_writer_ajt_file_nt
,
435
BOM_writer_ajt_file_native
,
436
BOM_writer_ajt_file_user
,
437
BOM_writer_ajt_file_uidtag
,
438
BOM_writer_ajt_file_webtag
439
}
BOM_writer_ajt_file_style
;
440
441
typedef
char
* (*BOM_writer_ajtfilefunc_t)(
442
tag_t
dataset,
443
tag_t
imanfile,
444
tag_t
line,
445
void
* userdata
446
);
447
448
#define BOMWRITER_AJT_ROOT_UA_TARGET BOMWRITER_UA_TARGET "Root"
449
#define BOMWRITER_AJT_NODE_UA_TARGET BOMWRITER_UA_TARGET "Node"
450
463
typedef
struct
{
464
BOM_writer_struct
struct_type
;
465
logical
supply_identity;
468
logical
skip_fake_part
;
/* <I> [false] - if true, skip dummy parts for sub-assemblies*/
469
//Jane <17-Jan-2008> Add asm_jt_file flag to the AJT format
470
logical
asm_jt_file
;
//[false] -- if false, only writer the leaf node files
471
// -- if true,writer files associated with both leaf nodes and assembly lines
472
BOM_writer_userfunc_t
userfunc;
475
BOM_writer_ajtfilefunc_t
userfilefunc;
478
void
*
userdata
;
479
BOM_writer_ajt_file_style
file_attr_style;
488
char
** user_attributes;
490
long
fatal_minor_errors;
493
}
BOM_writer_format_ajt
;
494
495
#define BOMWRITER_PLMXML_ROOT_UA_TARGET BOMWRITER_UA_TARGET "Root"
496
#define BOMWRITER_PLMXML_PART_UA_TARGET BOMWRITER_UA_TARGET "Part"
497
#define BOMWRITER_PLMXML_INSTANCE_UA_TARGET BOMWRITER_UA_TARGET "Instance"
498
#define BOMWRITER_PLMXML_OCCURRENCE_UA_TARGET BOMWRITER_UA_TARGET "Occurrence"
499
515
typedef
enum
TransformType_e
516
{
517
TransformType_None
,
518
TransformType_Cumulative
,
519
TransformType_AbsOcc
,
520
TransformType_AbsOcc_Then_Cumulative
521
}
BOM_writer_TransformType
;
522
typedef
struct
{
523
BOM_writer_struct
struct_type
;
524
char
* builder_name;
527
void
*
builder_object
;
528
void
* auto_doc;
530
char
** user_attributes;
532
logical
suppress_output;
535
long
fatal_minor_errors;
538
char
*
transfer_mode
;
539
BOM_writer_TransformType
transform_type
;
540
char
**
lang_codes
;
541
int
number_of_langs
;
542
char
*
perf_file
;
543
int
sequence_no
;
544
char
*
assembly_size
;
545
char
*
log_file
;
546
}
BOM_writer_format_plmxml
;
547
551
typedef
union
BOM_writer_format_u
BOM_writer_format
;
552
564
typedef
struct
{
565
BOM_writer_struct
struct_type
;
566
BOM_writer_format
*
subformat
;
567
}
BOM_writer_format_flatten
;
568
569
union
BOM_writer_format_u
{
570
BOM_writer_struct
common
;
571
BOM_writer_format_empty
empty
;
572
BOM_writer_format_ajt
ajt
;
573
BOM_writer_format_plmxml
plmxml
;
574
BOM_writer_format_flatten
flatten
;
575
};
576
583
typedef
struct
{
584
BOM_writer_struct
struct_type
;
585
logical
no_descendants
;
586
int
selected_count;
595
tag_t
*
selected_lines
;
596
logical
unload_lines;
600
logical
transient_unpack;
604
logical
emit_unselected_ancestors;
607
int
unselected_ancestors_count
;
608
tag_t
*
unselected_ancestors
;
609
int
sub_count;
615
tag_t
*
sub_lines
;
616
int
filter_by_level;
618
int
bomset_max_lines;
620
logical
varuid;
622
logical
revid;
624
logical
grdvua;
627
}
BOM_writer_traversal
;
628
631
#include <bom/libbom_undef.h>
632
#endif