OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Protected Attributes | List of all members
ossimRectilinearDataObject Class Reference

#include <ossimRectilinearDataObject.h>

Inheritance diagram for ossimRectilinearDataObject:
ossimDataObject ossimObject ossimReferenced ossimImageData ossimS16ImageData ossimU11ImageData ossimU12ImageData ossimU13ImageData ossimU14ImageData ossimU15ImageData ossimU16ImageData ossimU8ImageData

Public Member Functions

 ossimRectilinearDataObject ()
 default constructor More...
 
 ossimRectilinearDataObject (const ossimRectilinearDataObject &rhs)
 
 ossimRectilinearDataObject (ossim_uint32 numberOfSpatialComponents, ossimSource *owner, ossim_uint32 numberOfDataComponents, ossimScalarType scalarType=OSSIM_SCALAR_UNKNOWN, ossimDataObjectStatus status=OSSIM_NULL)
 
 ossimRectilinearDataObject (ossimSource *owner, ossim_uint32 numberOfDataComponents, ossim_uint32 length, ossimScalarType scalarType=OSSIM_SCALAR_UNKNOWN, ossimDataObjectStatus status=OSSIM_NULL)
 This is a helper constructor that allows one to instantiate a one dimensional Spatial component with N number of data components. More...
 
 ossimRectilinearDataObject (ossimSource *owner, ossim_uint32 numberOfDataComponents, ossim_uint32 width, ossim_uint32 height, ossimScalarType scalarType=OSSIM_SCALAR_UNKNOWN, ossimDataObjectStatus status=OSSIM_NULL)
 This is a helper constructor that allows one to instantiate a two dimensional Spatial component (WidthxHeight) with N number of data components. More...
 
 ossimRectilinearDataObject (ossimSource *owner, ossim_uint32 numberOfDataComponents, ossim_uint32 width, ossim_uint32 height, ossim_uint32 depth, ossimScalarType scalarType=OSSIM_SCALAR_UNKNOWN, ossimDataObjectStatus status=OSSIM_NULL)
 This is a helper constructor that allows one to instantiate a two dimensional Spatial component (WidthxHeightxDepth) with N number of data components. More...
 
virtual ~ossimRectilinearDataObject ()
 
virtual void setNumberOfDataComponents (ossim_uint32 n)
 How many components make up this data object. More...
 
virtual void setSpatialExtents (ossim_uint32 *extents, ossim_uint32 size)
 
virtual void setScalarType (ossimScalarType type)
 See ossimScalarType in ossimConstants for a full list. More...
 
virtual ossim_uint32 getNumberOfDataComponents () const
 
virtual ossim_uint32 getNumberOfSpatialComponents () const
 
virtual const ossim_uint32getSpatialExtents () const
 
virtual ossimScalarType getScalarType () const
 
virtual ossim_uint32 getScalarSizeInBytes () const
 
virtual void * getBuf ()
 
virtual const void * getBuf () const
 
virtual void assign (const ossimRectilinearDataObject *data)
 
virtual void initialize ()
 Initializes m_dataBuffer to current spatial extents. More...
 
virtual ossim_uint32 computeSpatialProduct () const
 
virtual ossim_uint32 getDataSizeInBytes () const
 
virtual std::ostream & print (std::ostream &out) const
 Generic print method. More...
 
virtual const ossimRectilinearDataObjectoperator= (const ossimRectilinearDataObject &rhs)
 assignment operator= More...
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 
- Public Member Functions inherited from ossimDataObject
 ossimDataObject (ossimSource *source=0, ossimDataObjectStatus status=OSSIM_STATUS_UNKNOWN)
 
 ossimDataObject (const ossimDataObject &rhs)
 
virtual ~ossimDataObject ()
 
virtual ossim_uint32 getHashId () const =0
 
virtual void setOwner (ossimSource *aSource)
 Sets the owner of this Data object. More...
 
virtual ossimSourcegetOwner ()
 
virtual const ossimSourcegetOwner () const
 
virtual void setDataObjectStatus (ossimDataObjectStatus status) const
 Full list found in ossimConstants.h. More...
 
virtual ossimDataObjectStatus getDataObjectStatus () const
 
virtual ossimString getDataObjectStatusString () const
 
virtual ossim_uint32 getObjectSizeInBytes () const
 
virtual bool isInitialize () const
 This is to be overriden in the derived classes so they can check If their data is null. More...
 
virtual void assign (const ossimDataObject *rhs)
 
virtual const ossimDataObjectoperator= (const ossimDataObject *rhs)
 
