ITK Function Reference
(V10000.1.0.60_20160308.00)
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
tccore
grm.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 GRM_H
15
#define GRM_H
16
17
#include <
tccore/grm_errors.h
>
18
#include <
fclasses/tc_basic.h
>
19
#include <stdarg.h>
20
#include <tccore/libtccore_exports.h>
21
115
#define GRM_class_name_c "ImanRelation"
116
#define GRM_relationtype_name_size_c 32
117
118
typedef
struct
GRM_relation_s
119
{
120
tag_t
the_relation
;
121
tag_t
primary
;
122
tag_t
secondary
;
123
tag_t
relation_type
;
124
tag_t
user_data
;
125
}
GRM_relation_t
, *
GRM_relation_p_t
;
126
130
typedef
struct
GRM_list_relation_input_s
131
{
132
int
object_count
;
133
tag_t
*
objects
;
134
int
relation_type_count
;
135
tag_t
*
relation_types
;
136
}
GRM_list_relation_input_t
, *
GRM_list_relation_input_p_t
;
137
138
139
#ifdef __cplusplus
140
extern
"C"
{
141
#endif
142
155
extern
TCCORE_API
int
GRM_create_relation
(
156
tag_t
primary_object,
158
tag_t
secondary_object,
159
tag_t
relation_type,
160
tag_t
user_data,
161
tag_t
* relation
162
);
163
168
extern
TCCORE_API
int
GRM_save_relation
(
169
tag_t
relation
170
);
171
175
extern
TCCORE_API
int
GRM_delete_relation
(
176
tag_t
relation
177
);
178
186
extern
TCCORE_API
int
GRM_find_relation
(
187
tag_t
primary_object,
189
tag_t
secondary_object,
190
tag_t
relation_type,
191
tag_t
* relation
192
);
193
200
extern
TCCORE_API
int
GRM_list_relations
(
201
tag_t
primary_object,
202
tag_t
secondary_object,
203
tag_t
relation_type,
204
tag_t
user_data,
205
int
* count,
206
tag_t
** relation_list
207
);
208
212
extern
TCCORE_API
int
GRM_list_secondary_objects
(
213
tag_t
primary_object,
214
tag_t
relation_type,
215
int
* count,
216
GRM_relation_t
** secondary_list
219
);
220
231
extern
TCCORE_API
int
GRM_list_secondary_objects_in_bulk
(
232
int
input_count,
233
const
GRM_list_relation_input_t
* inputs,
234
int
* count,
235
GRM_relation_t
** secondary_list
237
);
238
246
extern
TCCORE_API
int
GRM_list_secondary_objects_only
(
247
tag_t
primary_object,
248
tag_t
relation_type,
250
int
* count,
251
tag_t
** secondary_objects
252
);
253
257
extern
TCCORE_API
int
GRM_list_primary_objects
(
258
tag_t
secondary_object,
259
tag_t
relation_type,
260
int
* count,
261
GRM_relation_t
** primary_list
264
);
265
276
extern
TCCORE_API
int
GRM_list_primary_objects_in_bulk
(
277
int
input_count,
278
const
GRM_list_relation_input_t
* inputs,
279
int
* count,
280
GRM_relation_t
** primary_list
282
);
283
291
extern
TCCORE_API
int
GRM_list_primary_objects_only
(
292
tag_t
secondary_object,
293
tag_t
relation_type,
295
int
* count,
296
tag_t
** primary_objects
297
);
298
310
extern
TCCORE_API
int
GRM_list_primary_objects_with_primary_object_type_only
(
311
tag_t
secondary_object,
312
tag_t
relation_type,
313
const
char
* primary_type_name,
314
int
* count,
315
tag_t
** primary_objects
316
);
317
321
extern
TCCORE_API
int
GRM_list_all_related_objects
(
322
tag_t
match_object,
323
int
* count,
324
GRM_relation_t
** related_object_list
327
);
328
335
extern
TCCORE_API
int
GRM_list_all_related_objects_only
(
336
tag_t
match_object,
337
int
* count,
338
tag_t
** related_objects
339
);
340
344
extern
TCCORE_API
int
GRM_ask_primary
(
345
tag_t
relation,
346
tag_t
* primary_object
347
);
348
352
extern
TCCORE_API
int
GRM_ask_secondary
(
353
tag_t
relation,
354
tag_t
* secondary_object
355
);
356
360
extern
TCCORE_API
int
GRM_ask_relation_type
(
361
tag_t
relation,
362
tag_t
* relation_type
363
);
364
368
extern
TCCORE_API
int
GRM_ask_user_data
(
369
tag_t
relation,
370
tag_t
* user_data
371
);
372
385
extern
TCCORE_API
int
GRM_set_user_data
(
386
tag_t
relation,
387
tag_t
new_user_data
388
);
389
393
extern
TCCORE_API
int
GRM_list_relation_types
(
394
int
* count,
395
tag_t
** relation_type_list
396
);
397
401
extern
TCCORE_API
int
GRM_find_relation_type
(
402
const
char
* relation_type_name,
404
tag_t
* relation_type
405
);
406
410
extern
TCCORE_API
int
GRM_create_relation_type
(
411
const
char
* relation_type_name,
412
tag_t
* relation_type
413
);
414
418
extern
TCCORE_API
int
GRM_delete_relation_type
(
419
tag_t
relation_type
420
);
421
424
#ifdef __cplusplus
425
}
426
#endif
427
428
#include <tccore/libtccore_undef.h>
429
430
#endif