C SURFP2    SOURCE    PV        20/03/24    21:22:17     10554          
      SUBROUTINE SURFP2 (OPERAT,LIGNE1,LIGNE2,LIGNE3,LIGNE4,msurfp)
************************************************************************
*
*                             S U R F P 2
*                             -----------
*
* FONCTION:
* ---------
*
*     CREER LES 4 COTES D'UNE SURFACE PARAMETREE.
*
* MODULES UTILISES:
* -----------------
*
      IMPLICIT REAL*8(A-H,O-Z)
      IMPLICIT INTEGER(I-N)

-INC PPARAM
-INC CCOPTIO
-INC SMCOORD
-INC TMSURFP
*
* PARAMETRES:   (E)=ENTREE   (S)=SORTIE   (+ = CONTENU DANS UN COMMUN)
* -----------
*
*     OPERAT  (E)  NOM DE L'OPERATEUR COURANT.
*     LIGNE1  (S)  POINTEUR DE "MAILLAGE". COTE N.1 DE LA SURFACE.
*     LIGNE2  (S)  POINTEUR DE "MAILLAGE". COTE N.2 DE LA SURFACE.
*     LIGNE3  (S)  POINTEUR DE "MAILLAGE". COTE N.3 DE LA SURFACE.
*     LIGNE4  (S)  POINTEUR DE "MAILLAGE". COTE N.4 DE LA SURFACE.
*    +MSURFP  (E)  POINTEUR DE LA SURFACE PARAMETREE.
*             (S)  LAISSE DANS L'ETAT ACTIF.
*                  COMPLETION DU SEGMENT.
*    +IDIM    (E)  VOIR LE COMMUN "COPTIO".
*    +MCOORD  (E)  VOIR LE COMMUN "COPTIO".
*             (S)  LE SEGMENT ASSOCIE EST ETENDU (AVEC TOUS LES POINTS
*                  DU CONTOUR DE LA SURFACE).
*
      INTEGER LIGNE1,LIGNE2,LIGNE3,LIGNE4
      CHARACTER*4 OPERAT
*
* VARIABLES:
* ----------
*
      INTEGER PT0
      REAL*8 U0,V0
*
* CONSTANTES:
* -----------
*
      REAL*8 ZERO8
      PARAMETER (ZERO8 = 0.D0)
*
* AUTEUR, DATE DE CREATION:
* -------------------------
*
*     PASCAL MANIGOT     3 MARS 1987
*
* LANGAGE:
* --------
*
*     ESOPE77 FORTRAN77
*
************************************************************************
*
      SEGACT,MCOORD*MOD
*
      SEGACT,MSURFP*MOD
      MCOFSU = ICOFSU
*
*     -- CREATION DES 4 SOMMETS DE LA SURFACE --
*
      NBPTA = nbpts
      NBPTS = NBPTA + 4
      SEGADJ,MCOORD
      LONG = 4
      SEGINI,MUVSUR
      IUVSUR = MUVSUR
      NU0SUR = NBPTA
*     ACTIVATION POUR SURFP9:
      SEGACT,MCOFSU*MOD
*
      PT0 = NBPTA + 1
      U0 = U1SUR
      V0 = V1SUR
      CALL SURFP9 (PT0,U0,V0,ZERO8,msurfp)
      PT1SUR = PT0
      USUR(1) = U0
      VSUR(1) = V0
*
      PT0 = NBPTA + 2
      U0 = U2SUR
      V0 = V1SUR
      CALL SURFP9 (PT0,U0,V0,ZERO8,msurfp)
      PT2SUR = PT0
      USUR(2) = U0
      VSUR(2) = V0
*
      PT0 = NBPTA + 3
      U0 = U2SUR
      V0 = V2SUR
      CALL SURFP9 (PT0,U0,V0,ZERO8,msurfp)
      PT3SUR = PT0
      USUR(3) = U0
      VSUR(3) = V0
*
      PT0 = NBPTA + 4
      U0 = U1SUR
      V0 = V2SUR
      CALL SURFP9 (PT0,U0,V0,ZERO8,msurfp)
      PT4SUR = PT0
      USUR(4) = U0
      VSUR(4) = V0
*
      SEGDES,MCOFSU
      SEGDES,MUVSUR
*
*     -- CREATION DES COTES --
*
      CALL SURFP4 (OPERAT,.TRUE.,LIGNE1,LIGNE3,msurfp)
*      call ecmail ( ligne1 , 0)
*      call ecmail(ligne3,0)
      IF (IERR .NE. 0) RETURN
      CALL SURFP4 (OPERAT,.FALSE.,LIGNE2,LIGNE4,msurfp)
*      call ecmail ( ligne2 , 0)
*      call ecmail(ligne3,0)
      IF (IERR .NE. 0) RETURN
*
      END




 