virtual const ossimDataObjectoperator= (const ossimDataObject &rhs)
 
virtual bool operator== (const ossimDataObject &rhs) const
 
virtual bool operator!= (const ossimDataObject &rhs) const
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimObjectdup () const
 
virtual ossimString getShortName () const
 
virtual ossimString getLongName () const
 
virtual ossimString getDescription () const
 
virtual ossimString getClassName () const
 
virtual RTTItypeid getType () const
 
virtual bool canCastTo (ossimObject *obj) const
 
virtual bool canCastTo (const RTTItypeid &id) const
 
virtual bool canCastTo (const ossimString &parentClassName) const
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
virtual void accept (ossimVisitor &visitor)
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (const ossimReferenced &)
 
void ref () const
 increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
void unref () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
void unref_nodelete () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
int referenceCount () const
 

Protected Attributes

ossim_uint32 m_numberOfDataComponents
 
ossimScalarType m_scalarType
 
std::vector< ossim_uint8m_dataBuffer
 
std::vector< ossim_uint32m_spatialExtents
 
- Protected Attributes inherited from ossimDataObject
ossimSourcetheOwner
 
ossimDataObjectStatus theDataObjectStatus
 

Additional Inherited Members

- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 

Detailed Description

Definition at line 15 of file ossimRectilinearDataObject.h.

Constructor & Destructor Documentation

◆ ossimRectilinearDataObject() [1/6]

ossimRectilinearDataObject::ossimRectilinearDataObject ( )

default constructor

Definition at line 21 of file ossimRectilinearDataObject.cpp.

22  : ossimDataObject(),
24  m_scalarType(),
25  m_dataBuffer(),
27 {
28 }
ossimDataObject(ossimSource *source=0, ossimDataObjectStatus status=OSSIM_STATUS_UNKNOWN)
std::vector< ossim_uint8 > m_dataBuffer
std::vector< ossim_uint32 > m_spatialExtents

◆ ossimRectilinearDataObject() [2/6]

ossimRectilinearDataObject::ossimRectilinearDataObject ( const ossimRectilinearDataObject rhs)

Definition at line 30 of file ossimRectilinearDataObject.cpp.

32  : ossimDataObject(rhs),
37 {
38 }
ossimDataObject(ossimSource *source=0, ossimDataObjectStatus status=OSSIM_STATUS_UNKNOWN)
std::vector< ossim_uint8 > m_dataBuffer
std::vector< ossim_uint32 > m_spatialExtents

◆ ossimRectilinearDataObject() [3/6]

ossimRectilinearDataObject::ossimRectilinearDataObject ( ossim_uint32  numberOfSpatialComponents,
ossimSource owner,
ossim_uint32  numberOfDataComponents,
ossimScalarType  scalarType = OSSIM_SCALAR_UNKNOWN,
ossimDataObjectStatus  status = OSSIM_NULL 
)

Definition at line 40 of file ossimRectilinearDataObject.cpp.

46  :ossimDataObject(owner, OSSIM_NULL),
47  m_numberOfDataComponents(numberOfDataComponents),
48  m_scalarType(scalarType),
49  m_dataBuffer(0),
50  m_spatialExtents(numberOfSpatialComponents)
51 {
52 }
ossimDataObject(ossimSource *source=0, ossimDataObjectStatus status=OSSIM_STATUS_UNKNOWN)
std::vector< ossim_uint8 > m_dataBuffer
std::vector< ossim_uint32 > m_spatialExtents

◆ ossimRectilinearDataObject() [4/6]

ossimRectilinearDataObject::ossimRectilinearDataObject ( ossimSource owner,
ossim_uint32  numberOfDataComponents,
ossim_uint32  length,
ossimScalarType  scalarType = OSSIM_SCALAR_UNKNOWN,
ossimDataObjectStatus  status = OSSIM_NULL 
)

This is a helper constructor that allows one to instantiate a one dimensional Spatial component with N number of data components.

It will internally allocate theSpatialExtent to 1 and set the contents equal to the value passed in to length.

Definition at line 54 of file ossimRectilinearDataObject.cpp.

References m_spatialExtents.

60  :ossimDataObject(owner, OSSIM_NULL),
61  m_numberOfDataComponents(numberOfDataComponents),
62  m_scalarType(scalarType),
63  m_dataBuffer(0),
65 {
66  m_spatialExtents[0] = length;
67 }
ossimDataObject(ossimSource *source=0, ossimDataObjectStatus status=OSSIM_STATUS_UNKNOWN)
std::vector< ossim_uint8 > m_dataBuffer
std::vector< ossim_uint32 > m_spatialExtents

