Table 6.1 lists the topics for this clause.
The binding of each API function utilizes the following template:
C Binding Function Name
Abstract function: Abstract function Name
ReturnValueDataType SE_FunctionName (
Parameter0DataType |
parameter_0_name, |
Parameter1DataType |
parameter_1_name, |
. . . |
. . ., |
ParameterNDataType |
parameter_N_name, |
);
The C binding function name is formed by a sentinal “SE_” followed by the name without spaces and with words capitalized. The Abstract function name is the name specified in Part 1 of ISO/IEC 18023.
The return value data type and parameter data types may be found in 5 Definition of fundamental data types or may be a standard C data type (e.g., void).
The parameter names are formed by using lower case words separated by underscores.
The following functions comprise the API.
Abstract function: AddAssociateRelationship
SE_Return_Code SE_AddAssociateRelationship (
SE_Object |
from_object, |
|
SE_Object |
to_object, |
|
SE_Object |
link_object, |
|
|
SE_Boolean |
make_two_way |
);
Abstract function: AddComponentRelationship
SE_Return_Code SE_AddComponentRelationship (
SE_Object |
component_object, |
|
SE_Object |
aggregate_object, |
|
SE_Object |
link_object |
);
Abstract function: CloneObject
SE_Return_Code SE_CloneObject (
const |
SE_Object |
original_object, |
|
SE_Object |
*duplicate_object |
);
Abstract function: CloseTransmittal
SE_Return_Code SE_CloseTransmittal (
SE_Transmittal |
transmittal |
);
Abstract function: CreateObject
SE_Return_Code SE_CreateObject (
const |
SE_Transmittal |
transmittal, |
|
SE_DRM_Class |
new_object_type, |
|
SE_Object |
*new_object |
);
Abstract function: CreateSearchFilter
SE_Return_Code SE_CreateSearchFilter (
const |
SE_Search_Rule |
*rules, |
|
SE_Search_Filter |
*search_filter |
);
Abstract function: CreateSpatialSearchBoundary
SE_Return_Code SE_CreateSpatialSearchBoundary (
const |
SE_Search_Bounds |
*search_bounds, |
|
SE_Search_Bounds_Closure |
search_bounds_closure, |
|
SE_Search_Type |
search_quality, |
|
SE_Object_Inclusion |
inclusion, |
|
SE_Search_Dimension |
search_dimension, |
|
SE_Search_Boundary |
*search_boundary |
);
Abstract function: DetermineSpatialInclusion
SE_Return_Code SE_DetermineSpatialInclusion (
const |
SE_Object |
test_object, |
const |
SE_Search_Bounds |
*search_bounds, |
|
SE_Search_Bounds_Closure |
search_bounds_closure, |
|
SE_Search_Type |
search_quality, |
|
SE_Search_Dimension |
search_dimension, |
|
SE_Boolean |
*object_fully_included, |
|
SE_Boolean |
*object_partly_included, |
|
SE_Boolean |
*object_includes_search_bounds |
);
Abstract function: FreeIterator
SE_Return_Code SE_FreeIterator (
|
SE_Iterator |
to_free_iterator |
);
Abstract function: FreeObject
SE_Return_Code SE_FreeObject (
|
SE_Object |
to_free_object |
);
Abstract function: FreePackedHierarchy
SE_Return_Code SE_FreePackedHierarchy (
|
SE_Packed_Hierarchy |
to_free_hierarchy |
);
Abstract function: FreeRemainingObjectsList
SE_Return_Code SE_FreeRemainingObjectsList (
|
SE_Remaining_Objects_List |
*to_free_list |
);
Abstract function: FreeRemainingPackedHierarchiesList
SE_Return_Code SE_FreeRemainingPackedHierarchiesList (
|
SE_Remaining_Packed_Hierarchies_List |
*to_free_hierarchies_list |
);
Abstract function: FreeSearchFilter
SE_Return_Code SE_FreeSearchFilter (
|
SE_Search_Filter |
to_free_filter |
);
Abstract function: FreeSpatialSearchBoundary
SE_Return_Code SE_FreeSpatialSearchBoundary (
|
SE_Search_Boundary |
to_free_boundary |
);
Abstract function: FreeTransmittal
SE_Return_Code SE_FreeTransmittal (
|
SE_Transmittal |
to_free_transmittal |
);
Abstract function: GetAggregate
SE_Return_Code SE_GetAggregate (
const |
SE_Object |
component_object, |
|
SE_DRM_Class |
drm_class, |
|
SE_ITR_Behaviour |
itr_traversal, |
|
SE_Store |
store, |
|
SE_Object |
*aggregate_object, |
|
SE_Object |
*link_object |
);
Abstract function: GetAssociate
SE_Return_Code SE_GetAssociate (
const |
SE_Object |
associating_object, |
|
SE_DRM_Class |
drm_class, |
|
SE_ITR_Behaviour |
itr_traversal, |
|
SE_Store |
store, |
|
SE_Object |
*associate_object, |
|
SE_Object |
*link_object |
);
Abstract function: GetColourModel
SE_Return_Code SE_GetColourModel (
const |
SE_Transmittal |
transmittal, |
|
SE_Colour_Model |
*colour_model |
);
Abstract function: GetComponent
SE_Return_Code SE_GetComponent (
const |
SE_Object |
aggregate_object, |
|
SE_DRM_Class |
drm_class, |
|
SE_Boolean |
directly_attach_table_components, |
|
SE_Boolean |
process_inheritance, |
|
SE_ITR_Behaviour |
itr_traversal, |
|
SE_Store |
store, |
|
SE_Object |
*component_object, |
|
SE_Object |
*link_object |
);
Abstract function: GetContextTransformation
SE_Return_Code SE_GetContextTransformation (
const |
SE_Object |
transformed_object, |
|
SE_Matrix_4x4 |
*matrix |
);
Abstract function: GetDataTableData
SE_Return_Code SE_GetDataTableData (
const |
SE_Object |
data_table_object, |
const |
SE_Data_Table_Sub_Extent |
*extents, |
|
SE_Integer_Positive |
element_count, |
const |
SE_Integer_Positive |
*element_indices, |
|
SE_Store |
store, |
|
SE_Data_Table_Data |
**data |
);
Abstract function: GetDRMClass
SE_Return_Code SE_GetDRMClass (
const |
SE_Object |
object, |
|
SE_DRM_Class |
*object_class |
);
Abstract function: GetEncoding
SE_Return_Code SE_GetEncoding (
const |
SE_Object |
object, |
|
SE_Encoding |
*encoding |
);
Abstract function: GetFields
SE_Return_Code SE_GetFields (
const |
SE_Object |
object, |
|
SE_Store |
store, |
|
SE_DRM_Class_Fields |
**fields |
);
Abstract function: GetImageData
SE_Return_Code SE_GetImageData (
const |
SE_Object |
image_object, |
const |
SE_Image_Texel_Location_3D |
*start_texel, |
const |
SE_Image_Texel_Location_3D |
*stop_texel, |
|
SE_Short_Integer_Unsigned |
mip_level, |
|
SE_Store |
store, |
|
SE_Image_Data |
**image_data |
);
Abstract function: GetIterationLengthRemaining
SE_Return_Code SE_GetIterationLengthRemaining (
const |
SE_Iterator |
iterator, |
|
SE_Integer_Unsigned |
*count |
);
Abstract function: GetLastFunctionStatus
SE_Return_Code SE_GetLastFunctionStatus (
|
SE_Store |
store, |
|
SE_Status_Code |
*last_function_status, |
|
SE_String |
**status_description |
);
Abstract function: GetMeshFaceTableData
SE_Return_Code SE_GetMeshFaceTableData (
const |
SE_Object |
mesh_face_table_object, |
|
SE_Boolean |
get_adjacent_face_table_data, |
|
SE_Integer_Positive |
start_face, |
|
SE_Integer_Positive |
number_faces, |
|
SE_Store |
store, |
|
SE_Integer_Unsigned_2D |
**mesh_face_table_data, |
|
SE_Integer_Unsigned_2D |
**adjacent_face_table_data |
);
Abstract function: GetNextObject
SE_Return_Code SE_GetNextObject (
const |
SE_Iterator |
iterator, |
|
SE_Object |
*next_object, |
|
SE_Object |
*link_object |
);
Abstract function: GetNthAssociate
SE_Return_Code SE_GetNthAssociate (
const |
SE_Object |
from_object, |
|
SE_DRM_Class |
desired_associate_class, |
|
SE_Integer_Positive |
n, |
|
SE_Object |
*associate_object, |
|
SE_Object |
*link_object |
);
Abstract function: GetNthComponent
SE_Return_Code SE_GetNthComponent (
const |
SE_Object |
aggregate_object, |
|
SE_DRM_Class |
desired_component_class, |
|
SE_Integer_Positive |
n, |
|
SE_Object |
*component_object, |
|
SE_Object |
*link_object |
);
Abstract function: GetNumberOfPathsToTransmittalRoot
SE_Return_Code SE_GetNumberOfPathsToTransmittalRoot (
const |
SE_Object |
object, |
|
SE_Integer_Unsigned |
*number_of_paths |
);
Abstract function: GetObjectFromIDString
SE_Return_Code SE_GetObjectFromIDString (
const |
SE_Transmittal |
transmittal, |
const |
SE_String |
*id, |
|
SE_Object |
*object |
);
Abstract function: GetObjectIDString
SE_Return_Code SE_GetObjectIDString (
const |
SE_Object |
object, |
|
SE_Store |
store, |
|
SE_String |
**id |
);
Abstract function: GetObjectReferenceCount
SE_Return_Code SE_GetObjectReferenceCount (
const |
SE_Object |
object, |
|
SE_Short_Integer_Unsigned |
*reference_count |
);
Abstract function: GetPackedHierarchy
SE_Return_Code SE_GetPackedHierarchy (
const |
SE_Object |
root_object, |
|
SE_Boolean |
directly_attach_table_components, |
|
SE_Boolean |
process_inheritance, |
|
SE_Integer_Unsigned |
hierarchy_depth, |
|
SE_ITR_Behaviour |
itr_traversal, |
|
SE_Store |
store, |
|
SE_Packed_Hierarchy |
**hierarchy |
);
Abstract function: GetPublishedLabels
SE_Return_Code SE_GetPublishedLabels (
const |
SE_Object |
object, |
|
SE_Store |
store, |
|
SE_Integer_Unsigned |
*label_count, |
|
SE_String |
**label_list |
);
Abstract function: GetPublishedObjectList
SE_Return_Code SE_GetPublishedObjectList (
const |
SE_Transmittal |
transmittal, |
|
SE_Store |
store, |
|
SE_Integer_Unsigned |
*published_object_count, |
|
SE_Object |
**published_object_list |
);
Abstract function: GetReferencedTransmittalList
SE_Return_Code SE_GetReferencedTransmittalList (
const |
SE_Transmittal |
transmittal, |
|
SE_Store |
store, |
|
SE_Integer_Unsigned |
*transmittal_name_count, |
|
SE_URN |
**transmittal_name_list |
);
Abstract function: GetRelationCounts
SE_Return_Code SE_GetRelationCounts (
const |
SE_Object |
object, |
|
SE_ITR_Behaviour |
itr_traversal, |
|
SE_Integer_Unsigned |
*component_count, |
|
SE_Integer_Unsigned |
*aggregate_count, |
|
SE_Integer_Unsigned |
*associate_count |
);
Abstract function: GetRemainingObjectsList
SE_Return_Code SE_GetRemainingObjectsList (
const |
SE_Iterator |
iterator, |
|
SE_Store |
store, |
|
SE_Remaining_Objects_List |
**remaining_objects |
);
Abstract function: GetRemainingPackedHierarchies
SE_Return_Code SE_GetRemainingPackedHierarchies (
const |
SE_Iterator |
iterator, |
|
SE_Integer_Unsigned |
hierarchy_depth, |
|
SE_Store |
store, |
|
SE_Remaining_Packed_Hierarchies_List |
**remaining_hierarchies |
);
Abstract function: GetRootObject
SE_Return_Code SE_GetRootObject (
const |
SE_Transmittal |
transmittal, |
|
SE_Object |
*root_object |
);
Abstract function: GetSRFInfo
SE_Return_Code SE_GetSRFContextInfo (
const |
SE_Object |
object, |
|
SE_SRF_Context_Info |
*srf_context_info |
);
Abstract function: GetTransmittalFromObject
SE_Return_Code SE_GetTransmittalFromObject (
const |
SE_Object |
object, |
|
SE_Transmittal |
*transmittal |
);
Abstract function: GetTransmittalLocation
SE_Return_Code SE_GetTransmittalLocation (
const |
SE_Transmittal |
transmittal, |
|
SE_Store |
store, |
|
SE_URL |
**location |
);
Abstract function: GetTransmittalName
SE_Return_Code SE_GetTransmittalName (
const |
SE_Transmittal |
transmittal, |
|
SE_Store |
store, |
|
SE_URN |
**name |
);
Abstract function: GetTransmittalVersionInformation
SE_Return_Code SE_GetTransmittalVersionInformation (
const |
SE_Transmittal |
transmittal, |
|
SE_Short_Integer_Unsigned |
*major_DRM_version, |
|
SE_Byte_Unsigned |
*minor_DRM_version, |
|
SE_Character |
*interim_DRM_version, |
|
SE_Short_Integer_Unsigned |
*major_EDCS_version, |
|
SE_Byte_Unsigned |
*minor_EDCS_version, |
|
SE_Character |
*interim_EDCS_version, |
|
SE_Short_Integer_Unsigned |
*major_SRM_version, |
|
SE_Byte_Unsigned |
*minor_SRM_version, |
|
SE_Character |
*interim_SRM_version |
);
Abstract function: GetUniqueTransmittalID
SE_Return_Code SE_GetUniqueTransmittalID (
const |
SE_Transmittal |
transmittal, |
|
SE_Store |
store, |
|
SE_String |
**identifier |
);
Abstract function: GetUnresolvedObjectFromPublishedLabel
SE_Return_Code SE_GetUnresolvedObjectFromPublishedLabel (
const |
SE_URN |
*transmittal_name, |
const |
SE_String |
*object_label, |
|
SE_Encoding |
encoding, |
|
SE_Object |
*object |
);
Abstract function: GetUserData
SE_Return_Code SE_GetUserData (
const |
SE_Object |
object, |
|
SE_User_Data |
*user_data |
);
Abstract function: InitializeAggregateIterator
SE_Return_Code SE_InitializeAggregateIterator (
const |
SE_Object |
start_object, |
const |
SE_Search_Filter |
filter, |
|
SE_ITR_Behaviour |
itr_traversal, |
|
SE_Iterator |
*iterator |
);
Abstract function: InitializeAssociateIterator
SE_Return_Code SE_InitializeAssociateIterator (
const |
SE_Object |
start_object, |
const |
SE_Search_Filter |
filter, |
|
SE_ITR_Behaviour |
itr_traversal, |
|
SE_Iterator |
*iterator |
);
Abstract function: InitializeComponentIterator
SE_Return_Code SE_InitializeComponentIterator (
const |
SE_Object |
start_object, |
const |
SE_Search_Boundary |
boundary, |
const |
SE_Search_Filter |
filter, |
|
SE_Boolean |
directly_attach_table_components, |
|
SE_Boolean |
process_inheritence, |
|
SE_Boolean |
transform_locations, |
|
SE_Boolean |
follow_model_instances, |
|
SE_Boolean |
evaluate_static_control_links, |
const |
SE_Hierarchy_Select_Parameters |
*select_parameters, |
const |
SE_Hierarchy_Order_Parameters |
*traversal_order_parameters, |
|
SE_Traversal_Order |
general_traversal_pattern, |
|
SE_ITR_Behaviour |
itr_traversal, |
|
SE_Iterator |
*iterator |
);
Abstract function: InitializeInheritedComponentIterator
SE_Return_Code SE_InitializeInheritedComponentIterator (
const |
SE_Object |
start_object, |
const |
SE_Search_Filter |
filter, |
|
SE_Boolean |
directly_attach_table_components, |
|
SE_ITR_Behaviour |
itr_traversal, |
|
SE_Iterator |
*iterator |
);
Abstract function: IsIteratorComplete
SE_Return_Code SE_IsIteratorComplete (
const |
SE_Iterator |
iterator, |
|
SE_Boolean |
*result |
);
Abstract function: ObjectIsPublished
SE_Return_Code SE_ObjectIsPublished (
const |
SE_Object |
object, |
|
SE_Boolean |
*result |
);
Abstract function: ObjectIsResolved
SE_Return_Code SE_ObjectIsResolved (
const |
SE_Object |
object, |
|
SE_Boolean |
*result |
);
Abstract function: ObjectsAreSame
SE_Return_Code SE_ObjectsAreSame (
const |
SE_Object |
object_1, |
const |
SE_Object |
object_2, |
|
SE_Boolean |
*result |
);
Abstract function: OpenTransmittalByLocation
SE_Return_Code SE_OpenTransmittalByLocation (
const |
SE_URL |
*location, |
|
SE_Encoding |
encoding, |
|
SE_Access_Mode |
access_mode, |
|
SE_Transmittal |
*transmittal |
);
Abstract function: OpenTransmittalByName
SE_Return_Code SE_OpenTransmittalByName (
const |
SE_URN |
*transmittal_name, |
const |
SE_Encoding |
encoding, |
|
SE_Access_Mode |
access_mode, |
|
SE_Transmittal |
*transmittal |
);
Abstract function: PublishObject
SE_Return_Code SE_PublishObject (
const |
SE_Object |
object, |
const |
SE_String |
*label |
);
Abstract function: PutDataTableData
SE_Return_Code SE_PutDataTableData (
|
SE_Object |
data_table_object, |
const |
SE_Data_Table_Sub_Extent |
*extents, |
|
SE_Integer_Positive |
element_count, |
const |
SE_Integer_Positive |
*element_indices, |
const |
SE_Data_Table_Data |
*data_table_data |
);
Abstract function: PutFields
SE_Return_Code SE_PutFields (
|
SE_Object |
existing_object, |
const |
SE_DRM_Class_Fields |
*new_fields |
);
Abstract function: PutImageData
SE_Return_Code SE_PutImageData (
|
SE_Object |
image_object, |
|
SE_Integer_Unsigned |
start_texel_horizontal, |
|
SE_Integer_Unsigned |
start_texel_vertical, |
|
SE_Integer_Unsigned |
start_texel_z, |
|
SE_Integer_Unsigned |
stop_texel_horizontal, |
|
SE_Integer_Unsigned |
stop_texel_vertical, |
|
SE_Integer_Unsigned |
stop_texel_z, |
|
SE_Short_Integer_Unsigned |
mip_level, |
const |
SE_Image_Data |
*image_data |
);
Abstract function: PutMeshFaceTableData
SE_Return_Code SE_PutMeshFaceTableData (
|
SE_Object |
mesh_face_table_object, |
|
SE_Boolean |
put_adjacent_face_table_data, |
|
SE_Integer_Positive |
start_face, |
|
SE_Integer_Positive |
number_faces, |
const |
SE_Integer_Unsigned |
*mesh_face_table_data, |
const |
SE_Integer_Unsigned |
*adjacent_face_table_data |
);
Abstract function: RemoveAssociateRelationship
SE_Return_Code SE_RemoveAssociateRelationship (
|
SE_Object |
from_object, |
|
SE_Object |
to_object, |
|
SE_Object |
link_object, |
|
SE_Boolean |
remove_two_way |
);
Abstract function: RemoveComponentRelationship
SE_Return_Code SE_RemoveComponentRelationship (
|
SE_Object |
aggregate_object, |
|
SE_Object |
component_object, |
|
SE_Object |
link_object |
);
Abstract function: RemoveFromTransmittal
SE_Return_Code SE_RemoveFromTransmittal (
const |
SE_Object |
old_object, |
const |
SE_Transmittal |
transmittal |
);
Abstract function: ResolveObject
SE_Return_Code SE_ResolveObject (
|
SE_Object |
object |
);
Abstract function: ResolveTransmittalName
SE_Return_Code SE_ResolveTransmittalName (
const |
SE_URN |
*transmittal_name, |
|
SE_Store |
store, |
|
SE_URL |
**location |
);
Abstract function: SetColoModel
SE_Return_Code SE_SetColourModel (
SE_Colour_Model |
colour_model |
);
Abstract function: SetFirstErrorMessage
void SE_SetFirstErrorMessage (
const |
SE_String |
*message |
);
Abstract function: SetGeneralCallback
SE_Return_Code SE_SetGeneralCallback (
SE_Status_Logger |
*user_defined_function |
);
Abstract function: SetGeneralCallbackForOneFunction
SE_Return_Code SE_SetGeneralCallbackForOneFunction (
|
SE_Status_Logger |
*user_defined_function, |
|
SE_API_Function |
function_to_catch |
);
Abstract function: SetRootObject
SE_Return_Code SE_SetRootObject (
const |
SE_Transmittal |
transmittal, |
const |
SE_Object |
new_root_object, |
|
SE_Object |
*old_root_object |
);
Abstract function: SetSecondErrorMessage
SE_Return_Code SE_SetSecondErrorMessage (
const |
SE_String |
*message |
);
Abstract function: SetSpecificCallback
SE_Return_Code SE_SetSpecificCallback (
|
SE_Status_Logger |
*user_defined_function, |
|
SE_API_Function |
function_to_catch, |
|
SE_Status_Code |
status_code_to_catch |
);
Abstract function: SetSRFContextInfo
SE_Return_Code SE_SetSRFContextInfo (
const |
SE_SRF_Context_Info |
*new_srf_context_info |
);
Abstract function: SetTransmittalName
SE_Return_Code SE_SetTransmittalName (
const |
SE_Transmittal |
transmittal, |
const |
SE_URN |
*new_transmittal_name |
);
Abstract function: SetUserData
SE_Return_Code SE_SetUserData (
const |
SE_User_Data |
user_data, |
|
SE_Object |
object |
);
Abstract function: TransmittalsAreSame
SE_Return_Code SE_TransmittalsAreSame (
const |
SE_Transmittal |
transmittal_a, |
const |
SE_Transmittal |
transmittal_b, |
|
SE_Boolean |
*result |
);
Abstract function: UnpublishObject
SE_Return_Code SE_UnpublishObject (
const |
SE_Object |
object, |
const |
SE_String |
*label |
);
Abstract function: UseDefaultColourModel
void SE_UseDefaultColourModel (
|
void |
|
);
Abstract function: UseDefaultSRFContextInfo
void SE_UseDefaultSRFContextInfo (
|
void |
|
);
http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_IEC_18024-4_Ed1.html