[ Previous | Next | Contents | Glossary | Home | Search ]
The graPHIGS Programming Interface: ISO PHIGS Subroutine Reference

RETRIEVE STRUCTURES (PHOP,*,*,AROP)

Purpose

Use Retrieve Structures to retrieve one or more structures from the specified open archive file and place them into the structure store.

If any of the specified structures do not exist in the specified archive file and the specified structure identifier does not exist in the structure store, then the graPHIGS API issues a warning and creates an empty structure. If any of the specified structures do not exist in the specified archive file and the specified structure identifier does exist in the structure store and the conflict resolution flag is set to UPDATE, then the graPHIGS API issues a warning and empties the structure.

If any of the specified structures in the structure network already exists in the structure store, then the graPHIGS API resolves the conflict according to the value of the archive conflict resolution flag specified by the Set Conflict Resolution subroutine.

When you retrieve a structure that is an open structure, the structure is closed, emptied, retrieved, and reopened and the graPHIGS API maintains all references to the structure. The result is as though you had issued the following:

  1. Close Structure
  2. Empty Structure
  3. Retrieve Structure
  4. Open Structure
If the structure retrieved contains an execute structure element that references a non-existing structure, then the graPHIGS API creates an empty structure.

Language Bindings

C

pret_structs (archive_id, struct_ids)

Input Parameters

Pint archive_id
Archive file identifier.

const Pint_list *struct_ids
List of structure identifiers.

FORTRAN

PREST (afid, n, lstrid)

Input Parameters

integer afid
Archive file identifier.

integer n
Number of structure identifiers in list.

integer lstrid(n)
List of structure identifiers.

Errors

7
Function Requires State (PHOP,*,*,AROP)
404
Specified Archive File Is Not Open
405
Name Conflict Occurred, Conflict Resolution Flag = Abandon
408
Warning, Structure(s) Not In Archive, Empty One(s) To Be Created

Related Subroutines

  • Retrieve All Structures

  • Retrieve Structures

  • Set Conflict Resolution


  • [ Previous | Next | Contents | Glossary | Home | Search ]