◆ ossimRectilinearDataObject() [5/6]

ossimRectilinearDataObject::ossimRectilinearDataObject ( ossimSource owner,
ossim_uint32  numberOfDataComponents,
ossim_uint32  width,
ossim_uint32  height,
ossimScalarType  scalarType = OSSIM_SCALAR_UNKNOWN,
ossimDataObjectStatus  status = OSSIM_NULL 
)

This is a helper constructor that allows one to instantiate a two dimensional Spatial component (WidthxHeight) with N number of data components.

It will internally allocate theSpatialExtent to 2 and set the contents equal to the value passed in to width, and height.

Definition at line 69 of file ossimRectilinearDataObject.cpp.

References m_spatialExtents.

76  :ossimDataObject(owner, OSSIM_NULL),
77  m_numberOfDataComponents(numberOfDataComponents),
78  m_scalarType(scalarType),
79  m_dataBuffer(0),
81 {
82  m_spatialExtents[0] = width;
83  m_spatialExtents[1] = height;
84 }
ossimDataObject(ossimSource *source=0, ossimDataObjectStatus status=OSSIM_STATUS_UNKNOWN)
std::vector< ossim_uint8 > m_dataBuffer
std::vector< ossim_uint32 > m_spatialExtents

◆ ossimRectilinearDataObject() [6/6]

ossimRectilinearDataObject::ossimRectilinearDataObject ( ossimSource owner,
ossim_uint32  numberOfDataComponents,
ossim_uint32  width,
ossim_uint32  height,
ossim_uint32  depth,
ossimScalarType  scalarType = OSSIM_SCALAR_UNKNOWN,
ossimDataObjectStatus  status = OSSIM_NULL 
)

This is a helper constructor that allows one to instantiate a two dimensional Spatial component (WidthxHeightxDepth) with N number of data components.

It will internally allocate theSpatialExtent to 3 and set the contents equal to the value passed in to width, height, and depth.

Definition at line 86 of file ossimRectilinearDataObject.cpp.

References m_spatialExtents.

94  :ossimDataObject(owner, OSSIM_NULL),
95  m_numberOfDataComponents(numberOfDataComponents),
96  m_scalarType(scalarType),
97  m_dataBuffer(0),
99 {
100  m_spatialExtents[0] = width;
101  m_spatialExtents[1] = height;
102  m_spatialExtents[2] = depth;
103 }
ossimDataObject(ossimSource *source=0, ossimDataObjectStatus status=OSSIM_STATUS_UNKNOWN)
std::vector< ossim_uint8 > m_dataBuffer
std::vector< ossim_uint32 > m_spatialExtents

◆ ~ossimRectilinearDataObject()

ossimRectilinearDataObject::~ossimRectilinearDataObject ( )
virtual

Definition at line 105 of file ossimRectilinearDataObject.cpp.

106 {
107 }

Member Function Documentation

◆ assign()

void ossimRectilinearDataObject::assign ( const ossimRectilinearDataObject data)
virtual

Definition at line 185 of file ossimRectilinearDataObject.cpp.

References ossimDataObject::assign(), m_dataBuffer, m_numberOfDataComponents, m_scalarType, and m_spatialExtents.

Referenced by ossimImageData::assign().

186 {
187  if(data)
188  {
189  if (this != data)
190  {
192 
194  m_scalarType = data->m_scalarType;
195  m_dataBuffer = data->m_dataBuffer;
197  }
198  }
199 }
std::vector< ossim_uint8 > m_dataBuffer
virtual void assign(const ossimDataObject *rhs)
std::vector< ossim_uint32 > m_spatialExtents

◆ computeSpatialProduct()

ossim_uint32 ossimRectilinearDataObject::computeSpatialProduct ( ) const
virtual

Definition at line 109 of file ossimRectilinearDataObject.cpp.

References m_spatialExtents.

Referenced by getDataSizeInBytes().

110 {
111  ossim_uint32 spatialProduct = 0;
112  for(ossim_uint32 index = 0; index < m_spatialExtents.size(); ++index)
113  {
114  spatialProduct *= m_spatialExtents[index];
115  }
116  return spatialProduct;
117 }
unsigned int ossim_uint32
std::vector< ossim_uint32 > m_spatialExtents

◆ getBuf() [1/2]

void * ossimRectilinearDataObject::getBuf ( )
virtual

Reimplemented in ossimImageData.

Definition at line 167 of file ossimRectilinearDataObject.cpp.

