Changeset 95
- Timestamp:
- 04/28/09 15:19:42 (16 years ago)
- Location:
- issm/trunk/src/c/objects
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/objects/Node.cpp
r8 r95 16 16 #include "./ParameterInputs.h" 17 17 #include "../shared/shared.h" 18 19 18 #include "../include/typedefs.h" 19 20 20 Node::Node(){ 21 21 return; 22 22 } 23 Node::Node(int node_id,int node_partitionborder,int node_numdofs, double node_x[3],int node_onbed,int node_onsurface ){23 Node::Node(int node_id,int node_partitionborder,int node_numdofs, double node_x[3],int node_onbed,int node_onsurface,int node_upper_node_id){ 24 24 25 25 int i; … … 42 42 } 43 43 44 /*Initialize upper node:*/ 45 upper_node_id=node_upper_node_id; 46 upper_node=NULL; 47 upper_node_offset=UNDEF; 48 44 49 return; 45 50 } … … 61 66 printf(" onbed: %i\n",onbed); 62 67 printf(" onsurface: %i\n",onsurface); 68 printf(" upper_node_id=%i\n",upper_node_id); 69 printf(" upper_node_offset=%i\n",upper_node_offset); 63 70 printf(" doflist:|"); 64 71 for(i=0;i<numberofdofs;i++){ … … 74 81 } 75 82 printf("\n"); 83 if(upper_node)printf(" upper_node pointer: %p\n",upper_node); 76 84 77 85 return; … … 105 113 memcpy(marshalled_dataset,&fset,sizeof(fset));marshalled_dataset+=sizeof(fset); 106 114 memcpy(marshalled_dataset,&sset,sizeof(sset));marshalled_dataset+=sizeof(sset); 115 memcpy(marshalled_dataset,&upper_node_id,sizeof(upper_node_id));marshalled_dataset+=sizeof(upper_node_id); 116 memcpy(marshalled_dataset,&upper_node,sizeof(upper_node));marshalled_dataset+=sizeof(upper_node); 117 memcpy(marshalled_dataset,&upper_node_offset,sizeof(upper_node_offset));marshalled_dataset+=sizeof(upper_node_offset); 107 118 108 119 *pmarshalled_dataset=marshalled_dataset; … … 124 135 sizeof(fset)+ 125 136 sizeof(sset)+ 137 sizeof(upper_node_id)+ 138 sizeof(upper_node)+ 139 sizeof(upper_node_offset)+ 126 140 sizeof(int); //sizeof(int) for enum type 127 141 } … … 154 168 memcpy(&fset,marshalled_dataset,sizeof(fset));marshalled_dataset+=sizeof(fset); 155 169 memcpy(&sset,marshalled_dataset,sizeof(sset));marshalled_dataset+=sizeof(sset); 170 memcpy(&upper_node_id,marshalled_dataset,sizeof(upper_node_id));marshalled_dataset+=sizeof(upper_node_id); 171 memcpy(&upper_node,marshalled_dataset,sizeof(upper_node));marshalled_dataset+=sizeof(upper_node); 172 memcpy(&upper_node_offset,marshalled_dataset,sizeof(upper_node_offset));marshalled_dataset+=sizeof(upper_node_offset); 173 174 /*upper node is not pointing to correct object anymore: */ 175 upper_node=NULL; 156 176 157 177 /*return: */ … … 417 437 418 438 } 439 440 #undef __FUNCT__ 441 #define __FUNCT__ "Node::Configure" 442 void Node::Configure(void* pnodes){ 443 444 DataSet* nodes=NULL; 445 446 /*Recover pointers :*/ 447 nodes=(DataSet*)pnodes; 448 449 /*Link this node with its upper node: */ 450 ResolvePointers((Object**)&upper_node,&upper_node_id,&upper_node_offset,1,nodes); 451 452 } 453 454 #undef __FUNCT__ 455 #define __FUNCT__ "Node::GetUpperNode" 456 Node* Node::GetUpperNode(){ 457 return upper_node; 458 } 459 460 int Node::IsOnBed(){ 461 return onbed; 462 } 463 464 int Node::IsOnSurface(){ 465 return onsurface; 466 } 467 468 void Node::FreezeDof(int dof){ 469 470 DofInSSet(dof-1); //with 0 displacement for this dof. 471 472 } -
issm/trunk/src/c/objects/Node.h
r8 r95 31 31 int sset[MAXDOFSPERNODE]; 32 32 33 int upper_node_id; 34 Node* upper_node; 35 int upper_node_offset; 36 33 37 /*data that is post processed : */ 34 38 int doflist[MAXDOFSPERNODE]; … … 37 41 38 42 Node(); 39 Node(int node_id,int node_partitionborder,int node_numdofs, double node_x[3],int node_onbed,int node_onsurface );43 Node(int node_id,int node_partitionborder,int node_numdofs, double node_x[3],int node_onbed,int node_onsurface,int upper_node_id); 40 44 ~Node(); 41 45 … … 68 72 Object* copy(); 69 73 void UpdateFromInputs(ParameterInputs* inputs); 74 void Configure(void* pnodes); 75 Node* GetUpperNode(); 76 int IsOnBed(); 77 int IsOnSurface(); 78 void FreezeDof(int dof); 70 79 71 80 };
Note:
See TracChangeset
for help on using the changeset viewer.