/***********************************************************************//** * @brief Return pointer to temporal model from XML element * * @param[in] temporal XML element. * @return Pointer to temporal model. * * Returns pointer to temporal model that is defined in an XML element. ***************************************************************************/ GModelTemporal* GCTAModelCubeBackground::xml_temporal(const GXmlElement& temporal) const { // Get temporal model GModelTemporalRegistry registry; GModelTemporal* ptr = registry.alloc(temporal); // Return pointer return ptr; }
/***********************************************************************//** * @brief Construct temporal model from XML element * * @param[in] temporal XML element containing temporal model information. * * @exception GException::model_invalid_temporal * Invalid temporal model type encountered. * * Returns pointer to a temporal model that is defined in an XML element. ***************************************************************************/ GModelTemporal* GCTAModelBackground::xml_temporal(const GXmlElement& temporal) const { // Get temporal model type std::string type = temporal.attribute("type"); // Get temporal model GModelTemporalRegistry registry; GModelTemporal* ptr = registry.alloc(type); // If model if valid then read model from XML file if (ptr != NULL) { ptr->read(temporal); } // ... otherwise throw an exception else { throw GException::model_invalid_temporal(G_XML_TEMPORAL, type); } // Return pointer return ptr; }