References m_dataBuffer.

Referenced by ossimImageData::copyTileToFloatBuffer().

168 {
169  if (m_dataBuffer.size() > 0)
170  {
171  return static_cast<void*>(&m_dataBuffer.front());
172  }
173  return NULL;
174 }
std::vector< ossim_uint8 > m_dataBuffer

◆ getBuf() [2/2]

const void * ossimRectilinearDataObject::getBuf ( ) const
virtual

Reimplemented in ossimImageData.

Definition at line 176 of file ossimRectilinearDataObject.cpp.

References m_dataBuffer.

177 {
178  if (m_dataBuffer.size() > 0)
179  {
180  return static_cast<const void*>(&m_dataBuffer.front());
181  }
182  return NULL;
183 }
std::vector< ossim_uint8 > m_dataBuffer

◆ getDataSizeInBytes()

ossim_uint32 ossimRectilinearDataObject::getDataSizeInBytes ( ) const
virtual

Implements ossimDataObject.

Reimplemented in ossimImageData.

Definition at line 223 of file ossimRectilinearDataObject.cpp.

References computeSpatialProduct(), getScalarSizeInBytes(), and m_numberOfDataComponents.

Referenced by initialize().

224 {
228 }
virtual ossim_uint32 computeSpatialProduct() const
unsigned int ossim_uint32
virtual ossim_uint32 getScalarSizeInBytes() const

◆ getNumberOfDataComponents()

ossim_uint32 ossimRectilinearDataObject::getNumberOfDataComponents ( ) const
virtual

◆ getNumberOfSpatialComponents()

ossim_uint32 ossimRectilinearDataObject::getNumberOfSpatialComponents ( ) const
virtual

Definition at line 147 of file ossimRectilinearDataObject.cpp.

References m_spatialExtents.

148 {
149  return (ossim_uint32)m_spatialExtents.size();
150 }
unsigned int ossim_uint32
std::vector< ossim_uint32 > m_spatialExtents

◆ getScalarSizeInBytes()

ossim_uint32 ossimRectilinearDataObject::getScalarSizeInBytes ( ) const
virtual

Definition at line 162 of file ossimRectilinearDataObject.cpp.

References getScalarType(), and ossim::scalarSizeInBytes().

Referenced by getDataSizeInBytes(), and ossimImageData::getSizePerBandInBytes().

163 {
165 }
OSSIM_DLL ossim_uint32 scalarSizeInBytes(ossimScalarType scalarType)
virtual ossimScalarType getScalarType() const

◆ getScalarType()

ossimScalarType ossimRectilinearDataObject::getScalarType ( ) const
virtual

Definition at line 157 of file ossimRectilinearDataObject.cpp.

References m_scalarType.

