Table 7.1 lists the topics in this clause.
This clause provides a detailed definition of the syntax and semantics of each API function. The SEDRIS API provides the means for creating, accessing, and modifying SEDRIS transmittals.
The following convention is used to present information about the API. Table 7.2 itemizes the different properties of the API functions. All functions use only the DRM classes defined in 6 DRM classes and data types defined in 5 Fundamental data types.
Table 7.2 — API presentation format
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
|
||||
Failure status codes |
|
The functions declared in this file are used to create, modify, and access SEDRIS transmittals.
Table 7.3 — AddAssociateRelationship
Property |
Description |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
Add an associate relationship from from_object to to_object provided that the following criteria are met.
It should be noted that relationships between objects in different transmittals are not implicitly bi-directional, so the make_two_way parameter will have an effect in inter-transmittal referencing only if:
If only the from_object is resolved, the association can only be one way. If the DRM specifies that a link object is required for a relationship, the link_object parameter shall be used. If the DRM does not allow for the link object to exist in a relationship, the link_object parameter shall not be used. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||
Input parameters |
| ||||||||||
Input/output parameters |
|
||||||||||
Output parameters |
|
||||||||||
Success status codes |
SUCCESS |
||||||||||
Failure status codes |
INVALID_ACCESS_MODE |
Table 7.4 — AddComponentRelationship
Property |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Semantics |
Adds a composition relationship from aggregate_object to component_object, provided that the following criteria are met.
If the DRM specifies that a link object is required for a relationship, the link_object parameter shall be used. If the DRM does not allow for the link object to exist in a relationship, the link_object parameter shall not be used. NOTE Relationships between objects in different transmittals are not implicitly bi-directional, so if the component_object is unresolved, the relationship will be uni-directional from the aggregate to the component. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||
Input parameters |
|
||||||||
Input/output parameters |
|
||||||||
Output parameters |
|
||||||||
Success status codes |
SUCCESS |
||||||||
Failure status codes |
UNPUBLISHED_OBJECT |
Table 7.5 — CloneObject
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function creates a new handle to the same object referenced by object. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
DELETED_OBJECT |
Table 7.6 — CloseTransmittal
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function closes the transmittal specified by transmittal and frees any and all memory allocated to hold the representation of the transmittal. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.7 — CreateObject
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
This function creates a new object of the DRM class specified by new_object_type and inserts it into the transmittal specified by transmittal. The fields are initialized to the default values for the specified class. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
INVALID_ACCESS_MODE |
Table 7.8 — CreateSearchFilter
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
Defines a set of rules that can be used to filter objects from a SEDRIS transmittal so that only the objects that pass the rules will be returned to the user. This function only defines a set of rules; to use a set of rules after they have been defined, pass the set of rules into an iterator when creating the iterator. By doing so, the iterator will be bound to use that set of rules (i.e., that search filter) to filter all objects that will be returned by that iterator. The search filter referenced by search_filter can be freed at any time; a search filter does not need to stay in existence until the iterator(s) that depend on that filter are freed. (An iterator are expected to retain a copy of any search filter used to initialize that iterator). The encoding parameter specifies with which encoding the search filter will be used. See 5.3.3.239 Search_Rule for further details on how to construct a valid set of rules. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
OUT_OF_MEMORY |
Table 7.9 — CreateSpatialSearchBoundary
Property |
Description |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
This function creates a spatial search boundary to limit the scope of a component iterator’s search. The spatial search boundary can be used in a later call to 7.3.56 InitializeComponentIterator to limit the spatial area that the iterator will search. Spatial search boundaries can be freed at any time; a spatial search boundary does not need to stay in existence until the iterator(s) that depend on that boundary are freed. (An iterator is expected to retain a copy of any search boundary used to initialize that iterator). If no spatial search boundary is supplied, the set of objects an iterator will iterate over will be determined solely by the search rules and the starting object of the search. The encoding parameter specifies with which encoding the spatial search boundary will be used. The search_bounds parameter specifies the spatial extents of the search boundary. The search_bounds_closure parameter specifies the boundaries to be included in the spatial extents of the search boundary. The search_quality parameter specifies whether the location data of a DRM object should be evaluated as one point, a box containing all points, or each individual point. The inclusion parameter specifies whether to include DRM objects fully included or only partially included in the spatial extents of the search boundary. The search_dimension parameter specifies the dimensionality of the location data to be used for evaluation. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||||||
Input parameters |
|
||||||||||||||
Input/output parameters |
|
||||||||||||||
Output parameters |
|
||||||||||||||
Success status codes |
SUCCESS |
||||||||||||||
Failure status codes |
OUT_OF_MEMORY |
Table 7.10 — DetermineSpatialInclusion
Property |
Description |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
This function determines whether a DRM object is contained within the user-specified spatial area. DetermineSpatialInclusion supplements the normal method of filtering objects by spatial location (i.e. the use of search boundaries with component iterators as described under 7.3.8 CreateSpatialSearchBoundary). While DetermineSpatialInclusion can be used with any SEDRIS object, its intended use is to find out more information about the relationship of an object returned by a component iterator to the search bounds used in that iterator. The canonical example is to have the component iterator created with a partial inclusion choice, then to check objects for full inclusion with DetermineSpatialInclusion. In addition to determining whether a DRM object is partly or completely inside the user-defined search bounds, this function, unlike a search boundary, will also determine whether a two-dimensional or three-dimensional object completely includes the spatial search area. The encoding parameter specifies with which encoding the spatial search boundary will be used. The search_bounds parameter specifies the spatial extents of the search boundary. The search_bounds_closure parameter specifies the boundaries to be included in the spatial extents of the search boundary. The search_quality parameter specifies whether the location data of a DRM object should be evaluated as one point, a box containing all points, or each individual point. The search_dimension parameter specifies the dimensionality of the location data to be used for evaluation. Three output parameters provide the results of the evaluation. The parameter object_fully_included returns whether the DRM object was fully included in the search area. The parameter object_partly_included returns whether the DRM object was partially included in the search area. The parameter object_includes_search_bounds returns whether the DRM object fully includes the search area. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||||
Input parameters |
|
||||||||||||
Input/output parameters |
|
||||||||||||
Output parameters |
|
||||||||||||
Success status codes |
SUCCESS |
||||||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.11 — FreeIterator
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function frees the memory directly associated with the iterator specified by to_free_object. The handle to the iterator is invalid following a call to this function. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.12 — FreeObject
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function frees the memory directly associated with the object handle specified by to_free_object. If multiple object handles corresponding to the same object have been retrieved through this API, FreeObject shall not release the memory for that object until the last object handle to the object is passed in to FreeObject. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INVALID_OBJECT |
Table 7.13 — FreePackedHierarchy
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function frees the data associated with the fields of a Packed_Hierarchy instance returned by 7.3.38 GetPackedHierarchy specified by to_free, including decrementing the reference counts of all object handles in records of the object_list field. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.14 — FreeRemainingObjectsList
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function frees the data associated with the fields of a Remaining_Objects_List value returned by 7.3.43 GetRemainingObjectsList and specified by to_free, including decrementing the reference counts of all object handles in the remaining_objects_list and remaining_link_objects_list fields. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.15 — FreeRemainingPackedHierarchiesList
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function frees the data associated with the fields of a Remaining_Packed_Hierarchies_List returned from 7.3.44 GetRemainingPackedHierarchies and specified by to_free, including decrementing the reference counts of all object handles in the records of the object_list field contained within each Packed_Hierarchy record in the hierarchy_list field. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.16 — FreeSearchFilter
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function frees the memory directly associated with the search filter handle specified by to_free. The memory was allocated during an earlier call to 7.3.7 CreateSearchFilter. The handle to the search filter is invalid following a call to this function. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.17 — FreeSpatialSearchBoundary
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function frees the memory directly associated with the spatial search boundary handle specified by to_free. The memory was allocated by this API during an earlier call to 7.3.8 CreateSpatialSearchBoundary. The handle to the spatial search boundary is invalid following a call to this function. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.18 — FreeTransmittal
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function frees the memory directly associated with the transmittal handle specified by to_free. The memory was allocated by an earlier call to 7.3.47 GetTransmittalFromObject. The handle to the transmittal is invalid following a call to this function. Transmittal handles returned from 7.3.62 OpenTransmittalByLocation or 7.3.63 OpenTransmitalByName shall not be provided to this function. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.19 — GetAggregate
Property |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Semantics |
This function retrieves the instance of the type of aggregate object specified by drm_class that directly contains the object specified by object as a component. EXAMPLE If GetAggregate is called with a <DRM Model> instance as the object object, the <DRM Model Library> instance would be returned in object, since the <DRM Model Library> instance is the aggregate object that contains the <DRM Model> instance as a component. The itr_traversal parameter specifies how the function will behave when it encounters an ITR reference. The function could:
This is a short form, single instance version of an aggregate iterator. It combines the creation of an iterator, making a call to 7.3.31 GetNextObject, and freeing the iterator, in the case where one and only one aggregate should be retrieved. When this function completes successfully, one of the following actions occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||
Input parameters |
|
||||||||
Input/output parameters |
|
||||||||
Output parameters |
|
||||||||
Success status codes |
SUCCESS |
||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.20 — GetAssociate
Property |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Semantics |
This function retrieves an instance of the type of associated object specified by drm_class from the object specified by object. Given an object (object) and a type of associate for which to search (drm_class), this function will look for an immediately associated object of the given drm_class. Only objects at the “to” end of a one-way association, or at either end of a two-way association, will be returned by this function. The itr_traversal parameter specifies how the function will behave when it encounters an ITR reference. The function could:
This is a short form, single instance version of an associate iterator. It combines the creation of an iterator, making a call to 7.3.31 GetNextObject, and freeing the iterator, in the case when one and only one associate should be retrieved. When this function completes successfully, one of the following actions occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||
Input parameters |
|
||||||||
Input/output parameters |
|
||||||||
Output parameters |
|
||||||||
Success status codes |
SUCCESS |
||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.21 — GetColourModel
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function returns the colour model currently being used in colour_model when returning <DRM Colour Data> objects from the transmittal specified by transmittal. The value returned depends on the last call made to 7.3.74 SetColourModel and/or 7.3.86 UseDefaultColourModel functions and the manner in which the transmittal was produced. Case 1: 7.3.74 SetColourModel was called more recently than 7.3.86 UseDefaultColourModel. The colour model selected by 7.3.74 SetColourModel is still the current colour model, and that colour model data will be returned. It does not matter which colour model was originally used to produce the given transmittal, since the 7.3.74 SetColourModel function was used to override any default colour model choices and forces all <DRM Colour Data> objects to be of the type specified by the current colour model. Case 2: 7.3.86 UseDefaultColourModel was called more recently than 7.3.74 SetColourModel or 7.3.74 SetColourModel was never called. In this case, the colour model that will be used to return <DRM Colour Data> objects from the given transmittal depends entirely on the transmittal. The colour model used to return data will be the colour model that was used when producing the transmittal. This is the default case. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.22 — GetComponent
Property |
Description |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
This function retrieves a component object of the DRM class specified by drm_class (or, if drm_class specifies an abstract class, a subclass of the class specified by drm_class) from the object specified by object. If the directly_attach_table_components parameter has the value FALSE, the actual DRM objects will be retrieved. However, if the value is TRUE, the following adjustments will be made:
If the value of process_inheritance is TRUE, inherited components will be considered as well as immediate components. If the value is FALSE, only immediate components will be considered. EXAMPLE setting the process_inheritance parameter to TRUE allows asking for the <DRM Inline Colour> component of a <DRM Polygon> without regard to whether the <DRM Inline Colour> component was an “mmediate” or “nherited” component of the <DRM Polygon>. An immediate component shall always take precedence over an inherited component. The itr_traversal parameter specifies how the function will behave when it encounters an Inter-Transmittal Reference (ITR). The function could:
When this function completes successfully, one of the following actions occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||||
Input parameters |
|
||||||||||||
Input/output parameters |
|
||||||||||||
Output parameters |
|
||||||||||||
Success status codes |
SUCCESS |
||||||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.23 — GetContextTransformation
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function retrieves a copy of the current effective transformation of the given object. This is the accumulation of all transformations for one of two possible cases as described below. In the first case, the accumulated transformation is from the <DRM Transmittal Root> down to the object, including any transformation components directly aggregated by that object. If object, or any of the objects between it and its <DRM Transmittal Root>, are referenced as a component from another transmittal and that transmittal is open, the accumulation is from the other transmittal’s <DRM Transmittal Root>. Otherwise, the accumulation is from the <DRM Transmittal Root> within object’s own transmittal. In the second case, the accumulated transformation is from the <DRM Model> down to the object, including any transformation components directly aggregated by that object depending on whether the object was or was not part of a <DRM Model>. If no matrices were accumulated by the object, the identity matrix shall be returned. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
DELETED_OBJECT |
Table 7.24 — GetDataTableData
Property |
Description |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
Given a <DRM_Data_Table> instance specified by data_table_object, this function copies the selected cell elements from the selected area of interest into a space in memory to which the user has direct access. The range of data cells to be retrieved is specified by extents. The number of data elements within each cell that are to be retrieved is specified by element_count. The component index of each of the data elements is specified by element_indices. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||
Input parameters |
|
||||||||||
Input/output parameters |
|
||||||||||
Output parameters |
|
||||||||||
Success status codes |
SUCCESS |
||||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.25 — GetDRMClass
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function identifies the DRM class of the object specified by the object parameter. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
DELETED_OBJECT |
Table 7.26 — GetEncoding
Property | Description | ||||
---|---|---|---|---|---|
Semantics |
Given a handle to an object specified in object, this function returns
in encoding the
encoding of the transmittal in which
that object resides. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT DELETED_OBJECT INACTIONABLE_FAILURE |
Table 7.27 — GetFields
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function retrieves the field data of the DRM object specified by object. The DRM_Class_Fields data type is a variant record type that can represent any of the different collections of field data types from all of the different concrete DRM classes. The field values returned by the fields parameter are only valid as long as the object is valid. When the object is freed (by a call to 7.3.11 FreeObject), the information returned by the fields parameter is no longer valid. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.28 — GetImageData
Property |
Description |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
This function accesses a subset of the data for a selected MIP level of the image data associated with the image specified by image_object and returns the texel data in image_data. A <DRM Image> instance is a set of 2D or 3D collections of texel values. The number of MIP levels for the <DRM Image> instance defines the number of 2D or 3D collections in the <DRM Image> instance. The fields of the <DRM Image> instance specify the extents for each MIP level and therefore also the number of texels in each MIP level. The image_signature field specifies the meaning and form of the texel components that constitute each texel. Also for each image signature there are fields that specify the number of bits, minimum value, and maximum value for each of the texel components defined to be part of that image signature. The mip level to be accessed is specified by mip_level. The subset of texels to be retrieved is specified by start_texel and stop_texel. The one-dimensional octet array field of the instance of the Image_Data specified by image_data will contain the retrieved two or three-dimensional texel data. The texel values are stored in order one after the other across octet boundaries by fields of the <DRM Image> specified by image_object that define the encoding of the texel component values. These fields are data_is_little_endian, component_data_type and the appropriate bits_of_ fields as specified by the image_signature field. The ordering of the texels is specified by the scan_direction and scan_direction_z (see 5.2.6.10 Image_Scan_Direction and 5.2.6.11 Image_Scan_Direction_Z). The scan_direction field has a value that determines not only the direction of the individual horizontal and vertical values but also the ordering of the dimensions. EXAMPLE a scan_direction specifying a value of RIGHT_DOWN indicates that the horizontal values are stored first (that is, vertical values vary more rapidly) while a scan_direction specifying a value of DOWN_RIGHT indicates that the vertical values are stored first. In all cases the z values are stored last so that z values will vary the most rapidly. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||
Input parameters |
|
||||||||||
Input/output parameters |
|
||||||||||
Output parameters |
|
||||||||||
Success status codes |
SUCCESS |
||||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.29 — GetIterationLengthRemaining
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function returns the number of objects remaining for the given iterator. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.30 — GetLastFunctionStatus
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
This function returns the status and description of the result of the last function call. The last_function_status field eturns the status of the last function call. The status_description parameter will contain information about the status code returned in last_function_status. When this function completes successfully, the following action occurs:
When this function completes in error, the following action occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.31 — GetMeshFaceTableData
Property | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
Given the
<DRM_Mesh_Face_Table> instance
specified by mesh_face_table_object, this function
returns the face definition data for the selected faces in
mesh_face_table_data. The selected faces
are specified by the start_face and
number_faces parameters.
In addition, if get_adjacent_face_table_data has value TRUE, the adjacent_face_table_data parameter returns the adjacent face information from the adjacent face table for the selected faces. If get_adjacent_face_table_data has value FALSE, the adjacent_face_table_data parameter is not modified. The array dimension specified by maximum_vertices_per_face is obtained from that field of mesh_face_table_object. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||
Input parameters |
|
||||||||||
Input/output parameters |
|
||||||||||
Output parameters |
|
||||||||||
Success status codes |
SUCCESS |
||||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT DELETED_OBJECT OUT_OF_MEMORY INACTIONABLE_FAILURE |
Table 7.32 — GetNextObject
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
This function retrieves the next_object, and optionally the related link_class_object, from an iterator. The link_class_object shall be the link class object on the relationship traversed by the iterator to arrive at next_object. If no link class object existed on the relationship, link_class_object shall be set to NULL. When this function completes successfully, one of the following actions occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
UNRESOLVED_OUTPUT_OBJECT |
Table 7.33 — GetNthAssociate
Property |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Semantics |
Given an object that has multiple, ordered associates of a certain DRM class (from_object), this function returns an object for the nth associate of that class in associate_object. ITR associates will be automatically resolved and, if an ITR associate is encountered that cannot be resolved, the function will return UNRESOLVED_OUTPUT_OBJECT for the n value passed in and any higher n values. The DRM class is specified in desired_associate_class. The one-based associate index is specified in n. The link_class_object output parameter returns the link class object on the relationship traversed to arrive at the object specified by associate_object. If no link class object exists on the relationship, link_class_object shall be set to NULL. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||
Input parameters |
|
||||||||
Input/output parameters |
|
||||||||
Output parameters |
|
||||||||
Success status codes |
SUCCESS |
||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.34 — GetNthComponent
Property |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Semantics |
Given an object that has multiple, ordered components of a certain DRM class (aggregate_object), returns an object for the nth component of that class in component_object. ITR components will be automatically resolved and if an ITR component is encountered that cannot be resolved, the function will return UNRESOLVED_OUTPUT_OBJECT for the n value passed in and any higher n values. The DRM class is specified in desired_component_class. The one-based associate index is specified in n. The link_class_object output parameter returns the link class object on the relationship traversed to arrive at the object specified by component_object. If no link class object exists on the relationship, link_class_object shall be set to NULL. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||
Input parameters |
|
||||||||
Input/output parameters |
|
||||||||
Output parameters |
|
||||||||
Success status codes |
SUCCESS |
||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.35 — GetNumberOfPathsToTransmittalRoot
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function determines how many different paths can be traversed from the <DRM Transmittal Root> instance to the DRM object specified by object, where a path is defined as a bi-directional aggregate to component relationship. The result of this determination is returned in number_of_paths. If object, or any of the objects between it and its <DRM Transmittal Root> instance, are referenced as a component from another transmittal and that transmittal is open, the paths counted are those to the other transmittal’s <DRM Transmittal Root> instance. Otherwise, the paths are to the <DRM Transmittal Root> instance within the transmittal containing object. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.36 — GetObjectFromIDString
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
This function returns the DRM object within the transmittal specified by transmittal that corresponds to the ID string specified by id. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
DELETED_OBJECT |
Table 7.37 — GetObjectIDString
Property | Description | ||||
---|---|---|---|---|---|
Semantics |
This function returns an identification string in id for the
DRM object specified by object. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT DELETED_OBJECT INACTIONABLE_FAILURE |
Table 7.38 — GetObjectReferenceCount
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function returns in reference_count the number of currently outstanding handles for the DRM object specified by object. Multiple handles (multiple variables of type Object) to the same object may exist by having the same object returned from multiple iterators or from multiple calls to other functions that return the type Object. An object is termed active while at least one handle to the object exists. That is, an object is active until 7.3.14 FreeObject is called for as many handles as were returned for that object from other API functions. This function can be used to determine if a handle to an object has already been returned from any of the API calls that return object handles (e.g., 7.3.31 GetNextObject and 7.3.33 GetNthComponent). This function can also assist with the 7.3.83 SetUserData and 7.3.53 GetUserData functions. See those function descriptions for details. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.39 — GetPackedHierarchy
Property |
Description |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
This function retrieves a sub-hierarchy rooted at a given object into a set of data structures that can be directly traversed by the calling application. This sub-hierarchy is returned in hierarchy. If the directly_attach_table_components parameter has the value FALSE, the actual DRM objects will be referenced in the packed hierarchy. However, if the value is TRUE, the following adjustments to the packed hierarchy will be made:
If the process_inheritence parameter has value TRUE, inherited components shall be provided in the packed hierarchy. If the hierarchy_depth parameter is specified, the packed hierarchy will only contain objects to the hierarchy_depth level. A value of 1 specifies only the components of the root_object are to be provided, while a value of 0 specifies that the entire sub-hierarchy is to be returned. The itr_traversal parameter specifies how to handle ITR references. If RESOLVE is specified, the ITR references will be resolved and the objects they reference will be placed in the packed hierarchy. If REPORT is specified, the ITR references will not be resolved, but unresolved objects will be placed in the packed hierarchy. If IGNORE is specified, the ITR references will not be resolved and the objects they reference will not be placed in the packed hierarchy. When this function completes successfully, one of the following actions occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||||
Input parameters |
|
||||||||||||
Input/output parameters |
|
||||||||||||
Output parameters |
|
||||||||||||
Success status codes |
SUCCESS |
||||||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.40 — GetPublishedLabels
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
Given the DRM object specified by object, this function returns in the output parameters the labels under which the object was published. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
UNRESOLVED_OUTPUT_OBJECT |
Table 7.41 — GetPublishedObjectList
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
Given the transmittal specified by transmittal, this function returns in the output parameters a list of objects published by that transmittal for possible reference using ITR. The number of published objects in published_object_list is returned in number_published_objects. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
OUT_OF_MEMORY |
Table 7.42 — GetReferencedTransmittalList
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
Given the transmittal specified by transmittal, this function returns in the output parameters the list of other transmittals that are referenced by this transmittal using Inter-Transmittal Referencing (ITR). The names returned are formal SEDRIS transmittal names used to create the ITR references. If this transmittal contains no ITR references, an empty list is returned. The number of transmittal names being returned in transmittal_name_list is returned in transmittal_name_count. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
OUT_OF_MEMORY |
Table 7.43 — GetRelationCounts
Property |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Semantics |
Given the DRM object specified by object, this function returns the counts of
that the specified object has. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||
Input parameters |
|
||||||||
Input/output parameters |
|
||||||||
Output parameters |
|
||||||||
Success status codes |
SUCCESS |
||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.44 — GetRemainingObjectsList
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function iterates over the remaining objects available through the iterator specified by iterator, returning all of the remaining objects at one time. Following this call, the iterator is left such that no more objects will be returned by the iterator. The number_of_objects field of the output parameter is set to the number of objects remaining on the iterator prior to the call, and is the number of items in each of the other array fields in the output record. The nth entry in the remaining_objects_list and remaining_link_objects_list arrays correspond to the nth object returned by the iterator and its related link class object, if one exists. The nth entry in object_status_list and link_object_status_list arrays correspond to the status codes indicating the results of the object retrieval for the nth object. When this function completes successfully, one of the following actions occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
UNRESOLVED_OUTPUT_OBJECT |
Table 7.45 — GetRemainingPackedHierarchies
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
This function iterates over the remaining objects available through the iterator specified by iterator and returns packed hierarchies for all of them at one time. The number of remaining packed hierarchies and each packed hierarchy are returned in remaining_hierarchies, whose data type, Remaining_Packed_Hierarchies_List is defined in 5.3.3.225 Remaining_Packed_Hierarchies_List. The hierarchy_depth parameter specifies the depth to which the sub-hierarchy of each remaining object is extracted below that object. A value of one indicates that only the components of each remaining object are to be returned. A value of zero indicates that the entire sub-hierarchy of each remaining object is to be returned. When this function completes successfully, one of the following actions occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
UNRESOLVED_OUTPUT_OBJECT |
Table 7.46 — GetRootObject
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
Given the transmittal specified by transmittal, this function returns in root_object the DRM object that has been stored as the root of the transmittal object hierarchy. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.47 — GetSRFInfo
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function returns in srf_info the spatial reference frame (SRF) parameters currently being used when returning <DRM Location> objects in the same SRF scope as the DRM object specified by object. More details are available under 7.3.81 SetSRFInfo. The answer depends on the last call made to 7.3.81 SetSRFInfo and/or 7.3.87 UseDefaultSRFInfo and the manner in which the transmittal was produced. Case 1: 7.3.81 SetSRFInfo was called more recently than 7.3.87 UseDefaultSRFInfo. The SRF defined by 7.3.81 SetSRFInfo is still the current retrieval SRF, and that SRF’s information will be returned by this function. It does not matter what SRF was used to originally produce the given transmittal, since the 7.3.81 SetSRFInfo function was used to override any default SRF choices and force all <DRM Location> objects to be of the type specified by the current retrieval SRF. Case 2: 7.3.87 UseDefaultSRFInfo was called more recently than 7.3.81 SetSRFInfo, or 7.3.81 SetSRFInfo was never called. In this case, the retrieval SRF that will be used to define <DRM Location> objects from the given transmittal depends entirely on the transmittal. The retrieval SRF used to return data will be the retrieval SRF that was used when producing the transmittal. This is the default case. If the supplied object does not fall within the scope of any SRF, the SRF info is undefined and GetSRFInfo will return INACTIONABLE_FAILURE. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.48 — GetTransmittalFromObject
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
Given the DRM object specified by object, this function returns in transmittal a handle to the transmittal containing the DRM object. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.49 — GetTransmittalLocation
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
Given the handle to the transmittal specified in transmittal, this function returns in location the URL specifying the location of the transmittal. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
OUT_OF_MEMORY |
Table 7.50 — GetTransmittalName
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
Given the handle to a transmittal specified in transmittal, this function returns in name the formal transmittal name associated with the transmittal in the form of a URN. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
OUT_OF_MEMORY |
Table 7.51 — GetTransmittalVersionInformation
Property |
Description |
||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
This function returns the version of the Data Representation Model, Environmental Data Coding Specification, and Spatial Reference Model used to define the given transmittal. Major versions are specified by an integer that is incremented whenever large changes are made to the specification. Minor version are specified by an integer that is incremented whenever any small changes are made to the specification. Interim version are specified using a lower case letter which is incremented whenever a new interim version of the specification is released. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||||||||||||
Input parameters |
|
||||||||||||||||||||
Input/output parameters |
|
||||||||||||||||||||
Output parameters |
|
||||||||||||||||||||
Success status codes |
SUCCESS |
||||||||||||||||||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.52 — GetUniqueTransmittalID
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
Given the handle to a transmittal specified in transmittal, this function returns in identifier a string identifier for the associated transmittal that can then be compared with identifiers from other transmittals. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
OUT_OF_MEMORY |
Table 7.53 — GetUnresolvedObjectFromPublishedLabel
Property |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Semantics |
This function creates an unresolved reference to an object based on the combination of transmittal_name and object_label as supported in the specified encoding. This function does not validate the reference to ensure that it can be resolved. This behaviour is intentional in order to allow referencing well-known published objects, without requiring the transmittal containing the object to be accessible. The 7.3.72 ResolveObject function is available to do this, but requires that the referenced transmittal be accessible. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||
Input parameters |
|
||||||||
Input/output parameters |
|
||||||||
Output parameters |
|
||||||||
Success status codes |
SUCCESS |
||||||||
Failure status codes |
INVALID_TRANSMITTAL_NAME |
Table 7.54 — GetUserData
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function returns in user_data, user data associated with the DRM object specified by object. This is data previously set with a call to 7.3.83 SetUserData on an active handle to this object. If 7.3.83 SetUserData has not been called, NULL shall be returned. Memory management of the user data is the responsibility of the application. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.55 — InitializeAggregateIterator
Property |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Semantics |
This function returns a handle in iterator for an iterator created to traverse over the list of aggregate objects returning handles to those that meet the following conditions:
The 7.3.31 GetNextObject function is provided to get the next object from an iterator. The 7.3.28 GetIterationLengthRemaining may be invoked to find out the remaining length of an iterator (i.e., the number of objects remaining inside the iterator). The 7.3.10 FreeIterator function should be invoked when finished with an iterator to free it. Iterators can be freed at any time (e.g., iterators can be freed before all of their objects have been returned). The itr_traversal parameter specifies how aggregates referenced through ITR are to be treated. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||
Input parameters |
|
||||||||
Input/output parameters |
|
||||||||
Output parameters |
|
||||||||
Success status codes |
SUCCESS |
||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.56 — InitializeAssociateIterator
Property |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Semantics |
This function returns a handle in iterator for an iterator created to traverse over the list of associate objects returning handles to those that meet the following conditions:
If start_object is associated solely by one-way incoming associations, or if start_object does not participate in any associations, an associate iterator for that start_object shall not return any objects. An associate iterator is created, but it has a length of zero and does not return any objects. The 7.3.31 GetNextObject function is used to get the next object from an iterator. The 7.3.28 GetIterationLengthRemaining function is used to determine the remaining length of an iterator (i.e., the number of objects remaining inside the iterator). The 7.3.10 FreeIterator function should be invoked when interaction with an iterator has been completed to free it. Iterators can be freed at any time (e.g., before all of their objects have been returned). The itr_traversal parameter specifies how aggregates referenced through ITR are to be treated. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||
Input parameters |
|
||||||||
Input/output parameters |
|
||||||||
Output parameters |
|
||||||||
Success status codes |
SUCCESS |
||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.57 — InitializeComponentIterator
Property |
Description |
||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
This function returns a handle in iterator for an iterator created to traverse over the list of component objects returning handles to those that meet the user-specified conditions. This iterator starts at the top of an aggregation tree. The start_object is considered the root of the tree. All of the components below the start_object will be searched, and the components of those components will be searched, and their components will be searched as many levels down as the search filter specifies. If the search filter does not limit the depth of the search with a maximum search depth rule, the iterator shall search until it has tested every object in the aggregation tree rooted by the start_object. Objects returned by a component iterator shall meet the following conditions:
If start_object does not contain any component objects (or it contains component objects, but none of the components within the specified search depth meet the search filter and/or spatial search boundary conditions), a component iterator for that start_object, search filter, and spatial search boundary will not return any objects. A component iterator is created, but it has a length of zero and does not return any objects. The 7.3.31 GetNextObject function is used to get the next object from an iterator. The 7.3.28 GetIterationLengthRemaining function can be used to determine the remaining length of an iterator (i.e., the number of objects remaining inside the iterator). The 7.3.10 FreeIterator function shall be used when interaction with an iterator has been completed to free it. Iterators can be freed at any time (e.g., before all of their objects have been returned). If the directly_attach_table_components parameter has the value FALSE, the actual SEDRIS objects can be examined by the consumer through the component iterators. However, if the value is TRUE, the component iterators shall automatically make the following adjustments to the object types returned through the API in the following special cases:
If the process_inheritence parameter has value TRUE, inherited components shall be inherited, and they shall appear as components of the appropriate objects. These inherited components are as valid as direct components, and they shall satisfy all matching criteria. If the transform_locations parameter has value TRUE, all <DRM Location> objects shall be transformed according to the transformations (<DRM LSR Transformation> instances and/or <DRM World Transformation> instances) encountered by the iterator. If the follow_model_instances parameter has value TRUE, the iterator shall search through the <DRM Geometry Model Instance> to <DRM Geometry Model> association as if it were an aggregation (that is, it will instance the model). The same logic applies to the <DRM Feature Model Instance> to <DRM Feature Model> association. If the evaluate_static_control_links parameter has value TRUE, all expressions composed entirely of literals and functions that use only literals shall be evaluated, and their results shall replace the appropriate field values of their targeted controlled objects. The select_parameters parameter is optional. If provided, it specifies the parameters that will be used to determine components to traverse when encountering a <DRM Aggregate Feature> or <DRM Aggregate Geometry> object. The traversal_order_parameters parameter is optional. If provided, it specifies the parameters that will be used to determine what order to traverse the components when encountering an <DRM Aggregate Feature> or <DRM Aggregate Geometry> object. The general_traversal_pattern parameter indicates whether the iterator should traverse the search space in a depth-first, breadth-first, or optimized order. The depth-first and breadth-first approaches allow for full transformation and inherited component information to be maintained at all times. The optimized approach can be faster, but there is no guarantee that any particular path was taken from the start_object to the returned objects, so it is possible for no context (an empty context) to be returned with the returned objects. The itr_traversal parameter specifies how aggregates referenced through ITR are to be treated. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||||||||||||||||||
Input parameters |
|
||||||||||||||||||||||||||
Input/output parameters |
|
||||||||||||||||||||||||||
Output parameters |
|
||||||||||||||||||||||||||
Success status codes |
SUCCESS |
||||||||||||||||||||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.58 — InitializeInheritedComponentIterator
Property |
Description |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
This function returns a handle in iterator for an iterator created to traverse over the list of component objects returning handles to those that are inherited. This function should be used if only inherited components are to be identified. The semantics of the input parameters are described in 7.3.56 InitializeComponentIterator. If only directly aggregated components of an object are to be identified, the 7.3.56 InitializeComponentIterator function with the process_inheritance parameter set to FALSE should be used. If both the inherited components and the directly aggregated components of an object are to be identified and it is not necessary to distinguish between the two sets), the 7.3.56 InitializeComponentIterator function with the process_inheritance parameter set to TRUE should be used. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||
Input parameters |
|
||||||||||
Input/output parameters |
|
||||||||||
Output parameters |
|
||||||||||
Success status codes |
SUCCESS |
||||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.59 — IsIteratorComplete
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function is used to determine whether the iterator specified by iterator has any more objects to return. If the iterator has no objects to return, result returns the value TRUE; otherwise, it returns the value FALSE. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.60 — ObjectIsPublished
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
Given a the DRM object specified by object, result returns the value TRUE if the DRM object has been published; otherwise, result returns FALSE; When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.61 — ObjectIsResolved
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
Given the DRM object specified by object, result returns the value TRUE if the object is resolved. Otherwise result returns FALSE. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.62 — ObjectsAreSame
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
This function determines if two object handles both refer to the same object. Given DRM object handles specified by object_1 and object_2, result returns TRUE if both handles refer to the same DRM object. Otherwise, result returns FALSE. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.63 — OpenTransmittalByLocation
Property |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Semantics |
This function opens a transmittal for access, based on the mode specified by access_mode. This function specifies the transmittal to be opened using the location of the file containing the transmittal and its objects. If this function is successful, transmittal returns a handle to the newly opened transmittal. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||
Input parameters |
|
||||||||
Input/output parameters |
|
||||||||
Output parameters |
|
||||||||
Success status codes |
SUCCESS |
||||||||
Failure status codes |
TRANSMITTAL_INACCESSIBLE |
Table 7.64 — OpenTransmittalByName
Property |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Semantics |
This function opens a transmittal for access, based on the mode specified by access_mode. This function specifies the transmittal to be opened using the formal transmittal name of the transmittal. The formal name of the transmittal is resolved automatically based on the process described for the function 7.3.73 ResolveTransmittalName. If this function is successful, transmittal returns a handle to the newly opened transmittal. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||
Input parameters |
|
||||||||
Input/output parameters |
|
||||||||
Output parameters |
|
||||||||
Success status codes |
SUCCESS |
||||||||
Failure status codes |
INVALID_TRANSMITTAL_NAME |
Table 7.65 — PublishObject
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
Given the resolved DRM object specified by object, this function makes the DRM object available for ITR referencing by listing it as published within the transmittal under the label specified by label. If the object has already been published with a different label, the new label is added to the list of labels for the object. If the object has already been published under the same label, the call shall return success and provide a string to be retrieved using 7.3.28 GetLastFunctionStatus. The transmittal whose object is to be edited shall be explicitly opened in UPDATE or CREATE mode for this operation to succeed. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.66 — PutDataTableData
Property |
Description |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
Given the <DRM_Data_Table> instance specified by data_table_object, this function inserts the elements specified by element_indices for the cells specified by extents into the transmittal. The number of cells to be modified is specified by element_indices. The actual cell data is specified by data_table_data. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||||
Input parameters |
|
||||||||||||
Input/output parameters |
|
||||||||||||
Output parameters |
|
||||||||||||
Success status codes |
SUCCESS |
||||||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.67 — PutFields
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
This function modifies the fields of the DRM object specified by existing_object. The transmittal whose object is to be edited shall be explicitly opened in UPDATE mode for this operation to succeed. The function shall verify that new_fields contain valid data values compatible with the DRM class of existing_object. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
UNRESOLVED_OUTPUT_OBJECT |
Table 7.68 — PutImageData
Property |
Description |
||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
This function sets values for a subset of the data for a selected MIP level of the image data associated with the image specified by image_object. A <DRM Image> instance is a set of 2D or 3D collections of texel values. The number of MIP levels for the <DRM Image> instance defines the number of 2D or 3D collections in the <DRM Image> instance. The fields of the <DRM Image> instance specify the extents for each MIP level and therefore also the number of texels in each MIP level. The image_signature field specifies the meaning and form of the texel components that constitute each texel. Also for each image signature there are fields that specify the number of bits, minimum value, and maximum value for each of the texel components defined to be part of that image signature. The mip level to be accessed is specified by mip_level. The subset of texels to be set is specified by start_texel and stop_texel. The one-dimensional octet array field of the instance of the Image_Data specified by image_data shall contain the two or three-dimensional texel data to be set. The texel values shall be stored in order one after the other across octet boundaries by fields of the <DRM Image> specified by image_object that define the encoding of the texel component values. These fields are data_is_little_endian, component_data_type and the appropriate bits_of_ fields as specified by the image_signature field. The ordering of the texels is specified by the scan_direction and scan_direction_z (see 5.2.6.10 Image_Scan_Direction and 5.2.6.11 Image_Scan_Direction_Z). The scan_direction field has a value that determines not only the direction of the individual horizontal and vertical values but also the ordering of the dimensions. EXAMPLE a scan_direction specifying a value of RIGHT_DOWN indicates that the horizontal values are stored first (that is, vertical values vary more rapidly) while a scan_direction specifying a value of DOWN_RIGHT indicates that the vertical values are stored first. In all cases the z values are stored last so that z values will vary the most rapidly. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||||||||||||
Input parameters |
|
||||||||||||||||||||
Input/output parameters |
|
||||||||||||||||||||
Output parameters |
|
||||||||||||||||||||
Success status codes |
SUCCESS |
||||||||||||||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.69 — PutMeshFaceTableData
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
Given the
<DRM_Mesh_Face_Table> instance
specified by mesh_face_table_object,
this function places the face definition data for the selected faces as
specified in mesh_face_table_data into that
instance. The selected faces are specified by start_face
and number_faces. In addition, if put_adjacent_face_table_data has value TRUE, the adjacent face table data specified by adjacent_face_table_data is placed into the selected faces of mesh_face_table_object. If put_adjacent_face_table_data has value FALSE, the adjacent face table data of mesh_face_table_object is not modified. The array dimension specified by maximum_vertices_per_face is obtained from that field of mesh_face_table_object. The validity of adjacent_face_table_data shall only be verified if put_adjacenct_face_table_data has value TRUE. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||||||
Input parameters |
|
||||||||||||||
Input/output parameters |
|
||||||||||||||
Output parameters |
|
||||||||||||||
Success status codes |
SUCCESS |
||||||||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT DELETED_OBJECT INACTIONABLE_FAILURE |
Table 7.70 — RemoveAssociateRelationship
Property |
Description |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Semantics |
This function breaks the relationship between from_object and to_object (and link_object, if given), but does not remove any of the objects involved from the transmittal (for removal, see 7.3.71 RemoveFromTransmittal). The relationship being removed may be one-way or two-way. If it is two-way, and remove_two_way is true, both connections are broken, unless the to_object is unresolved. If the DRM specifies that a link object is required for a relationship, link_object shall be used. If the DRM does not allow for the link object to exist in a relationship, link_object shall not be used. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||||
Input parameters |
|
||||||||||
Input/output parameters |
|
||||||||||
Output parameters |
|
||||||||||
Success status codes |
SUCCESS |
||||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.71 — RemoveComponentRelationship
Property |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Semantics |
This function breaks the relationship between aggregate_object and component_object (and link_object, if given). It does not remove any of the objects involved from the transmittal (for this, see 7.3.71 RemoveFromTransmittal). The transmittal whose object is to be edited shall be explicitly opened in UPDATE mode for this operation to succeed. If the DRM specifies that a link object is required for a relationship, link_object shall be used. If the DRM does not allow for the link object to exist in a relationship, link_object shall not be used. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||
Input parameters |
|
||||||||
Input/output parameters |
|
||||||||
Output parameters |
|
||||||||
Success status codes |
SUCCESS |
||||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.72 — RemoveFromTransmittal
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
This function removes the object specified by old_object from the transmittal specified by transmittal. Prior to calling this function, any relationships that old_object has with other objects shall have been removed. Otherwise, this function will fail. In addition, removing old_object does not automatically remove its component subtree. This would not be valid for the general case, since part of old_object’s component subtree might be shared with other objects. Similarly, none of old_object’s associates will be removed when old_object is removed. The transmittal whose object is to be edited shall be explicitly opened in UPDATE mode for this operation to succeed. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
DIFFERENT_TRANSMITTAL |
Table 7.73 — ResolveObject
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
Given an unresolved DRM object specified by object, this function attempts to resolve the reference. The name of the transmittal containing the object shall first be resolved to a specific transmittal that can be accessed by the API. The object shall be resolved within the transmittal using the object’s published label. NOTE A transmittal that has been accessed in this way cannot be modified. The transmittal shall be explicitly opened for writing or modification if the object is to be modified. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
UNRESOLVED_OUTPUT_OBJECT| |
Table 7.74 — ResolveTransmittalName
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
Given a character string specified by transmittal_name representing a formal SEDRIS transmittal name, this function returns in location the file location associated with this name. The format of a valid transmittal name is as described for the URN data type. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INVALID_TRANSMITTAL_NAME |
Table 7.75 — SetColourModel
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function sets the colour model that will be used to represent all <DRM Colour Data> objects retrieved after this function is called. The colour model is specified by colour_model. This function has no effect on <DRM Colour Data> objects that were returned to the user before this function was called. By default, if this function is not called, colours are returned to the user in the format in which the colours were defined in the transmittal from which the colours were extracted. So, if a transmittal contains HSV colours, by default these colours will be returned to the user as <DRM HSV_Colour> objects. If the user calls SetColourModel and sets the colour model to RGB_MODEL, all colours returned after this call are returned as <DRM RGB_Colour> objects. The colour model used for returning <DRM Colour Data> objects can be changed as often as desired. After changing colour models, the 7.3.86 UseDefaultColourModel function may be invoked to return to using the colour model that was used by the producer of each transmittal. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.76 — SetFirstErrorMessage
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
If an error occurs for a situation where the user has registered an error-handling callback function, that user-defined function is called, and is passed, among other items, two user-defined messages. The first of those messages is set by this function. The second message is set by the 7.3.79 SetSecondErrorMessage function. The intent of these messages is to give the user the ability to construct an intelligent error message that can give an indication as to what was occurring when the error occurred. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following action occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.77 — SetGeneralCallback
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function registers the function specified by user_defined_function as the general callback, to be called when any transmittal function is about to return any status code, unless that function has either a general function callback or a specific callback for that status code currently registered. This user-defined function shall be defined to be of function data type Status_Logger (see 5.5.3 Status_Logger). A general function single function callback has priority over this general for all functions callback. See the 7.3.77 SetGeneralCallbackForOneFunction function comments for more details about general function callbacks. A specific function/specific status code callback has priority over both general function callbacks and general callbacks. More details may be found under the 7.3.80 SetSpecificCallback function. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following action occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.78 — SetGeneralCallbackForOneFunction
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
This function registers the function specified by user_defined_function as the callback function to be called when any status code is about to be returned by the transmittal API function specified by function_to_catch. This user-defined function shall be defined to be of function data type Status_Logger (see 5.5.3 Status_Logger). This callback will not be called if a specific status code is about to be returned from the selected transmittal function and that particular function and status code currently has a specific function/specific status code callback set by the 7.3.80 SetSpecificCallback function. A specific function/specific status code callback set by that call takes priority over a general function callback set by this function. More details may be found under 7.3.80 SetSpecificCallback. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.79 — SetRootObject
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
Given the handle to a transmittal specified by transmittal that has explicitly been opened in CREATE or UPDATE mode, this function sets the DRM object specified by new_root_object as the root of the transmittal’s object hierarchy. The handle to the previous root object is returned in old_root_object. If no root object has been set for the given transmittal, NULL is returned in old_root_object. CAUTION Calling this function will permanently change the root object of the transmittal. In order to avoid orphaning objects within the transmittal, the old_root_object parameter is required in order to return the root object that was previously set. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
UNRESOLVED_OUTPUT_OBJECT |
Table 7.80 — SetSecondErrorMessage
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
If an error occurs for a situation where the user has registered an error-handling callback function, that user-defined function is called, and is passed, among other items, two user-defined messages. The second of those messages is set by this function. The first message is set by 7.3.75 SetFirstErrorMessage. These messages allow construction of an intelligent error message that more accurately reflects the status when the error occurred. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following action occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.81 — SetSpecificCallback
Property |
Description |
||||||||
---|---|---|---|---|---|---|---|---|---|
Semantics |
This function registers the function specified by user_defined_function as the callback function to be called when the status code specified by status_code_to_catch is about to be returned by the API function specified by function_to_catch. This user-defined function shall be of type Status_Logger. This is the most specific type of callback, a specific status code for a specific function. This callback has priority over a general function callback for the same function (if one is currently defined), and it also has priority over the general callback function (if one is currently defined). Has priority over means that if a specific status code/specific function callback is defined, it is the only callback that will be called when that particular status code is about to be returned from that particular function. When a transmittal API function returns, it will return the appropriate status code. If the user has defined a callback to be called when that particular status code is about to be returned by that particular function, that user-defined callback function will be called immediately before the function returns the status code. After the user-defined callback has been called, the transmittal API function will still return the status code it was about to return. The user-defined callback has no effect on the status code returned. Instead, the user-defined callback simply provides the user a method for tracking the return values of the transmittal API functions without explicitly checking each return value. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||||
Input parameters |
|
||||||||
Input/output parameters |
|
||||||||
Output parameters |
|
||||||||
Success status codes |
SUCCESS |
||||||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.82 — SetSRFInfo
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function sets the spatial reference frame (SRF) that will be used to represent all <DRM Location> objects returned after this function is called. This function has no effect on <DRM Location> objects that have already been returned to the user before this function was called. Details on the various SRFs supported by this part of ISO/IEC 18023 may be found in ISO/IEC 18026. The SRF used for returning <DRM Location> objects can be changed as often as desired. After changing to any particular SRF, it is possible to return to the default state where coordinates are returned in the SRF in which they were originally stored in the transmittal by using the 7.3.87 UseDefaultSRFParameters function. SPECIAL EXCEPTION: Local Space Rectangular 3D (LSR_3D) or Local Space Rectangular 2D (LSR_2D) coordinates will always be returned as LSR_3D/LSR_2D coordinates, regardless of the values passed to SetSRFInfo. LSR_3D/LSR_2D coordinates are only converted into another spatial reference frame if they are instanced into the scope of another SRF via a model instance with a <DRM World Transformation> instance. If a <DRM Model> object has been so instanced, and if that instance was traversed to reach the current <DRM Location> object, and if this API was instructed to transform coordinates when going through transformations, then and only then will LSR_3D/LSR_2D coordinates be transformed into the current scoping SRF. The various initialize iterator functions specify details on how to instruct this API to transform coordinates when going through transformations. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
OUT_OF_MEMORY |
Table 7.83 — SetTransmittalName
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
Given the transmittal specified by transmittal, this function replaces the formal transmittal name associated with the transmittal to that specified by new_transmittal_name. This function can be used to supply the first name for a transmittal opened using 7.3.62 OpenTransmittalByLocation or to modify the name of a transmittal that was previously named or opened using 7.3.63 OpenTransmittalByName. Details on the format of the transmittal name may be found under 7.3.73 ResolveTransmittalName. CAUTION: While setting the transmittal name is desirable in many cases, care should be taken when invoking this function. The API is not responsible for managing configuration and changing control for the transmittal being modified. Calling this function will permanently change the transmittal name associated with the file containing the transmittal. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
INVALID_TRANSMITTAL_NAME |
Table 7.84 — SetUserData
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function associates the handle for user-defined data specified by
user_data with the DRM object specified by
object. This
user data will remain associated with the object until all handles to the DRM object are freed or until SetUserData is again called on any handle to
the DRM object. Memory management of the user data is the responsibility of
the application. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.85 — TransmittalsAreSame
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
Given the two transmittal handles specified by transmittal_a and transmittal_b, this function determines if the two handles reference the same transmittal. If they reference the same transmittal, result returns the value TRUE. Otherwise, result returns value FALSE. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.86 — UnpublishObject
Property |
Description |
||||||
---|---|---|---|---|---|---|---|
Semantics |
Given the resolved DRM object specified by object, this function removes the object from being published under the label specified by label. The object shall have already been published under the label for this function to complete successfully. Unpublishing objects may result in a need to change the transmittal name portion of the URN assigned to a transmittal. Using the same transmittal name guarantees that all labels ever published will remain available in future versions of the transmittal. Removing a label using this function will require a transmittal name change if another object is not published under the same label before the transmittal is made publicly available or released. The transmittal whose object is to be edited shall be explicitly opened in UPDATE mode for this operation to succeed. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following actions occurs:
|
||||||
Input parameters |
|
||||||
Input/output parameters |
|
||||||
Output parameters |
|
||||||
Success status codes |
SUCCESS |
||||||
Failure status codes |
UNRESOLVED_INPUT_OBJECT |
Table 7.87 — UseDefaultColourModel
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function places the API into the default colour model state, in which <DRM Colour Data> objects are returned based entirely on the colour model used to produce the transmittal from which the <DRM Colour Data> objects are extracted. The API will remain in this state until the 7.3.74 SetColourModel function is invoked that takes the API out of the current colour model state and places it into whatever colour model was specified in the 7.3.74 SetColourModel call. For example, if the transmittal was defined with RGB colours, <DRM RGB_Colour> objects will be returned as <DRM Colour Data> objects once UseDefaultColourModel is called. The 7.3.20 GetColourModel function may be invoked to find out what the default colour model is, either immediately after an invocation of UseDefaultColourModel, or at any time before an invocation of 7.3.74 SetColourModel. Instead of returning a value, this function changes the internal state of the API, determining the colour model used to define <DRM Colour Data> objects returned by this API. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following action occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
Table 7.88 — UseDefaultSRFParameters
Property |
Description |
||||
---|---|---|---|---|---|
Semantics |
This function places the API into the default SRF state, in which <DRM Location> objects are returned based entirely on the SRF in which they were originally encoded in the transmittal. The API will remain in this state until the user calls 7.3.81 SetSRFInfo that takes the API out of the current SRF state and forces the use of whatever SRF was specified by 7.3.81 SetSRFInfo. EXAMPLE If a transmittal was defined with Augmetnted Transverse Mercator SRF locations, <DRM TM Augmented 3D Location> objects will be returned as the type of <DRM Location 3D> objects from that transmittal once UseDefaultSRFInfo is called. The 7.3.46 GetSRFInfo can be used to find out what the current world coordinate system parameters are, either immediately after a call to UseDefaultSRFInfo, or at any time before a call to 7.3.81 SetSRFInfo is made. Instead of returning a value, this function changes the internal state of the API, determining the coordinate system used to define <DRM Location> objects returned by this API. When this function completes successfully, the following action occurs:
When this function completes in error, one of the following action occurs:
|
||||
Input parameters |
|
||||
Input/output parameters |
|
||||
Output parameters |
|
||||
Success status codes |
SUCCESS |
||||
Failure status codes |
INACTIONABLE_FAILURE |
http://www.iso.ch/iso/en/ittf/PubliclyAvailableStandards/ISO_IEC_18023-1_Ed1.html