Esempio n. 1
0
void XmlReaderSaturationElt::end()
{
    Trim(m_contentData);

    std::vector<double> data;

    try
    {
        data = GetNumbers<double>(m_contentData.c_str(), m_contentData.size());
    }
    catch (Exception& /* ce */)
    {
        const std::string s = TruncateString(m_contentData.c_str(),
                                             m_contentData.size());
        std::ostringstream oss;
        oss << "Illegal values '" << s << "' in " << getTypeName();
        throwMessage(oss.str());
    }

    if (data.size() != 1)
    {
        throwMessage("SatNode: non-single value. ");
    }

    XmlReaderSatNodeBaseElt* pSatNodeElt =
        dynamic_cast<XmlReaderSatNodeBaseElt*>(getParent().get());
    CDLOpDataRcPtr pCDL = pSatNodeElt->getCDL();

    if (0 == strcmp(getName().c_str(), TAG_SATURATION))
    {
        pCDL->setSaturation(data[0]);
    }
}
Esempio n. 2
0
void XmlReaderSOPValueElt::end()
{
    Trim(m_contentData);

    std::vector<double> data;

    try
    {
        data = GetNumbers<double>(m_contentData.c_str(), m_contentData.size());
    }
    catch (Exception&)
    {
        const std::string s = TruncateString(m_contentData.c_str(),
                                             m_contentData.size());
        std::ostringstream oss;
        oss << "Illegal values '" << s << "' in " << getTypeName();
        throwMessage(oss.str());
    }

    if (data.size() != 3)
    {
        throwMessage("SOPNode: 3 values required.");
    }

    XmlReaderSOPNodeBaseElt* pSOPNodeElt = 
        dynamic_cast<XmlReaderSOPNodeBaseElt*>(getParent().get());
    CDLOpDataRcPtr pCDL = pSOPNodeElt->getCDL();

    if (0 == strcmp(getName().c_str(), TAG_SLOPE))
    {
        pCDL->setSlopeParams(CDLOpData::ChannelParams(data[0], data[1], data[2]));
        pSOPNodeElt->setIsSlopeInit(true);
    }
    else if (0 == strcmp(getName().c_str(), TAG_OFFSET))
    {
        pCDL->setOffsetParams(CDLOpData::ChannelParams(data[0], data[1], data[2]));
        pSOPNodeElt->setIsOffsetInit(true);
    }
    else if (0 == strcmp(getName().c_str(), TAG_POWER))
    {
        pCDL->setPowerParams(CDLOpData::ChannelParams(data[0], data[1], data[2]));
        pSOPNodeElt->setIsPowerInit(true);
    }
}
Esempio n. 3
0
/*
 *	t h r o w I n f o
 */
returnValue MessageHandling::throwInfo(
  	returnValue Inumber,
	const char* additionaltext,
  	const char* functionname,
	const char* filename,
	const unsigned long linenumber,
	VisibilityStatus localVisibilityStatus
 	)
{
	/* consistency check */
	if ( Inumber < SUCCESSFUL_RETURN )
		return throwError( RET_INFO_UNDEFINED,0,__FUNCTION__,__FILE__,__LINE__,VS_VISIBLE );

	/* Call to common throwMessage function if info shall be displayed. */
	if ( infoVisibility == VS_VISIBLE )
		return throwMessage( Inumber,additionaltext,functionname,filename,linenumber,localVisibilityStatus,"INFO" );
	else
		return Inumber;
}
Esempio n. 4
0
/*
 *	t h r o w W a r n i n g
 */
returnValue MessageHandling::throwWarning(
	returnValue Wnumber,
	const char* additionaltext,
	const char* functionname,
	const char* filename,
	const unsigned long linenumber,
	VisibilityStatus localVisibilityStatus
  	)
{
	/* consistency check */
  	if ( Wnumber <= SUCCESSFUL_RETURN )
		return throwError( RET_WARNING_UNDEFINED,0,__FUNCTION__,__FILE__,__LINE__,VS_VISIBLE );

	/* Call to common throwMessage function if warning shall be displayed. */
	if ( warningVisibility == VS_VISIBLE )
		return throwMessage( Wnumber,additionaltext,functionname,filename,linenumber,localVisibilityStatus,"WARNING" );
  	else
  		return Wnumber;
}