next up previous
Next: Subroutine UISEAP Up: FEMGEN Geometry User Routines Previous: Subroutine UIPHYS

Subroutine UIPNT

      SUBROUTINE UIPNT(IWHAT,INDEX,NAME,ISTYPE,
     1                 LREAL,RDATA,LINTG,IDATA,LPTR,IPTR,
     2                 IERROR)
C                                                           U I P N T
C                                                           =========
C********************************************************************
C
C --- PURPOSE : INTERFACE TO POINT ENTITY IN FEMGEN DATA BASE
C
C --- IN      : IWHAT  : ACTION REQUESTED ON ENTITY
C                      : 1 : CREATE
C                      : 2 : FIND
C                      : 3 : REPLACE
C                      : 4 : READ
C                      : 5 : DELETE
C
C --- IN/OUT  : INDEX  : POINTER TO INSTANCE
C             : NAME   : ENTITY NAME
C             : ISTYPE : ENTITY SUB-TYPE
C             : LREAL  : NUMBER OF REALS
C             : RDATA  : REAL DATA
C             : LINTG  : NUMBER OF INTEGERS
C             : IDATA  : INTEGER DATA
C             : LPTR   : NUMBER OF POINTERS
C             : IPTR   : POINTER DATA
C             
C --- OUT     : IERROR : 0 : OK
C                      : 1 : ILLEGAL ACTION REQUESTED
C                      : 2 : INCORRECT POINTER TO ENTITY
C                      : 3 : ILLEGAL SUB-TYPE
C                      : 5 : INCORRECT DATA
C
C********************************************************************
C
C --- METHOD  : THE DATA PASSED TO OR OUTPUT FROM THIS ROUTINE IS
C               DEPENDENT ON THE RELEVANT SUB-TYPE.
C
C   ISTYPE = 1 : NO DEPENENCY
C              : LINTG      = 3
C              : IDATA(1)   = ELEMENT TYPE
C              : IDATA(2)   = ELEMENT VARIANT
C              : IDATA(3)   = ELEMENT GROUP
C              : LREAL      = 3
C              : RDATA(1:3) = COORDINATE TRIPLET
C              : LPTR       = 5
C              : IPTR(1)    = INDEX TO COORDINATE SYSTEM INSTANCE
C              : IPTR(2)    = INDEX TO MATERIAL INSTANCE
C              : IPTR(3)    = INDEX TO PHYSICAL INSTANCE
C              : IPTR(4)    = INDEX TO NODE INSTANCE
C              : IPTR(5)    = INDEX TO ELEMENT INSTANCE
C
C   ISTYPE = 2 : ON SHAPE
C              : LINTG      = 3
C              : IDATA(1)   = ELEMENT TYPE
C              : IDATA(2)   = ELEMENT VARIANT
C              : IDATA(3)   = ELEMENT GROUP  
C              : IDATA(4)   = NUMBER OF SHAPES
C              : LREAL      = 3
C              : RDATA(1:3) = COORDINATE TRIPLET
C              : LPTR       = 5 + NUMBER OF SHAPES
C              : IPTR(1)    = INDEX TO COORDINATE SYSTEM INSTANCE
C              : IPTR(2)    = INDEX TO MATERIAL INSTANCE
C              : IPTR(3)    = INDEX TO PHYSICAL INSTANCE
C              : IPTR(4)    = INDEX TO NODE INSTANCE
C              : IPTR(5)    = INDEX TO ELEMENT INSTANCE
C              : IPTR(6:LPTR) = INDICES TO SHAPE INSTANCES
C
C   ISTYPE = 3 : ON LINE
C              : LINTG      = 3
C              : IDATA(1)   = ELEMENT TYPE
C              : IDATA(2)   = ELEMENT VARIANT
C              : IDATA(3)   = ELEMENT GROUP  
C              : LREAL      = 4
C              : RDATA(1:3) = COORDINATE TRIPLET
C              : RDATA(4)   = POSITION ON LINE
C              : LPTR       = 6
C              : IPTR(1)    = INDEX TO COORDINATE SYSTEM INSTANCE
C              : IPTR(2)    = INDEX TO MATERIAL INSTANCE
C              : IPTR(3)    = INDEX TO PHYSICAL INSTANCE
C              : IPTR(4)    = INDEX TO NODE INSTANCE
C              : IPTR(5)    = INDEX TO ELEMENT INSTANCE
C              : IPTR(6)    = INDEX TO LINE INSTANCE 
C
C   ISTYPE = 4 : BETWEEN POINTS
C              : LINTG      = 3
C              : IDATA(1)   = ELEMENT TYPE
C              : IDATA(2)   = ELEMENT VARIANT
C              : IDATA(3)   = ELEMENT GROUP  
C              : LREAL      = 4
C              : RDATA(1:3) = COORDINATE TRIPLET
C              : RDATA(4)   = POSITION BETWEEN POINTS (0.0-1.0)
C              : LPTR       = 7
C              : IPTR(1)    = INDEX TO COORDINATE SYSTEM INSTANCE
C              : IPTR(2)    = INDEX TO MATERIAL INSTANCE
C              : IPTR(3)    = INDEX TO PHYSICAL INSTANCE
C              : IPTR(4)    = INDEX TO NODE INSTANCE
C              : IPTR(5)    = INDEX TO ELEMENT INSTANCE
C              : IPTR(6:7)  = INDICES TO POINT INSTANCES
C
C   ISTYPE = 5 : TRANSFORMED POINT
C              : LINTG      = 3
C              : IDATA(1)   = ELEMENT TYPE
C              : IDATA(2)   = ELEMENT VARIANT
C              : IDATA(3)   = ELEMENT GROUP  
C              : LREAL      = 3
C              : RDATA(1:3) = COORDINATE TRIPLET
C              : LPTR       = 7
C              : IPTR(1)    = INDEX TO COORDINATE SYSTEM INSTANCE
C              : IPTR(2)    = INDEX TO MATERIAL INSTANCE
C              : IPTR(3)    = INDEX TO PHYSICAL INSTANCE
C              : IPTR(4)    = INDEX TO NODE INSTANCE
C              : IPTR(5)    = INDEX TO ELEMENT INSTANCE
C              : IPTR(6)    = INDEX TO POINT INSTANCE
C              : IPTR(7)    = INDEX TO TRANSFORMATION INSTANCE
C
C   ISTYPE =<0 : OEM USER SUPPLIED POINT DEPENDENCY.
C
C********************************************************************
C
C --- PARAMETERS
C
      REAL          RDATA(*)
      INTEGER       IWHAT,INDEX,ISTYPE,LREAL,LINTG,LPTR,IERROR
      INTEGER       IDATA(*),IPTR(*)
      CHARACTER*(*) NAME
C
C********************************************************************



Femsys Limited
8/18/1999