Next: Subroutine UISEAP
Up: FEMGEN Geometry User Routines
Previous: Subroutine UIPHYS
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********************************************************************