Referenced by ossimWatermarkFilter::allocate(), ossimPixelFlipper::allocateClipTileBuffer(), ossimCastTileSourceFilter::applyCast(), ossimMeanMedianFilter::applyFilter(), ossimCastTileSourceFilter::castInputToOutput(), ossimImageData::computeAlphaChannel(), ossimImageData::computeAverageBandValue(), ossimImageData::computeMeanSquaredError(), ossimImageData::computeMinMaxNulPix(), ossimImageToPlaneNormalFilter::computeNormals(), ossimNBandToIndexFilter::convertOutputTileTemplate(), ossimS16ImageData::convertToNormalizedDouble(), ossimU11ImageData::convertToNormalizedDouble(), ossimU12ImageData::convertToNormalizedDouble(), ossimU13ImageData::convertToNormalizedDouble(), ossimU14ImageData::convertToNormalizedDouble(), ossimU15ImageData::convertToNormalizedDouble(), ossimU8ImageData::convertToNormalizedDouble(), ossimU16ImageData::convertToNormalizedDouble(), ossimImageData::convertToNormalizedDouble(), ossimS16ImageData::convertToNormalizedFloat(), ossimU11ImageData::convertToNormalizedFloat(), ossimU12ImageData::convertToNormalizedFloat(), ossimU13ImageData::convertToNormalizedFloat(), ossimU14ImageData::convertToNormalizedFloat(), ossimU15ImageData::convertToNormalizedFloat(), ossimU8ImageData::convertToNormalizedFloat(), ossimU16ImageData::convertToNormalizedFloat(), ossimImageData::convertToNormalizedFloat(), ossimNitfTileSource::convertTransparentToNull(), ossimImageDataHelper::copyInputToThis(), ossimImageData::copyNormalizedBufferToTile(), MEMTiledRasterBand::copyNulls(), ossim::copyOpjImage(), ossim::copyRegionToTile(), ossimImageData::copyTileBandToNormalizedBuffer(), ossimImageData::copyTileToNormalizedBuffer(), ossimImageData::createTestTile(), demo1(), ossimPngCodec::encode(), ossimJpegCodec::encode(), ossimMaskFilter::executeMaskFilterBinary(), ossimMaskFilter::executeMaskFilterInvertSelect(), ossimMaskFilter::executeMaskFilterSelect(), ossimMaskFilter::executeMaskFilterWeighted(), ossimTopographicCorrectionFilter::executeTopographicCorrection(), ossimNitfTileSource::explodePackedBits(), ossimImageDataHelper::fill(), ossimImageData::fill(), ossimTilePatch::fillTile(), ossimImageData::getMaxPix(), ossimImageData::getMinPix(), ossimImageMpiMWriterSequenceConnection::getNextTile(), ossimMpiMasterOverviewSequencer::getNextTile(), ossimImageData::getNormalizedFloat(), ossimFusionCombiner::getNormTile(), ossimImageData::getNullPix(), ossimMemoryImageSource::getOutputScalarType(), getScalarSizeInBytes(), ossimImageData::getScalarTypeAsString(), ossimHsvToRgbSource::getTile(), ossimJpegYCbCrToRgbSource::getTile(), ossimHsiToRgbSource::getTile(), ossimRgbToHsiSource::getTile(), ossimRgbToHsvSource::getTile(), ossimRgbToJpegYCbCrSource::getTile(), ossimBlendMosaic::getTile(), ossimHistogramThreshholdFilter::getTile(), ossimHistogramEqualization::getTile(), ossimMultiBandHistogramTileSource::getTile(), ossimDilationFilter::getTile(), ossimSICDToDetectedImage::getTile(), ossim3x3ConvolutionFilter::getTile(), ossimFeatherMosaic::getTile(), ossimHistoMatchRemapper::getTile(), ossimEdgeFilter::getTile(), ossimImageMosaic::getTile(), ossimElevationMosaic::getTile(), ossimNullPixelFlip::getTile(), ossimMaxMosaic::getTile(), ossimMapCompositionSource::getTile(), ossimLinearStretchRemapper::getTile(), ossimShiftFilter::getTile(), ossimConvolutionSource::getTile(), ossimBandAverageFilter::getTile(), ossimValueAssignImageSourceFilter::getTile(), ossimRgbToIndexFilter::getTile(), ossimConvolutionFilter1D::getTile(), ossimGdalTileSource::getTile(), ossimTopographicCorrectionFilter::getTile(), ossimWatermarkFilter::getTile(), ossimImageSourceSequencer::getTile(), ossimPointCloudImageHandler::getTile(), ossimLasReader::getTile(), ossimIndexToRgbLutFilter::getTile(), ossimBumpShadeTileSource::getTile(), ossimPixelFlipper::getTile(), ossimImageRenderer::getTileAtResLevel(), ossimImageData::initializeMaxDefault(), ossimImageData::initializeMinDefault(), ossimImageData::initializeNullDefault(), ossimImageData::isNull(), ossimImageData::loadBand(), ossimImageData::loadTile(), ossimImageData::loadTileFromBil(), ossimImageData::loadTileFromBip(), ossimImageData::loadTileFromBipAlpha(), ossimImageData::loadTileFromBsq(), ossimNitfTileSource::lutUncompress(), ossimImageData::makeBlank(), ossimImageData::nullTileAlpha(), ossimImageData::populateHistogram(), ossimResampler::resample(), ossimFilterResampler::resample(), ossimResampler::resampleNearestNeighbor(), ossimResampler::resampleTile(), RTTI_DEF1(), ossimScaleFilter::runFilter(), ossimScaleFilter::runFilterTemplate(), ossimRgbImage::setCurrentImageData(), ossimImageData::setNormalizedFloat(), ossimImageData::setNull(), ossimBandSelector::setOutputBandList(), ossimImageData::setValue(), ossimMpiSlaveOverviewSequencer::slaveProcessTiles(), ossimImageData::stretchMinMax(), ossimImageData::unloadBand(), ossimImageData::unloadBandToBsq(), ossimImageData::unloadTileToBil(), ossimImageData::unloadTileToBip(), ossimImageData::unloadTileToBipAlpha(), ossimImageData::unloadTileToBipAlphaTemplate(), ossimImageData::unloadTileToBsq(), ossimS16ImageData::unnormalizeInput(), ossimU13ImageData::unnormalizeInput(), ossimU11ImageData::unnormalizeInput(), ossimU15ImageData::unnormalizeInput(), ossimU14ImageData::unnormalizeInput(), ossimU12ImageData::unnormalizeInput(), ossimU8ImageData::unnormalizeInput(), ossimU16ImageData::unnormalizeInput(), ossimImageData::unnormalizeInput(), ossim::unNormalizeTile(), ossimImageData::validate(), ossimNitfTileSource::vqUncompressC4(), ossimNitfTileSource::vqUncompressM4(), ossimImageData::write(), ossimNitf20Writer::writeBlockBandSeparate(), ossimNitfWriter::writeBlockBandSeparate(), ossimNitf20Writer::writeBlockBandSequential(), ossimNitfWriter::writeBlockBandSequential(), and ossimKakaduCompressor::writeTile().

