D3PD::RootReaderD3PDBase Node1 D3PD::RootReaderD3PDBase # m_metadata + RootReaderD3PDBase() + addVariable() + addDimensionedVariable() + addMetadata() + capture() + clear() + redim() + setIsContainer() + isContainer() + setPrefix() + prefix() # addSTLHeader() Node5 D3PD::RootReaderD3PD_v1 + RootReaderD3PD_v1() + createReader() - writeHeader() - writeSource() Node1->Node5 Node6 D3PD::RootReaderD3PD_v2 + RootReaderD3PD_v2() + createReader() Node1->Node6 Node2 D3PD::IReaderD3PD + ~IReaderD3PD() + setIsContainer() + isContainer() + setPrefix() + prefix() + createReader() Node2->Node1 Node3 D3PD::ID3PD + capture() + clear() + redim() + addMetadata() + addMetadata() Node3->Node2 Node4 D3PD::IAddVariable + ~IAddVariable() + addVariable() + addVariable() + addDimensionedVariable() + addDimensionedVariable() + addVariable() + addDimensionedVariable() Node4->Node3