ITK Function Reference

(V10000.1.0.60_20160308.00)
Macros | Typedefs | Enumerations | Functions
ic.h File Reference
#include <fclasses/tc_basic.h>
#include <ecm/libecm_exports.h>
#include <ecm/libecm_undef.h>

Go to the source code of this file.

Macros

#define IC_PRT_folder_contents   "Folder::contents"
 
#define IC_PRT_occ_predecessor   "PSOccurrence::pred_list"
 

Typedefs

typedef enum IC_change_type_e IC_change_type_t
 
typedef enum IC_list_type_e IC_list_type_t
 

Enumerations

enum  IC_change_type_e { IC_add = 1, IC_remove }
 
enum  IC_list_type_e { IC_list_none = 0, IC_list_adds = 1, IC_list_removes = 2, IC_list_both = 3 }
 

Functions

ECM_API int IC_ask_ice_affected_object (tag_t ice, tag_t *affected_obj, tag_t *parent_obj, char **pseudo_reln_type)
 
ECM_API int IC_ask_ice_change_type (tag_t ice, IC_change_type_t *change_type)
 
ECM_API int IC_create_ice (tag_t ic_rev_tag, tag_t affected_obj, IC_change_type_t change_type, tag_t *ice)
 
ECM_API int IC_create_ice_pr (tag_t ic_rev_tag, tag_t child_obj, tag_t parent_obj, const char *pseudo_reln_type, IC_change_type_t change_type, tag_t *ice)
 
ECM_API int IC_delete_ice (tag_t ice)
 
ECM_API int IC_find_ice (tag_t ic_rev_tag, tag_t affected_obj, tag_t *ice)
 
ECM_API int IC_find_ice_pr (tag_t ic_rev_tag, tag_t child_obj, tag_t parent_obj, const char *pseudo_reln_type, tag_t *ice)
 
ECM_API int IC_find_ices_affecting_obj (tag_t affected_obj, int *n_ices, tag_t **ices)
 
ECM_API int IC_find_ices_affecting_pr (tag_t child_obj, tag_t parent_obj, const char *pseudo_reln_type, int *n_ices, tag_t **ices)
 
ECM_API int IC_how_configured (tag_t affected_obj, tag_t rev_rule, logical *is_configured, tag_t *how_configured)
 
ECM_API int IC_how_configured_pr (tag_t child_obj, tag_t parent_obj, const char *pseudo_reln_type, tag_t rev_rule, logical *is_configured, tag_t *how_configured)
 
ECM_API int IC_is_configured (tag_t affected_obj, tag_t rev_rule, logical *is_configured)
 
ECM_API int IC_is_configured_pr (tag_t child_obj, tag_t parent_obj, const char *pseudo_reln_type, tag_t rev_rule, logical *is_configured)
 
ECM_API int IC_list_ices_of_ic_rev (tag_t ic_rev_tag, int *n_ices, tag_t **ices)
 
ECM_API int IC_split_ic (tag_t ic_rev, int n_ices, tag_t *ices, tag_t ic_rev_target)
 

Detailed Description

Public ITK header file for Incremental Change module.

Uses IncrementalChangeElement (ICE) object to link an 'affected object' into an Incremental Change. Each ICE either Adds or Removes the affected object. The Incremental Change is thus a collection of objects that must be added and removed at the same point to constitute a logical change.

The Incremental Change is represented by an item revision, typically in implementations of an ECRevision (Engineering Change Revision), allowing the logical change itself to evolve through its own lifecycle.

In the usual case the ICE references the affected object directly. But it can also be used to apply incremental change tracking to relationships that are not actually represented by an object in the Teamcenter Engineering database. Instead, the relationship is "implied" by a tag reference attribute from one object pointing to another object, for example Folder's "contents" attribute referencing an object to be "contained" by a folder. This we call the "pseudo-relation" case, the pseudo-relation being described by a combination of the parent (referencing) object, child (referenced) object, and a string (pseudo_reln_type) that uniquely identifies the referencing attribute and conventionally formatted as "<class_name>::<attr_name>", e.g. "Folder::contents" (examples used in core being predefined).

Definition in file ic.h.