158 {
159  return m_scalarType;
160 }

◆ getSpatialExtents()

const ossim_uint32 * ossimRectilinearDataObject::getSpatialExtents ( ) const
virtual

Definition at line 152 of file ossimRectilinearDataObject.cpp.

References m_spatialExtents.

153 {
154  return &(m_spatialExtents.front());
155 }
std::vector< ossim_uint32 > m_spatialExtents

◆ initialize()

void ossimRectilinearDataObject::initialize ( )
virtual

Initializes m_dataBuffer to current spatial extents.

1) The underlying std::vector::resize() call with only be performed if m_dataBuffer.size() is not equal to getDataSizeInBytes().

2) The status will be set to OSSIM_STATUS_UNKNOWN if a resize was performed.

3) On error: catches std::bad_alloc exception and rethrows as ossimException.

Implements ossimDataObject.

Reimplemented in ossimImageData.

Definition at line 201 of file ossimRectilinearDataObject.cpp.

References getDataSizeInBytes(), m_dataBuffer, OSSIM_STATUS_UNKNOWN, and ossimDataObject::setDataObjectStatus().

Referenced by ossimImageData::initialize(), and ossimImageData::setNumberOfBands().

202 {
203  if (m_dataBuffer.size() != getDataSizeInBytes())
204  {
205  // std::vector::resize can throw a std::bad_alloc so wrap it...
206  try
207  {
208  m_dataBuffer.resize( getDataSizeInBytes() );
209  }
210  catch( std::exception& e )
211  {
212  std::ostringstream errMsg;
213  errMsg << "ossimRectilinearDataObject::initialize caught exception on resize:\n"
214  << "Buffer size in bytes: " << getDataSizeInBytes()
215  << "\n" << e.what() << std::endl;
216  throw ossimException( errMsg.str() );
217  }
218 
220  }
221 }
std::basic_ostringstream< char > ostringstream
Class for char output memory streams.
Definition: ossimIosFwd.h:35
virtual ossim_uint32 getDataSizeInBytes() const
std::vector< ossim_uint8 > m_dataBuffer
virtual void setDataObjectStatus(ossimDataObjectStatus status) const
Full list found in ossimConstants.h.

◆ loadState()

bool ossimRectilinearDataObject::loadState ( const ossimKeywordlist kwl,
const char *  prefix = 0 
)
virtual

Method to the load (recreate) the state of the object from a keyword list. Return true if ok or false on error.

Reimplemented from ossimDataObject.

Reimplemented in ossimImageData.

Definition at line 271 of file ossimRectilinearDataObject.cpp.

References ossimKeywordlist::find(), ossimScalarTypeLut::getScalarTypeFromString(), ossimScalarTypeLut::instance(), ossimDataObject::loadState(), m_dataBuffer, m_numberOfDataComponents, m_scalarType, m_spatialExtents, OSSIM_SCALAR_UNKNOWN, ossimKeywordNames::SCALAR_TYPE_KW, and ossim::toSimpleVector().

Referenced by ossimImageData::loadState().

