Changeset 5630


Ignore:
Timestamp:
08/31/10 08:53:35 (15 years ago)
Author:
Mathieu Morlighem
Message:

Added GaussVertex method of GaussTria, very useful

Location:
issm/trunk/src/c/objects
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/objects/Elements/Tria.cpp

    r5629 r5630  
    851851/*FUNCTION Tria::GetBedList {{{1*/
    852852void  Tria::GetBedList(double* bedlist){
    853        
    854         const int numvertices=3;
    855         double  gaussgrids[numvertices][numvertices]={{1,0,0},{0,1,0},{0,0,1}};
    856        
    857         inputs->GetParameterValues(bedlist,&gaussgrids[0][0],3,BedEnum);
     853
     854        Input     *bed_input = NULL;
     855        GaussTria *gauss     = NULL;
     856
     857        /*Recover input*/
     858        bed_input=inputs->GetInput(BedEnum);
     859
     860        /*Checks in debugging mode*/
     861        ISSMASSERT(bedlist);
     862        ISSMASSERT(bed_input);
     863
     864        /* Start looping on the number of vertices: */
     865        gauss=new GaussTria();
     866        for (int iv=0;iv<3;iv++){
     867                gauss->GaussVertex(iv);
     868                bed_input->GetParameterValue(&bedlist[iv],gauss);
     869        }
     870
     871        /*clean-up*/
     872        delete gauss;
    858873
    859874}
  • issm/trunk/src/c/objects/Gauss/GaussTria.cpp

    r5625 r5630  
    116116}
    117117/*}}}*/
     118/*FUNCTION GaussTria::GaussVertex{{{1*/
     119void GaussTria::GaussVertex(int iv){
     120
     121        /*in debugging mode: check that the default constructor has been called*/
     122        ISSMASSERT(numgauss==-1);
     123
     124        /*update static arrays*/
     125        switch(iv){
     126                case 0:
     127                        coord1=1; coord2=0; coord3=0;
     128                        break;
     129                case 1:
     130                        coord1=0; coord2=1; coord3=0;
     131                        break;
     132                case 2:
     133                        coord1=0; coord2=0; coord3=1;
     134                        break;
     135                default:
     136                        ISSMERROR("vertex index should be in [0 2]");
     137
     138        }
     139
     140}
     141/*}}}*/
    118142/*FUNCTION GaussTria::begin{{{1*/
    119143int GaussTria::begin(void){
  • issm/trunk/src/c/objects/Gauss/GaussTria.h

    r5625 r5630  
    3939                void Echo(void);
    4040                void GaussPoint(int ig);
     41                void GaussVertex(int iv);
    4142};
    4243#endif  /* _GAUSSTRIA_H_ */
Note: See TracChangeset for help on using the changeset viewer.