Ignore:
Timestamp:
06/30/13 17:32:20 (12 years ago)
Author:
Mathieu Morlighem
Message:

NEW:merged PentaHook and TriaHook into ElementHook

File:
1 moved

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Elements/ElementHook.cpp

    r15364 r15372  
    1 /*!\file PentaHook.c
    2  * \brief: implementation of the PentaHook object
     1/*!\file ElementHook.c
     2 * \brief: implementation of the ElementHook object
    33 */
    44
     
    1616
    1717/*Object constructors and destructor*/
    18 /*FUNCTION PentaHook::PentaHook(){{{*/
    19 PentaHook::PentaHook(){
     18/*FUNCTION ElementHook::ElementHook(){{{*/
     19ElementHook::ElementHook(){
    2020        numanalyses=UNDEF;
    2121        this->hnodes     = NULL;
     
    2626}
    2727/*}}}*/
    28 /*FUNCTION PentaHook::~PentaHook(){{{*/
    29 PentaHook::~PentaHook(){
     28/*FUNCTION ElementHook::~ElementHook(){{{*/
     29ElementHook::~ElementHook(){
    3030
    3131        int i;
     
    4141}
    4242/*}}}*/
    43 /*FUNCTION PentaHook::PentaHook(int in_numanalyses,int element_id, int matpar_id){{{*/
    44 PentaHook::PentaHook(int in_numanalyses,int element_id, IoModel* iomodel){
     43/*FUNCTION ElementHook::ElementHook(int in_numanalyses,int element_id, int numvertices,IoModel* iomodel){{{*/
     44ElementHook::ElementHook(int in_numanalyses,int element_id,int numvertices,IoModel* iomodel){
    4545
    4646        /*intermediary: */
    4747        int matpar_id;
    4848        int material_id;
    49         int penta_vertex_ids[6];
    5049
    5150        /*retrieve material_id: */
    5251        iomodel->Constant(&matpar_id,MeshNumberofelementsEnum); matpar_id++;
    5352
    54         /*retrive material_id*/
     53        /*retrieve material_id*/
    5554        material_id = element_id;
    5655
    5756        /*retrieve vertices ids*/
    58         for(int i=0;i<6;i++){
    59                 penta_vertex_ids[i]=reCast<int>(iomodel->Data(MeshElementsEnum)[6*(element_id-1)+i]);
     57        int* vertex_ids = xNew<int>(numvertices);
     58        for(int i=0;i<numvertices;i++){
     59                vertex_ids[i]=reCast<int>(iomodel->Data(MeshElementsEnum)[(element_id-1)*numvertices+i]);
    6060        }
    6161
    6262        this->numanalyses = in_numanalyses;
    6363        this->hnodes      = new Hook*[in_numanalyses];
    64         this->hvertices   = new Hook(&penta_vertex_ids[0],6);
     64        this->hvertices   = new Hook(&vertex_ids[0],numvertices);
    6565        this->hmaterial   = new Hook(&material_id,1);
    6666        this->hmatpar     = new Hook(&matpar_id,1);
    6767        this->hneighbors  = NULL;
    6868
    69         //Initialize hnodes as NULL
     69        /*Initialize hnodes as NULL*/
    7070        for(int i=0;i<this->numanalyses;i++){
    7171                this->hnodes[i]=NULL;
    7272        }
    7373
     74        /*Clean up*/
     75        xDelete<int>(vertex_ids);
     76
    7477}
    7578/*}}}*/
    7679
    77 /*FUNCTION PentaHook::SetHookNodes{{{*/
    78 void PentaHook::SetHookNodes(int* node_ids,int analysis_counter){
    79         this->hnodes[analysis_counter]= new Hook(node_ids,6);
     80/*FUNCTION ElementHook::SetHookNodes{{{*/
     81void ElementHook::SetHookNodes(int* node_ids,int numnodes,int analysis_counter){
     82        this->hnodes[analysis_counter]= new Hook(node_ids,numnodes);
    8083}
    8184/*}}}*/
    82 /*FUNCTION PentaHook::InitHookNeighbors{{{*/
    83 void PentaHook::InitHookNeighbors(int* element_ids){
     85/*FUNCTION ElementHook::InitHookNeighbors{{{*/
     86void ElementHook::InitHookNeighbors(int* element_ids){
    8487        this->hneighbors=new Hook(element_ids,2);
    85 
    8688}
    8789/*}}}*/
    88 /*FUNCTION PentaHook::SpawnTriaHook{{{*/
    89 void PentaHook::SpawnTriaHook(TriaHook* triahook,int* indices){
     90/*FUNCTION ElementHook::SpawnTriaHook{{{*/
     91void ElementHook::SpawnTriaHook(ElementHook* triahook,int* indices){
    9092
    9193        int i;
Note: See TracChangeset for help on using the changeset viewer.