don't set NaN values (because this NaN is from SolarMath and compatible with the chart NaN - DBL_MIN)

This commit is contained in:
Björn Milcke
2000-12-15 16:44:36 +00:00
parent bf8abe7003
commit 5e2c34c9ea

View File

@@ -2,9 +2,9 @@
* *
* $RCSfile: SchXMLTableContext.cxx,v $ * $RCSfile: SchXMLTableContext.cxx,v $
* *
* $Revision: 1.2 $ * $Revision: 1.3 $
* *
* last change: $Author: bm $ $Date: 2000-12-07 19:46:34 $ * last change: $Author: bm $ $Date: 2000-12-15 17:44:36 $
* *
* The Contents of this file are made available subject to the terms of * The Contents of this file are made available subject to the terms of
* either of the following licenses * either of the following licenses
@@ -401,8 +401,8 @@ void SchXMLTableCellContext::StartElement( const uno::Reference< xml::sax::XAttr
if( eValueType == SCH_CELL_TYPE_FLOAT ) if( eValueType == SCH_CELL_TYPE_FLOAT )
{ {
double fData; double fData;
sal_Bool bResult = SvXMLUnitConverter::convertNumber( fData, aCellContent ); // the result may be false if a NaN is read, but that's ok
DBG_ASSERT( bResult, "Error converting string to double" ); SvXMLUnitConverter::convertNumber( fData, aCellContent );
aCell.fValue = fData; aCell.fValue = fData;
// dont read following <text:p> element // dont read following <text:p> element
@@ -665,6 +665,7 @@ void SchXMLTableHelper::PutTableContentIntoSequence(
sal_Int32 nSeqPos = 0; sal_Int32 nSeqPos = 0;
uno::Sequence< double >* pSeqArray = aSequence.getArray(); uno::Sequence< double >* pSeqArray = aSequence.getArray();
double fValue;
// same column // same column
if( rAddress.nCol1 == rAddress.nCol2 ) if( rAddress.nCol1 == rAddress.nCol2 )
@@ -674,7 +675,9 @@ void SchXMLTableHelper::PutTableContentIntoSequence(
for( sal_Int32 nRow = rAddress.nRow1; nRow <= rAddress.nRow2; nRow++, nSeqPos++ ) for( sal_Int32 nRow = rAddress.nRow1; nRow <= rAddress.nRow2; nRow++, nSeqPos++ )
{ {
DBG_ASSERT( rTable.aData[ nRow ][ rAddress.nCol1 ].eType != SCH_CELL_TYPE_UNKNOWN, "trying to refer to unknown cell" ); DBG_ASSERT( rTable.aData[ nRow ][ rAddress.nCol1 ].eType != SCH_CELL_TYPE_UNKNOWN, "trying to refer to unknown cell" );
pSeqArray[ nSeqPos ][ nSeriesIndex ] = rTable.aData[ nRow ][ rAddress.nCol1 ].fValue; fValue = rTable.aData[ nRow ][ rAddress.nCol1 ].fValue;
if( ! SolarMath::IsNAN( fValue ))
pSeqArray[ nSeqPos ][ nSeriesIndex ] = fValue;
} }
} }
else // reverse else // reverse
@@ -682,7 +685,9 @@ void SchXMLTableHelper::PutTableContentIntoSequence(
for( sal_Int32 nRow = rAddress.nRow1; nRow >= rAddress.nRow2; nRow--, nSeqPos++ ) for( sal_Int32 nRow = rAddress.nRow1; nRow >= rAddress.nRow2; nRow--, nSeqPos++ )
{ {
DBG_ASSERT( rTable.aData[ nRow ][ rAddress.nCol1 ].eType != SCH_CELL_TYPE_UNKNOWN, "trying to refer to unknown cell" ); DBG_ASSERT( rTable.aData[ nRow ][ rAddress.nCol1 ].eType != SCH_CELL_TYPE_UNKNOWN, "trying to refer to unknown cell" );
pSeqArray[ nSeqPos ][ nSeriesIndex ] = rTable.aData[ nRow ][ rAddress.nCol1 ].fValue; fValue = rTable.aData[ nRow ][ rAddress.nCol1 ].fValue;
if( ! SolarMath::IsNAN( fValue ))
pSeqArray[ nSeqPos ][ nSeriesIndex ] = fValue;
} }
} }
} }
@@ -695,7 +700,9 @@ void SchXMLTableHelper::PutTableContentIntoSequence(
for( sal_Int32 nCol = rAddress.nCol1; nCol <= rAddress.nCol2; nCol++, nSeqPos++ ) for( sal_Int32 nCol = rAddress.nCol1; nCol <= rAddress.nCol2; nCol++, nSeqPos++ )
{ {
DBG_ASSERT( rTable.aData[ rAddress.nRow1 ][ nCol ].eType != SCH_CELL_TYPE_UNKNOWN, "trying to refer to unknown cell" ); DBG_ASSERT( rTable.aData[ rAddress.nRow1 ][ nCol ].eType != SCH_CELL_TYPE_UNKNOWN, "trying to refer to unknown cell" );
pSeqArray[ nSeqPos ][ nSeriesIndex ] = rTable.aData[ rAddress.nRow1 ][ nCol ].fValue; fValue = rTable.aData[ rAddress.nRow1 ][ nCol ].fValue;
if( ! SolarMath::IsNAN( fValue ))
pSeqArray[ nSeqPos ][ nSeriesIndex ] = fValue;
} }
} }
else // reverse else // reverse
@@ -703,7 +710,9 @@ void SchXMLTableHelper::PutTableContentIntoSequence(
for( sal_Int32 nCol = rAddress.nCol1; nCol >= rAddress.nCol2; nCol--, nSeqPos++ ) for( sal_Int32 nCol = rAddress.nCol1; nCol >= rAddress.nCol2; nCol--, nSeqPos++ )
{ {
DBG_ASSERT( rTable.aData[ rAddress.nRow1 ][ nCol ].eType != SCH_CELL_TYPE_UNKNOWN, "trying to refer to unknown cell" ); DBG_ASSERT( rTable.aData[ rAddress.nRow1 ][ nCol ].eType != SCH_CELL_TYPE_UNKNOWN, "trying to refer to unknown cell" );
pSeqArray[ nSeqPos ][ nSeriesIndex ] = rTable.aData[ rAddress.nRow1 ][ nCol ].fValue; fValue = rTable.aData[ rAddress.nRow1 ][ nCol ].fValue;
if( ! SolarMath::IsNAN( fValue ))
pSeqArray[ nSeqPos ][ nSeriesIndex ] = fValue;
} }
} }
} }