You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.7 KiB
51 lines
1.7 KiB
C Copyright(C) 1999-2020 National Technology & Engineering Solutions
|
|
C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
|
|
C NTESS, the U.S. Government retains certain rights in this software.
|
|
C
|
|
C See packages/seacas/LICENSE for details
|
|
|
|
SUBROUTINE CLOSEP (MP, N15, X, Y, IPOINT, COOR, LINKP, JJ)
|
|
C***********************************************************************
|
|
|
|
C SUBROUTINE CLOSE = FINDS THE CLOSEST EXISTING POINT TO THE MOUSE
|
|
|
|
C***********************************************************************
|
|
|
|
C SUBROUTINE CALLED BY:
|
|
C INPUT = INPUTS MESH DEFINITIONS FROM THE LIGHT TABLE
|
|
|
|
C***********************************************************************
|
|
|
|
C VARIABLES USED:
|
|
C X = THE X LOCATION IN USER COORDINATES
|
|
C Y = THE Y LOCATION IN USER COORDINATES
|
|
C POINT = ARRAY OF VALUES DEFINING A POINT
|
|
C (I, 1) = THE NUMBER OF THE POINT
|
|
C (I, 2) = THE X COORDINATE OF THE POINT
|
|
C (I, 3) = THE Y COORDINATE OF THE POINT
|
|
C (I, 4) = THE BOUNDARY FLAG OF THE POINT
|
|
C I = THE NUMBER OF THE CLOSEST POINT FOUND
|
|
C K = THE NUMBER OF POINTS IN THE DATABASE
|
|
|
|
C***********************************************************************
|
|
|
|
DIMENSION IPOINT (MP), COOR (2, MP), LINKP (2, MP)
|
|
|
|
LOGICAL ADDLNK
|
|
|
|
ADDLNK = .FALSE.
|
|
DMIN = 100000.
|
|
|
|
DO 100 I = 1, N15
|
|
CALL LTSORT (MP, LINKP, I, IPNTR, ADDLNK)
|
|
IF (IPNTR .GT. 0) THEN
|
|
DIST = SQRT (((COOR (1, IPNTR) - X) **2) +
|
|
& ((COOR (2, IPNTR) - Y) **2))
|
|
IF (DIST .LT. DMIN) THEN
|
|
DMIN = DIST
|
|
JJ = IPOINT (IPNTR)
|
|
ENDIF
|
|
ENDIF
|
|
100 CONTINUE
|
|
RETURN
|
|
END
|
|
|