C RGLOB SOURCE CHAT 05/01/13 02:55:55 5004 SUBROUTINE RGLOB(VALVEC,IDIM,TXR,XLOC,XGLOB) C C CALCUL DES COS.DIR. DES AXES D'ORTHO./AXES GLOBAUXC ENTREES C C ENTREES : C C VALCEC = TABLEAU CONTENANT LES COS.DIR. DES AXES D'ORTHO./AXES LOCA C IDIM = DEFINIT SI ON EST EN 2D OU 3D C TXR = COS-DIRECTEURS DES AXES LOCAUX /REPERE GLOBAL C XLOC = TABLEAU DE TRAVAIL C C SORITES C C XGLOB = TEBLEAU CONTENANT DES COS.DIR. DES AXES D'ORTHO./AXES GLOBAU C C======================================================================= C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C DIMENSION XLOC(IDIM,*),XGLOB(IDIM,*) DIMENSION TXR(IDIM,*),VALVEC(*) C CALL ZERO(XGLOB,IDIM,IDIM) C IF(IDIM.EQ.2)THEN XLOC(1,1)=VALVEC(1) XLOC(2,1)=VALVEC(2) XLOC(1,2)=-XLOC(2,1) XLOC(2,2)=XLOC(1,1) XN=XLOC(1,1)*XLOC(1,1)+XLOC(2,1)*XLOC(2,1) IF(XN.EQ.0.D0)THEN CALL ERREUR(277) RETURN ENDIF ELSEIF(IDIM.EQ.3)THEN XLOC(1,1)=VALVEC(1) XLOC(2,1)=VALVEC(2) XLOC(3,1)=VALVEC(3) XLOC(1,2)=VALVEC(4) XLOC(2,2)=VALVEC(5) XLOC(3,2)=VALVEC(6) CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR) IF(IRR.EQ.0)THEN CALL ERREUR(277) RETURN ENDIF ENDIF C C DEFINITION DES AXES ORTHO./AXES GLOBAUX C DO 10 K=1,IDIM DO 10 J=1,IDIM DO 10 I=1,IDIM XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K) 10 CONTINUE RETURN END