C CREPOI SOURCE CHAT 09/04/08 21:15:23 6355 C 09/2003 : C Modification suite a mise en place du cas IDIM = 1. C S'il reste IDIM nombres a lire (IDIM = 2 ou 3), creation du point C correspondant uniquement si affectation a un seul nom (d'objet) C Si IDIM = 1, on quitte directement le sous-programme et, si C l'utilisateur a fourni plus d'un flottant avec un seul nom, le C message d'erreur (trop de donnees ...) sera alors affiche. C Pour creer un point avec IDIM = 1, utiliser l'operateur POINT SUBROUTINE CREPOI IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC CCOPTIO -INC CCGEOME -INC SMCOORD -INC CCNOYAU IF ((IDIM.EQ.0).OR.(IDIM.EQ.1)) RETURN IF ((NBNOM.GT.1).AND.(NBNOM.NE.3)) RETURN IF (NBNOM.EQ.3) THEN ITBNOM=ITANO1(1) IF (INOOB2(ITBNOM).NE.'TABLE ') RETURN ITBNOM=ITANO1(2) IF (INOOB2(ITBNOM).NE.'SEPARATE') RETURN ENDIF CALL MESLIR(-149) CALL LIRREE(Val1,0,IRetou) IF (IRetou.EQ.0) RETURN CALL MESLIR(-150) CALL LIRREE(Val2,0,IRetou) IF (IRetou.NE.1) THEN CALL REFUS RETURN ENDIF CALL MESLIR(-151) IF (IDIM.EQ.3) CALL LIRREE(Val3,1,IRetou) IF (IERR.NE.0) RETURN SEGDES MCOORD SEGACT MCOORD*MOD NbPts=1+(XCOOR(/1)/(IDIM+1)) SEGADJ MCOORD IRef=(NbPts-1)*(IDIM+1) XCOOR(IRef+1)=Val1 XCOOR(IRef+2)=Val2 IF (IDIM.EQ.3) XCOOR(IRef+3)=Val3 XCOOR(NbPts*(IDIM+1))=DENSIT segdes MCOORD segact mcoord CALL ECROBJ('POINT ',NbPts) RETURN END