//-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ ExplorerNodeFactory::pUserData_type ExplorerNodeFactory::createTerrainGroup(Zen::Studio::Workbench::I_ExplorerNode& _node) { Zen::Studio::Workbench::I_ExplorerNode::UserData* pParentUserData = _node.getUserData().get(); Folder* pParentFolder = dynamic_cast<Folder*>(pParentUserData); if (pParentFolder != NULL) { // The TerrainGroupNode will get the name from the database later, so // just pass an empty string for now. pUserData_type pData(new TerrainGroupNode(pParentFolder->getProject(), "")); return pData; } else { throw Zen::Utility::runtime_exception("Error, invalid parent type."); } }