AGDDMolecule Node1 AGDDMolecule + AGDDMolecule() + AddElement() + NAtoms() + NComponents() + Element() + Composition() Node2 AGDDSimpleMaterial # m_density # m_created # m_mType # m_theMaterial + AGDDSimpleMaterial() + ~AGDDSimpleMaterial() + RegisterToStore() + GetName() + GetDensity() + GetMaterialType() + Created() + Extant() + GetMaterial() + SetMaterial() Node2->Node1 Node3 std::string Node3->Node2 #m_name Node7 AGDDElement - m_z - m_a - m_created - m_theElement + AGDDElement() + RegisterToStore() + GetName() + GetSymbol() + GetZ() + GetA() + Created() + Extant() + GetElement() + SetElement() Node3->Node7 -m_symbol -m_name Node4 std::basic_string< char > Node4->Node3 Node5 std::vector< int > + elements Node5->Node1 -m_theComposition Node6 std::vector< AGDDElement * > Node6->Node1 -m_theElements Node7->Node6 +elements