Changeset 3594
- Timestamp:
- 04/21/10 14:27:19 (15 years ago)
- Location:
- issm/trunk/src/c/objects
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/objects/Penpair.cpp
r3567 r3594 26 26 /*}}}1*/ 27 27 /*FUNCTION Penpair::creation {{{1*/ 28 Penpair::Penpair(int penpair_id, double penpair_penalty_offset,int penpair_penalty_lock,int penpair_node_ids[2],int penpair_dof){ 29 30 int i; 31 id=penpair_id; 32 penalty_offset =penpair_penalty_offset; 33 penalty_lock =penpair_penalty_lock; 34 35 for(i=0;i<2;i++){ 36 node_ids[i]=penpair_node_ids[i]; 37 node_offsets[i]=UNDEF; 38 nodes[i]=NULL; 39 40 } 41 dof=penpair_dof; 28 Penpair::Penpair(int penpair_id, int* penpair_node_ids): 29 hnodes(penpair_node_ids,2) 30 { 31 32 /*all the initialization has been done by the initializer, just fill in the id: */ 33 this->id=penpair_id; 34 35 return; 36 } 37 /*}}}1*/ 38 /*FUNCTION Penpair::creation {{{1*/ 39 Penpair::Penpair(int penpair_id, Hook* penpair_hnodes): 40 hnodes(penpair_hnodes) 41 { 42 43 /*all the initialization has been done by the initializer, just fill in the id: */ 44 this->id=penpair_id; 42 45 43 46 return; … … 51 54 52 55 /*Object marshall*/ 56 /*FUNCTION Penpair::Configure {{{1*/ 57 58 void Penpair::Configure(void* pelementsin,void* pnodesin,void* pmaterialsin){ 59 60 DataSet* nodesin=NULL; 61 62 /*Recover pointers :*/ 63 nodesin=(DataSet*)pnodesin; 64 65 /*Take care of hooking up all objects for this element, ie links the objects in the hooks to their respective 66 * datasets, using internal ids and offsets hidden in hooks: */ 67 hnodes.configure(nodesin); 68 69 } 70 /*}}}1*/ 71 /*FUNCTION Penpair::copy {{{1*/ 72 Object* Penpair::copy() { 73 return new Penpair(this->id,&this->hnodes); 74 } 75 /*}}}1*/ 76 /*FUNCTION Penpair::DeepEcho {{{1*/ 77 void Penpair::DeepEcho(void){ 78 79 printf("Penpair:\n"); 80 printf(" id: %i\n",id); 81 hnodes.DeepEcho(); 82 83 return; 84 } 85 /*}}}1*/ 86 /*FUNCTION Penpair::Echo {{{1*/ 87 void Penpair::Echo(void){ 88 89 int i; 90 91 printf("Penpair:\n"); 92 printf(" id: %i\n",id); 93 hnodes.Echo(); 94 95 return; 96 } 97 /*}}}1*/ 53 98 /*FUNCTION Penpair::Marshall {{{1*/ 54 99 void Penpair::Marshall(char** pmarshalled_dataset){ … … 68 113 /*marshall Penpair data: */ 69 114 memcpy(marshalled_dataset,&id,sizeof(id));marshalled_dataset+=sizeof(id); 70 memcpy(marshalled_dataset,&penalty_offset,sizeof(penalty_offset));marshalled_dataset+=sizeof(penalty_offset); 71 memcpy(marshalled_dataset,&penalty_lock,sizeof(penalty_lock));marshalled_dataset+=sizeof(penalty_lock); 72 memcpy(marshalled_dataset,&dof,sizeof(dof));marshalled_dataset+=sizeof(dof); 73 memcpy(marshalled_dataset,&node_ids,sizeof(node_ids));marshalled_dataset+=sizeof(node_ids); 74 memcpy(marshalled_dataset,&node_offsets,sizeof(node_offsets));marshalled_dataset+=sizeof(node_offsets); 115 116 /*Marshall hooks*/ 117 hnodes.Marshall(&marshalled_dataset); 75 118 76 119 *pmarshalled_dataset=marshalled_dataset; … … 82 125 83 126 return sizeof(id)+ 84 sizeof(penalty_offset)+ 85 sizeof(penalty_lock)+ 86 sizeof(dof)+ 87 sizeof(node_ids)+ 88 sizeof(node_offsets)+ 89 sizeof(int); //sizeof(int) for enum type 127 +hnodes.MarshallSize() 128 +sizeof(int); //sizeof(int) for enum type 90 129 } 91 130 /*}}}1*/ … … 103 142 104 143 memcpy(&id,marshalled_dataset,sizeof(id));marshalled_dataset+=sizeof(id); 105 memcpy(&penalty_offset,marshalled_dataset,sizeof(penalty_offset));marshalled_dataset+=sizeof(penalty_offset); 106 memcpy(&penalty_lock,marshalled_dataset,sizeof(penalty_lock));marshalled_dataset+=sizeof(penalty_lock); 107 memcpy(&dof,marshalled_dataset,sizeof(dof));marshalled_dataset+=sizeof(dof); 108 memcpy(&node_ids,marshalled_dataset,sizeof(node_ids));marshalled_dataset+=sizeof(node_ids); 109 memcpy(&node_offsets,marshalled_dataset,sizeof(node_offsets));marshalled_dataset+=sizeof(node_offsets); 110 111 for(i=0;i<2;i++){ 112 nodes[i]=NULL; 113 } 144 145 /*demarshall hooks: */ 146 hnodes.Demarshall(&marshalled_dataset); 114 147 115 148 /*return: */ … … 118 151 } 119 152 /*}}}1*/ 153 /*FUNCTION Penpair::UpdateFromInputs {{{1*/ 154 void Penpair::UpdateFromInputs(void* inputs){ 155 156 } 157 /*}}}1*/ 120 158 121 159 /*Object functions*/ 122 /*FUNCTION Penpair::Configure {{{1*/123 124 void Penpair::Configure(void* pelementsin,void* pnodesin,void* pmaterialsin){125 126 DataSet* elementsin=NULL;127 DataSet* nodesin=NULL;128 129 /*Recover pointers :*/130 elementsin=(DataSet*)pelementsin;131 nodesin=(DataSet*)pnodesin;132 /*Link this load with its nodes: */133 ResolvePointers((Object**)nodes,node_ids,node_offsets,2,nodesin);134 135 }136 /*}}}1*/137 /*FUNCTION Penpair::copy {{{1*/138 Object* Penpair::copy() {139 return new Penpair(*this);140 }141 /*}}}1*/142 160 /*FUNCTION Penpair::CreateKMatrix {{{1*/ 143 161 … … 155 173 return; 156 174 157 }158 /*}}}1*/159 /*FUNCTION Penpair::DeepEcho {{{1*/160 void Penpair::DeepEcho(void){161 162 int i;163 164 printf("Penpair:\n");165 printf(" id: %i\n",id);166 printf(" penalty_offset: %g\n",penalty_offset);167 printf(" penalty_lock: %i\n",penalty_lock);168 printf(" node_ids: [%i %i]\n",node_ids[0],node_ids[1]);169 printf(" node_offsets: [%i %i]\n",node_offsets[0],node_offsets[1]);170 printf(" dof: %i\n",dof);171 172 for(i=0;i<2;i++){173 if(nodes[i])nodes[i]->Echo();174 }175 return;176 }177 /*}}}1*/178 /*FUNCTION Penpair::Echo {{{1*/179 void Penpair::Echo(void){180 181 int i;182 183 printf("Penpair:\n");184 printf(" id: %i\n",id);185 printf(" penalty_offset: %g\n",penalty_offset);186 printf(" penalty_lock: %i\n",penalty_lock);187 printf(" node_ids: [%i %i]\n",node_ids[0],node_ids[1]);188 printf(" node_offsets: [%i %i]\n",node_offsets[0],node_offsets[1]);189 printf(" dof: %i\n",dof);190 191 for(i=0;i<2;i++){192 if(nodes[i])nodes[i]->Echo();193 }194 return;195 175 } 196 176 /*}}}1*/ … … 229 209 } 230 210 /*}}}1*/ 231 /*FUNCTION Penpair::UpdateFromInputs {{{1*/232 void Penpair::UpdateFromInputs(void* inputs){233 234 }235 /*}}}1*/ -
issm/trunk/src/c/objects/Penpair.h
r3463 r3594 15 15 16 16 int id; 17 double penalty_offset; //penalty used18 int penalty_lock; //maximum counter can go until locks the penalty.19 17 20 /*nodes: */ 21 int node_ids[2]; 22 Node* nodes[2]; 23 int node_offsets[2]; 24 25 /*penalty pairing of one dof: */ 26 int dof; 18 Hook hnodes; //hook to 2 nodes 27 19 28 20 public: 29 21 30 22 Penpair(); 31 Penpair(int id, double penalty_offset,int penalty_lock,int nodes_ids[2],int dof); 23 Penpair(int penpair_id,int* penpair_node_ids); 24 Penpair(int penpair_id,Hook* penpair_hnodes); 32 25 ~Penpair(); 33 26 -
issm/trunk/src/c/objects/Tria.cpp
r3588 r3594 110 110 /*FUNCTION Tria::Configure {{{1*/ 111 111 void Tria::Configure(void* ploadsin,void* pnodesin,void* pmaterialsin,void* pparametersin){ 112 113 int i;114 112 115 113 DataSet* loadsin=NULL;
Note:
See TracChangeset
for help on using the changeset viewer.