Synopsis
INTEGER FUNCTION OMFret_name_array_ptr(parent_id,
. name,
. mode,
. size,
. type)
#include <avs/omf.inc>
INTEGER parent_id(OIDSIZ)
INTEGER name, mode
INTEGER size, type
Description
For a complete description of this function, see .
Arguments
parent_id
The id of an object, expressed as an integer.
name
The name of one of parent_id's immediate subobjects, expressed as an integer.
mode
An integer specifying the mode in which to retrieve the the value for the array. The following constants are predefined in the include file omf.inc :
OM_GET_ARRAY_RD
OM_GET_ARRAY_RD_COPY
OM_GET_ARRAY_RW
OM_GET_ARRAY_WR
size
The total number of values in the array, expressed as an integer. In order to pass the NULL reference, set the value to FPNULL (defined in the include file omf.inc ).
type
Integer code for the array's data type. In order to pass the NULL reference, set the value to FPNULL (defined in the include file omf.inc ).
Returned value
The memory location of the returned array. On failure, 0 is returned.
Example
C return the array value of object array for RD access
#include <avs/omf.inc>
INTEGER parent_id(OIDSIZ)
INTEGER type, iaddr, offset, size
REAL base(1)
...
iaddr = OMFret_name_array_ptr(parent_id,
. OMFstr_to_name('array'),
. OM_GET_ARRAY_RD,
. size,
. type)
IF (iaddr .EQ. 0) THEN
PRINT*,'Error getting array value of object array'
...
ENDIF
C
C continue only for iaddr .ne. 0
offset = ARRFoffset(iaddr,base,DTYPE_FLOAT)
C
C use the values of the array
...
CALL ARRFfree(iaddr)