ITK Function Reference

(12.1)
tctype.h
Go to the documentation of this file.
1 /*==============================================================================
2  Copyright (c) 2003-2005,2008 UGS Corporation
3  Unpublished - All Rights Reserved
4  ==============================================================================*/
5 
13 /* */
14 
15 #ifndef TCTYPE_H
16 #define TCTYPE_H
17 
18 #include <property/prop.h>
19 #include <tccore/tctype_msg.h>
20 #include <user_exits/user_exits.h>
21 #include <tccore/libtccore_exports.h>
22 
46 #define TC_set_id_msg "IMAN_set_id"
47 #define TC_set_name_msg "IMAN_set_name"
48 #define TC_set_description_msg "IMAN_set_description"
49 #define TC_set_type_msg "IMAN_set_type"
50 #define TC_set_type_directly_msg "IMAN_set_type_directly"
51 
59 #define TCTYPE_name_size_c 32
60 #define TCTYPE_class_name_size_c 27
61 
69 #define TCTYPE_DISABLE_UPDATE_LIST 0
70 #define TCTYPE_ENABLE_UPDATE_LIST 1
71 #define TCTYPE_SUSPEND_UPDATE_LIST 2
72 #define TCTYPE_RESUME_UPDATE_LIST 3
73 
77 #define TCTYPE_UPDATE_ALL_PROPS "_update_all_"
78 
79 typedef enum TCTYPE_display_e {
86 
96 typedef enum TCTYPE_category_e {
104 
105 
106 typedef struct TCTYPE_availablerel_s
107 {
108  char* actualName;
109  char* displayName;
111 
116 typedef struct TCTYPE_deepcopydata_s
117 {
121 
127 {
132 
137 {
146 
152 {
158 
164 {
172 
173 #ifdef __cplusplus
174 extern "C"{
175 #endif
176 
183 extern TCCORE_API int TCTYPE_init_module();
184 
185 extern TCCORE_API int TCTYPE_exit_module();
186 
190 extern TCCORE_API int TCTYPE_refresh(
191  tag_t type,
192  logical lock_or_not
193  );
194 
201 extern TCCORE_API int TCTYPE_ask_name(
202  tag_t type,
203  char type_name[TCTYPE_name_size_c+1]
204  );
205 
209 extern TCCORE_API int TCTYPE_ask_name2(
210  tag_t type,
211  char **type_name
212  );
213 
223 extern TCCORE_API int TCTYPE_ask_type(
224  const char* type_name,
225  tag_t* type
226  );
227 
228 
232 extern TCCORE_API int TCTYPE_ask_display_name(
233  tag_t type,
234  char** display_type_name
235  );
236 
243 extern TCCORE_API int TCTYPE_ask_class_name(
244  tag_t type,
245  char type_class[TCTYPE_class_name_size_c+1]
246  );
247 
251 extern TCCORE_API int TCTYPE_ask_class_name2(
252  tag_t type,
253  char **type_class
254  );
255 
259 extern TCCORE_API int TCTYPE_ask_object_type(
260  tag_t object,
261  tag_t* type
262  );
263 
270 extern TCCORE_API int TCTYPE_ask_object_types(
271  int number_of_objects,
272  const tag_t* objects,
273  tag_t** types
274  );
275 
280 extern TCCORE_API int TCTYPE_ask_object_type_with_stubs(
281  tag_t object,
282  tag_t* type
283  );
284 
285 
293 extern TCCORE_API int TCTYPE_find_type(
294  const char* type_name,
295  const char* class_name,
298  tag_t* type
299  );
300 
304 extern TCCORE_API int TCTYPE_find_types_for_class(
305  const char* class_name,
306  int* number_of_types,
307  tag_t** types
308  );
309 
315 extern TCCORE_API int TCTYPE_find_displayable_types_for_class(
316  const char* class_name,
317  logical include_subclasses,
321  int* number_of_types,
322  tag_t** types
323  );
324 
331 extern TCCORE_API int TCTYPE_UIF_find_displayable_types_for_class(
332  const char* class_name,
333  logical include_subclasses,
337  int* number_of_types,
338  tag_t** types,
339  char*** type_names,
340  char*** display_type_names
341  );
342 
350  const char* class_name,
351  tag_t accessor_tag,
352  logical include_subclasses,
356  int* number_of_types,
357  tag_t** types
358  );
359 
368  const char* class_name,
369  tag_t accessor_tag,
370  logical include_subclasses,
374  int* number_of_types,
375  tag_t** types,
376  TCTYPE_display_t** details
379  );
380 
381 extern TCCORE_API int TCTYPE_find_alltypes_for_class(
382  const char* class_name,
383  int* number_of_types,
384  tag_t** types
385  );
386 
390 extern TCCORE_API logical TCTYPE_is_extent_already_called();
391 
396 extern TCCORE_API int TCTYPE_extent(
397  int* number_of_types,
398  tag_t** types
399  );
400 
401 
406 extern TCCORE_API int TCTYPE_list_properties(
407  tag_t type,
408  int* n_properties,
409  tag_t** property_descriptors
410  );
411 
415 extern TCCORE_API int TCTYPE_ask_property_by_name(
416  tag_t type,
417  const char* property_name,
418  tag_t* property_descriptor
419  );
420 
433 extern TCCORE_API int TCTYPE_property_exists(
434  tag_t type,
435  const char* property_name,
436  logical* verdict
437  );
438 
448 extern TCCORE_API int TCTYPE_ask_property_by_display_name(
449  tag_t type,
450  const char* display_name,
451  tag_t* property_descriptor
452  );
453 
454 
464 extern TCCORE_API int TCTYPE_add_runtime_array_property(
465  tag_t type,
466  const char* property_name,
472  PROP_value_type_t value_type,
475  int max_string_length,
477  int max_number_elements,
480  tag_t* property_descriptor
481  );
482 
490 extern TCCORE_API int TCTYPE_add_relation_property(
491  tag_t type,
492  const char* property_name,
498  tag_t relation_type,
499  tag_t* property_descriptor
500  );
501 
511 extern TCCORE_API int TCTYPE_list_primary_rtypes(
512  tag_t primary_type,
513  int* number_relation_types,
514  tag_t** relation_types
515  );
516 
527 extern TCCORE_API int TCTYPE_register_properties(
528  USER_prop_init_entry_t* user_types_methods,
532  int array_size
533  );
534 
541 extern TCCORE_API int TCTYPE_list_displayable_properties(
542  tag_t type,
543  int* number_of_properties,
544  tag_t** property_descriptors
546  );
547 
551 extern TCCORE_API int TCTYPE_ask_available_relations(
552  tag_t type,
553  int* number_of_relations,
554  TCTYPE_availablerel_t** available_relations
555  );
556 
557 
561 extern TCCORE_API int TCTYPE_ask_available_relation_names(
562  tag_t type,
563  int* number_of_relations,
564  char*** relation_display_names,
565  char*** relation_actual_names
566  );
567 
571 extern TCCORE_API int TCTYPE_ask_parent_type(
572  tag_t type,
573  tag_t *parent_type
574  );
575 
586 extern TCCORE_API int TCTYPE_is_type_of (
587  tag_t type,
588  tag_t parent_type,
589  logical * answer
590  );
591 
602 extern TCCORE_API int TCTYPE_is_type_of_as_str(
603  tag_t type,
604  const char* parent_type_name,
605  logical* answer
606  );
607 
618 extern TCCORE_API int TCTYPE_ask_subtypes(
619  tag_t type,
620  logical for_same_class_only,
621  int * n_subtypes,
622  tag_t ** subtypes
623  );
624 
636 extern TCCORE_API int TCTYPE_ask_subtypes_with_exclusions(
637  tag_t type,
638  logical for_same_class_only,
639  int number_exclusion_bo_names,
640  const char** exclusion_bo_names,
641  int * number_of_subtypes,
642  tag_t ** subtypes
643  );
644 
657 extern TCCORE_API int TCTYPE_ask_child_types(
658  tag_t type,
659  logical for_same_class_only,
660  int * number_of_child_types,
661  tag_t ** child_types
662  );
663 
668 extern TCCORE_API int TCTYPE_ask_child_primary_types (
669  tag_t type,
670  int * number_of_child_types,
671  tag_t ** child_types
672  );
673 
677 extern TCCORE_API int TCTYPE_load_all_delayed_types() ;
678 
682 extern TCCORE_API int TCTYPE_ask_create_descriptor(
683  tag_t type_tag,
684  tag_t* creation_descriptor
685 );
686 
687 
691 extern TCCORE_API int TCTYPE_ask_saveas_descriptor(
692  tag_t type_tag,
693  tag_t* save_as_descriptor
694  );
695 
702 extern TCCORE_API int TCTYPE_ask_target_deepcopydata(
703  tag_t object_tag,
704  int * number_attached_objects,
705  tag_t** deep_copy_data_tags
706 );
707 
708 
723 extern TCCORE_API int TCTYPE_construct_bulk_copy_inputs(
724  const int n_source_objects,
725  const tag_t* source_objects,
726  const TCTYPE_operation_input_t operation_type,
727  TCTYPE_bulk_copy_input_t** bulk_copy_inputs
729 );
730 
731 
780 extern TCCORE_API int TCTYPE_delete_operation_input_objects(
781  const int n_bulk_copy_inputs,
782  const TCTYPE_bulk_copy_input_t* bulk_copy_inputs
783 );
784 
785 
799 extern TCCORE_API int TCTYPE_bulk_saveas_objects(
800  const int n_bulk_copy_inputs,
801  const TCTYPE_bulk_copy_input_t* bulk_copy_inputs,
802  tag_t** copied_objects
803 );
804 
805 
820 extern TCCORE_API int TCTYPE_bulk_revise_objects(
821  const int n_bulk_copy_inputs,
822  const TCTYPE_bulk_copy_input_t* bulk_copy_inputs,
823  tag_t** revised_objects
824 );
825 
837 extern TCCORE_API int TCTYPE_bulk_create_objects(
838  const int n_objects,
839  const tag_t* create_inputs,
840  tag_t** objects
841 );
842 
852 extern TCCORE_API int TCTYPE_ask_create_prop_descriptors(
853  tag_t create_descriptor_tag,
854  int* number_property_descriptors,
855  tag_t** property_descriptor_tags,
856  int* number_secondary_prop_names,
857  char*** secondary_prop_names,
860  tag_t** secondary_bo_type_tags,
861  logical** is_required,
862  logical** is_array,
863  int** compounding_ctxts,
864  tag_t** secondary_create_descriptor_tags
865 );
866 
867 
878 extern TCCORE_API int TCTYPE_ask_saveas_prop_descriptors(
879  tag_t saveas_descriptor_tag,
880  int* number_prop_descriptor_tags,
881  tag_t** prop_decriptor_tags
882 );
883 
884 
889 extern TCCORE_API int TCTYPE_construct_create_input(
890  tag_t type,
891  tag_t* create_input
892 );
893 
898 extern TCCORE_API int TCTYPE_construct_saveasinput(
899  tag_t type,
900  tag_t* save_as_input
901 );
902 
907 extern TCCORE_API int TCTYPE_construct_operationinput(
908  tag_t target_object_type,
909  TCTYPE_operation_input_t operation_input,
910  tag_t* target_save_as_input
911 );
912 
918 extern TCCORE_API int TCTYPE_free_deepcopydata(
919  int number_deep_copy_data,
920  tag_t* deep_copy_data
921 );
922 
939 extern TCCORE_API int TCTYPE_saveas_object(
940  tag_t target_object,
941  tag_t save_as_input,
942  int number_of_attached_objects,
943  tag_t* deep_copy_data,
944  tag_t* target_copy
945 );
946 
950 extern TCCORE_API int TCTYPE_ask_revise_descriptor(
951  tag_t object_type,
952  tag_t* revise_descriptor
953 );
954 
959 extern TCCORE_API int TCTYPE_ask_deepcopydata(
960  tag_t object,
961  TCTYPE_operation_input_t operation_input,
962  int * number_of_attached_objects,
963  tag_t** deep_copy_data
964 );
965 
983 extern TCCORE_API int TCTYPE_revise_objects(
984  int number_target_objects,
985  tag_t* target_object,
986  tag_t* revise_input,
987  int* number_attached_objs,
988  tag_t* deep_copy_data,
989  tag_t** target_copy,
990  int** ifails
991 );
992 
996 extern TCCORE_API int TCTYPE_create_object(
997  tag_t create_input,
998  tag_t* bo
999 );
1000 
1014 extern TCCORE_API int TCTYPE_create_objects(
1015  int n_bulks,
1016  int* quantities,
1017  tag_t* create_inputs,
1018  int* n_objects,
1019  tag_t** objects
1020 );
1021 
1033 extern TCCORE_API int TCTYPE_create_single_objects(
1034  int n_bulks,
1035  const tag_t* create_inputs,
1036  int* n_objects,
1037  tag_t** objects
1038 );
1039 
1043 extern TCCORE_API int TCTYPE_set_create_display_value(
1044  tag_t create_input,
1045  char* property_name,
1046  int number_of_display_values,
1047  const char** display_values
1051 );
1052 
1062 extern TCCORE_API int TCTYPE_set_OperationInput_DisplayValue(
1063  tag_t operation_input,
1064  char* property_name,
1065  const char** display_values
1067 );
1068 
1079 extern TCCORE_API int TCTYPE_get_OperationInput_DisplayValues(
1080  tag_t operation_input,
1081  char* property_name,
1082  int* number_of_display_values,
1083  char*** display_values,
1085  logical** is_null
1086 );
1087 
1091 extern TCCORE_API int TCTYPE_find_displayable_business_objects(
1092  const char* bo_name,
1093  int number_exclusion_bo_names,
1094  const char** exclusion_bo_names,
1095  int* number_displayable_types,
1096  tag_t** displayable_types
1097 );
1098 
1103 extern TCCORE_API int TCTYPE_UIF_find_displayable_business_objects(
1104  const char* bo_name,
1105  int number_exclusion_bo_names,
1106  const char** exclusion_bo_names,
1107  int* number_displayable_types,
1108  tag_t** displayable_types,
1109  char*** type_names,
1110  char*** display_type_names
1111 );
1112 
1128  const char* bo_name,
1129  int number_exclusion_bo_names,
1130  const char** exclusion_bo_names,
1131  int* number_displayable_types,
1132  tag_t** displayable_types,
1133  char*** type_names,
1134  char*** display_type_names
1135 );
1136 
1140 extern TCCORE_API int TCTYPE_ask_name_rule_patterns(
1141  const char* bo_name,
1142  int* number_property_names,
1143  char*** property_names,
1144  int** pattern_count,
1145  int* number_of_patterns,
1146  char*** patterns
1147 );
1148 
1152 extern TCCORE_API int TCTYPE_ask_save_operation_context(
1153  TCTYPE_save_operation_context_t* save_operation_context
1154 );
1155 
1156 
1167 extern TCCORE_API int TCTYPE_extent_by_category(
1168  TCTYPE_category_t type_category,
1169  int* number_of_types,
1170  tag_t** types
1171 );
1172 
1173 
1190  extern TCCORE_API int TCTYPE_add_to_changed_tag_list(
1191  tag_t object,
1192  const char* properties
1193  );
1194 
1200  extern TCCORE_API int TCTYPE_add_to_deleted_tag_list(
1201  tag_t object
1202  );
1203 
1204 
1210  extern TCCORE_API int TCTYPE_get_modified_tag_list(
1211  logical clear_lists,
1213  int* num_objects,
1214  tag_t** tags,
1215  int** deleted_or_modified,
1217  char*** properties
1224  );
1225 
1231  extern TCCORE_API int TCTYPE_remove_from_modified_tag_list(
1232  tag_t object
1233  );
1234 
1242  extern TCCORE_API int TCTYPE_ask_type_descriptions(
1243  const unsigned int n_types,
1244  const tag_t* types,
1245  char*** type_descriptions
1247  );
1248 
1257  extern TCCORE_API int TCTYPE_ask_is_abstract(
1258  tag_t type,
1259  logical* isAbstract
1260  );
1261 
1267 #ifdef __cplusplus
1268 }
1269 #endif
1270 
1273 #include <tccore/libtccore_undef.h>
1274 
1275 #endif