272 {
273  if(!ossimDataObject::loadState(kwl, prefix)) return false;
274 
275  const char* spatial_extents = kwl.find(prefix, "spatial_extents");
276  const char* data_buffer = kwl.find(prefix, "data_buffer");
277  const char* scalar_type = kwl.find(prefix, ossimKeywordNames::SCALAR_TYPE_KW);
278  m_spatialExtents.clear();
279  m_dataBuffer.clear();
280 
281  if(spatial_extents)
282  {
283  if(!ossim::toSimpleVector(m_spatialExtents, ossimString(spatial_extents)))
284  {
285  return false;
286  }
287  }
288  if(data_buffer)
289  {
290  if(!ossim::toSimpleVector(m_dataBuffer, ossimString(kwl.find(prefix, "data_buffer"))))
291  {
292  return false;
293  }
294  }
295  if(scalar_type)
296  {
298  }
299  else
300  {
302  }
303 
305 
306  return true;
307 
308 }
ossimScalarType getScalarTypeFromString(const ossimString &s) const
const char * find(const char *key) const
bool toSimpleVector(std::vector< T > &result, const ossimString &stringOfPoints)
Definition: ossimCommon.h:537
static ossimScalarTypeLut * instance()
Returns the static instance of an ossimScalarTypeLut object.
std::vector< ossim_uint8 > m_dataBuffer
unsigned int ossim_uint32
std::vector< ossim_uint32 > m_spatialExtents
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
static const char * SCALAR_TYPE_KW

◆ operator=()

const ossimRectilinearDataObject & ossimRectilinearDataObject::operator= ( const ossimRectilinearDataObject rhs)
virtual

assignment operator=

Parameters
rhsThe data to assign from.
Areference to this object.

Definition at line 242 of file ossimRectilinearDataObject.cpp.

References m_dataBuffer, m_numberOfDataComponents, m_scalarType, m_spatialExtents, and ossimDataObject::operator=().

Referenced by ossimImageData::operator=().

244 {
245  if (this != &rhs)
246  {
247  // ossimDataObject initialization:
249 
250  // ossimRectilinearDataObject (this) initialization:
255  }
256  return *this;
257 }
virtual const ossimDataObject * operator=(const ossimDataObject *rhs)
std::vector< ossim_uint8 > m_dataBuffer
std::vector< ossim_uint32 > m_spatialExtents

◆ print()

std::ostream & ossimRectilinearDataObject::print ( std::ostream &  out) const
virtual

Generic print method.

Derived classes should re-implement as they see fit.

Returns
std::ostream&

Reimplemented from ossimDataObject.

Reimplemented in ossimImageData.

Definition at line 230 of file ossimRectilinearDataObject.cpp.

References ossimLookUpTable::getEntryString(), ossimScalarTypeLut::instance(), m_numberOfDataComponents, m_scalarType, m_spatialExtents, and ossimDataObject::print().

Referenced by ossimImageData::print().

231 {
232  out << "ossimRectilinearDataObject::print:"
233  << "\nm_numberOfDataComponents: " << m_numberOfDataComponents
234  << "\ntheNumberOfSpatialComponents: " << m_spatialExtents.size()
235  << "\nm_scalarType: "
237  << endl;
238 
239  return ossimDataObject::print(out);
240 }
virtual ossimString getEntryString(ossim_int32 entry_number) const
static ossimScalarTypeLut * instance()
Returns the static instance of an ossimScalarTypeLut object.
virtual std::ostream & print(std::ostream &out) const
Generic print method.
std::vector< ossim_uint32 > m_spatialExtents

◆ saveState()

bool ossimRectilinearDataObject::saveState ( ossimKeywordlist kwl,
const char *  prefix = 0 
) const
virtual

Method to save the state of the object to a keyword list. Return true if ok or false on error.

Reimplemented from ossimDataObject.

Reimplemented in ossimImageData.

Definition at line 259 of file ossimRectilinearDataObject.cpp.

References ossimKeywordlist::add(), ossimScalarTypeLut::instance(), m_dataBuffer, m_scalarType, m_spatialExtents, ossimDataObject::saveState(), ossimKeywordNames::SCALAR_TYPE_KW, and ossim::toSimpleStringList().

Referenced by ossimImageData::saveState().

260 {
261  ossimString byteEncoded;
263  kwl.add(prefix, "data_buffer", byteEncoded, true);
265  kwl.add(prefix, "spatial_extents", byteEncoded, true);
267 
268  return ossimDataObject::saveState(kwl, prefix);
269 }
void toSimpleStringList(ossimString &result, const std::vector< T > &valuesList)
This will output a vector of values inst a string.
Definition: ossimCommon.h:484
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
static ossimScalarTypeLut * instance()
Returns the static instance of an ossimScalarTypeLut object.
std::vector< ossim_uint8 > m_dataBuffer
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
std::vector< ossim_uint32 > m_spatialExtents
static const char * SCALAR_TYPE_KW

◆ setNumberOfDataComponents()

void ossimRectilinearDataObject::setNumberOfDataComponents ( ossim_uint32  n)
virtual

How many components make up this data object.

