------------------------------------------------------------------------------
| 40 | |
| 41 | //------------------------------------------------------------------------------ |
| 42 | void vtkMolecule::Initialize() |
| 43 | { |
| 44 | // Reset underlying data structure |
| 45 | this->Superclass::Initialize(); |
| 46 | |
| 47 | // Setup vertex data |
| 48 | vtkDataSetAttributes* vertData = this->GetVertexData(); |
| 49 | vertData->AllocateArrays(1); // atomic nums |
| 50 | |
| 51 | // Atomic numbers |
| 52 | this->SetAtomicNumberArrayName("Atomic Numbers"); |
| 53 | vtkNew<vtkUnsignedShortArray> atomicNums; |
| 54 | atomicNums->SetNumberOfComponents(1); |
| 55 | atomicNums->SetName(this->GetAtomicNumberArrayName()); |
| 56 | vertData->SetScalars(atomicNums); |
| 57 | |
| 58 | // Nuclear coordinates |
| 59 | vtkPoints* points = vtkPoints::New(); |
| 60 | this->SetPoints(points); |
| 61 | points->Delete(); |
| 62 | |
| 63 | // Setup edge data |
| 64 | vtkDataSetAttributes* edgeData = this->GetEdgeData(); |
| 65 | edgeData->AllocateArrays(1); // Bond orders |
| 66 | |
| 67 | this->SetBondOrdersArrayName("Bond Orders"); |
| 68 | vtkNew<vtkUnsignedShortArray> bondOrders; |
| 69 | bondOrders->SetNumberOfComponents(1); |
| 70 | bondOrders->SetName(this->GetBondOrdersArrayName()); |
| 71 | edgeData->SetScalars(bondOrders); |
| 72 | |
| 73 | this->UpdateBondList(); |
| 74 | |
| 75 | // Electronic data |
| 76 | this->SetElectronicData(nullptr); |
| 77 | |
| 78 | this->Modified(); |
| 79 | } |
| 80 | |
| 81 | //------------------------------------------------------------------------------ |
| 82 | vtkMolecule::~vtkMolecule() |
no test coverage detected