| 93 |
|
return result; |
| 94 |
|
|
| 95 |
|
} |
| 96 |
+ |
|
| 97 |
+ |
void RBCOMVisitor::visit(RigidBody* rb){ |
| 98 |
+ |
AtomData* atomData; |
| 99 |
+ |
AtomInfo* atomInfo; |
| 100 |
+ |
double pos[3]; |
| 101 |
+ |
|
| 102 |
+ |
rb->getPos(pos); |
| 103 |
+ |
atomInfo = new AtomInfo; |
| 104 |
+ |
atomInfo->AtomType = "X"; |
| 105 |
+ |
atomInfo->pos[0] = pos[0]; |
| 106 |
+ |
atomInfo->pos[1] = pos[1]; |
| 107 |
+ |
atomInfo->pos[2] = pos[2]; |
| 108 |
+ |
atomInfo->dipole[0] = 0; |
| 109 |
+ |
atomInfo->dipole[1] = 0; |
| 110 |
+ |
atomInfo->dipole[2] = 0; |
| 111 |
+ |
|
| 112 |
+ |
atomData = new AtomData; |
| 113 |
+ |
atomData->setID("ATOMDATA"); |
| 114 |
+ |
atomData->addAtomInfo(atomInfo); |
| 115 |
+ |
|
| 116 |
+ |
rb->addProperty(atomData); |
| 117 |
+ |
} |
| 118 |
+ |
|
| 119 |
+ |
const string RBCOMVisitor::toString(){ |
| 120 |
+ |
char buffer[65535]; |
| 121 |
+ |
string result; |
| 122 |
+ |
|
| 123 |
+ |
sprintf(buffer ,"------------------------------------------------------------------\n"); |
| 124 |
+ |
result += buffer; |
| 125 |
+ |
|
| 126 |
+ |
sprintf(buffer ,"Visitor name: %s\n", visitorName.c_str()); |
| 127 |
+ |
result += buffer; |
| 128 |
+ |
|
| 129 |
+ |
//print the ignore type list |
| 130 |
+ |
sprintf(buffer , "Visitor Description: add a pseudo atom at the center of the mass of the rigidbody\n"); |
| 131 |
+ |
result += buffer; |
| 132 |
+ |
|
| 133 |
+ |
sprintf(buffer ,"------------------------------------------------------------------\n"); |
| 134 |
+ |
result += buffer; |
| 135 |
+ |
|
| 136 |
+ |
return result; |
| 137 |
+ |
|
| 138 |
+ |
} |
| 139 |
+ |
|