For example: If this were an RGB image data object then the number of components would be set to 3 and the RGB would be seen as a single data object being passed through.

Definition at line 119 of file ossimRectilinearDataObject.cpp.

References m_numberOfDataComponents, and n.

Referenced by ossimImageData::loadState(), and ossimImageData::setNumberOfBands().

120 {
122 }
os2<< "> n<< " > nendobj n

◆ setScalarType()

void ossimRectilinearDataObject::setScalarType ( ossimScalarType  type)
virtual

See ossimScalarType in ossimConstants for a full list.

OSSIM_SCALAR_UNKNOWN OSSIM_UCHAR Unsigned char OSSIM_USHORT16 16bit unsigned short OSSIM_SSHORT16 16bit signed short OSSIM_USHORT11 11bit unsigned short OSSIM_FLOAT float OSSIM_NORMALIZED_DOUBLE normalized 0 to 1 data

Definition at line 137 of file ossimRectilinearDataObject.cpp.

References m_scalarType.

Referenced by ossimGdalTileSource::getTile(), ossimPngReader::getTile(), ossimMrSidReader::getTile(), and ossimMG4LidarReader::getTile().

138 {
139  m_scalarType = type;
140 }

◆ setSpatialExtents()

void ossimRectilinearDataObject::setSpatialExtents ( ossim_uint32 extents,
ossim_uint32  size 
)
virtual

Definition at line 124 of file ossimRectilinearDataObject.cpp.

References m_spatialExtents, and size.

126 {
127  if (extents)
128  {
129  m_spatialExtents.resize(size);
130  for(ossim_uint32 i =0; i < size; ++i)
131  {
132  m_spatialExtents[i] = extents[i];
133  }
134  }
135 }
yy_size_t size
unsigned int ossim_uint32
std::vector< ossim_uint32 > m_spatialExtents

Member Data Documentation

◆ m_dataBuffer

std::vector<ossim_uint8> ossimRectilinearDataObject::m_dataBuffer
protected

◆ m_numberOfDataComponents

ossim_uint32 ossimRectilinearDataObject::m_numberOfDataComponents
protected

Definition at line 147 of file ossimRectilinearDataObject.h.

Referenced by assign(), ossimS16ImageData::convertToNormalizedDouble(), ossimU14ImageData::convertToNormalizedDouble(), ossimU15ImageData::convertToNormalizedDouble(), ossimU11ImageData::convertToNormalizedDouble(), ossimU12ImageData::convertToNormalizedDouble(), ossimU13ImageData::convertToNormalizedDouble(), ossimU8ImageData::convertToNormalizedDouble(), ossimU16ImageData::convertToNormalizedDouble(), ossimS16ImageData::convertToNormalizedFloat(), ossimU14ImageData::convertToNormalizedFloat(), ossimU15ImageData::convertToNormalizedFloat(), ossimU11ImageData::convertToNormalizedFloat(), ossimU12ImageData::convertToNormalizedFloat(), ossimU13ImageData::convertToNormalizedFloat(), ossimU8ImageData::convertToNormalizedFloat(), ossimU16ImageData::convertToNormalizedFloat(), ossimImageData::copyLineTemplate(), getDataSizeInBytes(), getNumberOfDataComponents(), ossimImageData::initializeMaxDefault(), ossimImageData::initializeMinDefault(), ossimImageData::initializeNullDefault(), ossimImageData::isEqualTo(), loadState(), operator=(), print(), ossimImageData::setMaxPix(), ossimImageData::setMinPix(), ossimImageData::setNullPix(), setNumberOfDataComponents(), ossimS16ImageData::setValue(), ossimU13ImageData::setValue(), ossimU14ImageData::setValue(), ossimU15ImageData::setValue(), ossimU11ImageData::setValue(), ossimU12ImageData::setValue(), ossimU8ImageData::setValue(), ossimU16ImageData::setValue(), ossimImageData::setValue(), ossimS16ImageData::unnormalizeInput(), ossimU11ImageData::unnormalizeInput(), ossimU13ImageData::unnormalizeInput(), ossimU14ImageData::unnormalizeInput(), ossimU15ImageData::unnormalizeInput(), ossimU12ImageData::unnormalizeInput(), ossimU8ImageData::unnormalizeInput(), and ossimU16ImageData::unnormalizeInput().

◆ m_scalarType

ossimScalarType ossimRectilinearDataObject::m_scalarType
protected

◆ m_spatialExtents

std::vector<ossim_uint32> ossimRectilinearDataObject::m_spatialExtents
protected

The documentation for this class was generated from the following files: