/********************************************************************/ /* Copyright (c) 2017 System fugen G.K. and Yuzi Mizuno */ /* All rights reserved. */ /********************************************************************/ // BLGCS TO GEBERATE LINE B-REP ,GIVEN ITS POINT SEQUENCE WITH // KNUCKLE INF. K. // *** INPUT * // IBCI(2)......BOUNDARY COND. OF BOTH END POINTS, VALID ONLY // WHEN KVAL(1) (OR KVAL(NV)) = 0. // IBCI(.)=1: 1ST DERIV. PROVIDED IN TS(.) OR TE(.) // =2: 2ND DERIV. PROVIDED IN TS(.) OR TE(.) // =3: NO DERIV INF PROVIDED. // TS(NCD),TE(NCD)....NECESSARY ONLY WHEN IBCI(.)=1 OR 2, AND // KVAL(1) (KVAL(NV))=0, AND GIVES 1ST OR 2ND DERIVS. // NCD....SPACE DIMENSION OF THE INPUT POINTS. // NV....NUMBER OF INPUT POINTS, I.E. // ( KVAL(I),VAL(I,.) ) FOR 1<=I<=NV // KVAL(NV),VAL(IV,NCD)....INPUT POINTS WITH KNUCKLE INF. K // ( KVAL(I),VAL(I,.) ) IS ONE PAIR OF THE INPUT POINTS // KVAL(I) IS THE KNUCKLE INF. AND VAL(.,.) IS THE POINT // (I.E. POSITIONAL DATA OF NCD SPACE DIMENSION) // NK4,IDK(NK4),RCIR(NK4)....PROVIDE QSCULATING CIRCLE DATA // NK4: NUM OF THE CIRCLE // IDK(I):ID OF KVAL(.) WHERE KVAL(L)=3 AND RCIR(L)=RADIOUS // OF THE CIRCLE (L=KVAL(I)). // RCIR(I):RADIOUS OF IDK(I). // IV,IRC....ROW DIMENSIONS OF THE VARIABLE VAL AND RCOEF ,EACH. // IRC MUST BE .GE. OUTPUT N. // *** OUTPUT * // N,T(N+4),RCOEF(IRC,NCD)....GENERATED LINE B-REP OF ORDER 4. // RCOEF MAY BE THE SAME AREA AS VAL. // N CAN BE APPROXIMATED BY; // N <= NV+2+NK4*7+(NUM OF KVAL(I)<>0) // IFLAG...INDICATES IF SUCCESSFUL OR NOT, // = 1 SUCCESSFUL RETURN // <>1 FAILUE, T,RCOEF ARE INVALD. // ***WORK* // WK1(N),WK2(MM)......WHERE MM=MAX(IRC*5+105,N*9) void blgcs_(const int *ibci, const double *ts, const double *te, int ncd, int nv,const int *kval,const double *val,int nk4,const int *idk,const double *rcir, int iv, int irc, double *wk1, double *wk2, int *n, double *t, double *rcoef, int *iflag );