Simplygon C++ API  8.3.35800.0
SimplygonSDK::IChunkedImageData Class Referenceabstract

#include <SimplygonSDK.h>

Inheritance diagram for SimplygonSDK::IChunkedImageData:
SimplygonSDK::IObject

Public Member Functions

virtual void DeepCopy (IChunkedImageData *source, bool copy_data)=0
 
virtual const char * GetClass ()
 
virtual unsigned int GetTemplateXSize ()=0
 
virtual unsigned int GetTemplateYSize ()=0
 
virtual unsigned int GetTemplateZSize ()=0
 
virtual unsigned int GetTotalXSize ()=0
 
virtual unsigned int GetTotalYSize ()=0
 
virtual unsigned int GetTotalZSize ()=0
 
virtual unsigned int GetXSize ()=0
 
virtual unsigned int GetYSize ()=0
 
virtual unsigned int GetZSize ()=0
 
virtual bool IsA (const char *type) const
 
virtual bool IsChunkLocked1D (rid x)=0
 
virtual bool IsChunkLocked2D (rid x, rid y)=0
 
virtual bool IsChunkLocked3D (rid x, rid y, rid z)=0
 
virtual CountedPointer< IImageDataLockChunk1D (rid x)=0
 
virtual CountedPointer< IImageDataLockChunk2D (rid x, rid y)=0
 
virtual CountedPointer< IImageDataLockChunk3D (rid x, rid y, rid z)=0
 
virtual CountedPointer< IChunkedImageDataNewCopy (bool copy_data)=0
 
virtual void Reset ()=0
 
virtual void Set1DSize (unsigned int _xs)=0
 
virtual void Set2DSize (unsigned int _xs, unsigned int _ys)=0
 
virtual void Set3DSize (unsigned int _xs, unsigned int _ys, unsigned int _zs)=0
 
virtual void SetTemplateImage (IImageData *_template)=0
 
virtual void UnlockChunk1D (rid x)=0
 
virtual void UnlockChunk2D (rid x, rid y)=0
 
virtual void UnlockChunk3D (rid x, rid y, rid z)=0
 
- Public Member Functions inherited from SimplygonSDK::IObject
virtual rid AddObserver (robserver *Observer, rid EventId)=0
 
virtual void AddRef ()=0
 
virtual rstring GetName ()=0
 
virtual void * GetUserComponentArea (rid userid)=0
 
virtual void PrintInfo ()=0
 
virtual void Release ()=0
 
virtual void RemoveObserver (rid ObserverId)=0
 
virtual void SetName (const char *Name)=0
 

Static Public Member Functions

static bool IsClassA (const char *type)
 
static IChunkedImageDataSafeCast (IObject *ptr)
 
- Static Public Member Functions inherited from SimplygonSDK::IObject
static bool IsClassA (const char *type)
 
static IObjectSafeCast (IObject *ptr)
 

Detailed Description

ReChunkedImageData holds chunks for ReImageData objects. ReImageData objects can be referenced, and swapped in/out of memory, to secondary storage. This is useful for very large images that cannot be stored in-memory. ReImageData objects can be indexed in 1-,2- or 3D, and each ReImageData chunk is cloned from a source ReImageData object, at setup. Fields added to ReImageData chunks after setup will only be added into that chunk, and is not recommended.

Definition at line 4288 of file SimplygonSDK.h.

Member Function Documentation

◆ DeepCopy()

virtual void SimplygonSDK::IChunkedImageData::DeepCopy ( IChunkedImageData source,
bool  copy_data 
)
pure virtual

Deep copies (with template) the data from another image. The source image must be fully unlocked before copying.

Parameters
sourcesource object
copy_datais set, duplicate the data kept in the source image data object

◆ GetClass()

virtual const char* SimplygonSDK::IChunkedImageData::GetClass ( )
virtual

GetClass returns the name of the class of the object.

Returns
the name of the actual class of the object, as a const char string

Reimplemented from SimplygonSDK::IObject.

◆ GetTemplateXSize()

virtual unsigned int SimplygonSDK::IChunkedImageData::GetTemplateXSize ( )
pure virtual

Get the X dimension size of the template image used to create the chunks.

Returns
the X dimension size of the template image used to create the chunks.

◆ GetTemplateYSize()

virtual unsigned int SimplygonSDK::IChunkedImageData::GetTemplateYSize ( )
pure virtual

Get the Y dimension size of the template image used to create the chunks.

Returns
the Y dimension size of the template image used to create the chunks.

◆ GetTemplateZSize()

virtual unsigned int SimplygonSDK::IChunkedImageData::GetTemplateZSize ( )
pure virtual

Get the Z dimension size of the template image used to create the chunks.

Returns
the Z dimension size of the template image used to create the chunks.

◆ GetTotalXSize()

virtual unsigned int SimplygonSDK::IChunkedImageData::GetTotalXSize ( )
pure virtual

Get the total X dimension size of the full image.

Returns
the total X dimension size of the full image.

◆ GetTotalYSize()

virtual unsigned int SimplygonSDK::IChunkedImageData::GetTotalYSize ( )
pure virtual

Get the total Y dimension size of the full image.

Returns
the total Y dimension size of the full image.

◆ GetTotalZSize()

virtual unsigned int SimplygonSDK::IChunkedImageData::GetTotalZSize ( )
pure virtual

Get the total Z dimension size of the full image.

Returns
the total Z dimension size of the full image.

◆ GetXSize()

virtual unsigned int SimplygonSDK::IChunkedImageData::GetXSize ( )
pure virtual

Get the number of image chunks in the X dimension.

Returns
the number of image chunks in the X dimension.

◆ GetYSize()

virtual unsigned int SimplygonSDK::IChunkedImageData::GetYSize ( )
pure virtual

Get the number of image chunks in the Y dimension.

Returns
the number of image chunks in the Y dimension.

◆ GetZSize()

virtual unsigned int SimplygonSDK::IChunkedImageData::GetZSize ( )
pure virtual

Get the number of image chunks in the Z dimension.

Returns
the number of image chunks in the Z dimension.

◆ IsA()

virtual bool SimplygonSDK::IChunkedImageData::IsA ( const char *  type) const
virtual

The IsA function returns true if the object is a or is a descendant of the class named as the type parameter

Parameters
typeis the name of the class to check if the object is, or is a descendant of
Returns
true if the object is of the specified class, false if not

Reimplemented from SimplygonSDK::IObject.

◆ IsChunkLocked1D()

virtual bool SimplygonSDK::IChunkedImageData::IsChunkLocked1D ( rid  x)
pure virtual

Returns true if a chunk is locked. The method is thread-safe.

Parameters
xx coordinate of the chunk

◆ IsChunkLocked2D()

virtual bool SimplygonSDK::IChunkedImageData::IsChunkLocked2D ( rid  x,
rid  y 
)
pure virtual

Returns true if a chunk is locked. The method is thread-safe.

Parameters
xx coordinate of the chunk
yy coordinate of the chunk

◆ IsChunkLocked3D()

virtual bool SimplygonSDK::IChunkedImageData::IsChunkLocked3D ( rid  x,
rid  y,
rid  z 
)
pure virtual

Returns true if a chunk is locked. The method is thread-safe.

Parameters
xx coordinate of the chunk
yy coordinate of the chunk
zz coordinate of the chunk

◆ IsClassA()

static bool SimplygonSDK::IChunkedImageData::IsClassA ( const char *  type)
inlinestatic

The IsClassA function returns true if IChunkedImageData is a or is a descendant of the class named as the type parameter

Parameters
typeis the name of the class to check if the class is, or is a descendant of
Returns
true if the class is of the specified class, false if not

Definition at line 4309 of file SimplygonSDK.h.

◆ LockChunk1D()

virtual CountedPointer<IImageData> SimplygonSDK::IChunkedImageData::LockChunk1D ( rid  x)
pure virtual

Locks a chunk for editing, and returns an image object to the caller. Only one lock is allowed per chunk. Use IsChunkLocked to check if a chunk is locked before trying to lock it. If the Lock failed, because the chunk is already locked, NULL is returned. The method is thread-safe.

Parameters
xx coordinate of the chunk

◆ LockChunk2D()

virtual CountedPointer<IImageData> SimplygonSDK::IChunkedImageData::LockChunk2D ( rid  x,
rid  y 
)
pure virtual

Locks a chunk for editing, and returns an image object to the caller. Only one lock is allowed per chunk. Use IsChunkLocked to check if a chunk is locked before trying to lock it. If the Lock failed, because the chunk is already locked, NULL is returned. The method is thread-safe.

Parameters
xx coordinate of the chunk
yy coordinate of the chunk

◆ LockChunk3D()

virtual CountedPointer<IImageData> SimplygonSDK::IChunkedImageData::LockChunk3D ( rid  x,
rid  y,
rid  z 
)
pure virtual

Locks a chunk for editing, and returns an image object to the caller. Only one lock is allowed per chunk. Use IsChunkLocked to check if a chunk is locked before trying to lock it. If the Lock failed, because the chunk is already locked, NULL is returned. The method is thread-safe.

Parameters
xx coordinate of the chunk
yy coordinate of the chunk
zz coordinate of the chunk

◆ NewCopy()

virtual CountedPointer<IChunkedImageData> SimplygonSDK::IChunkedImageData::NewCopy ( bool  copy_data)
pure virtual

Makes a new copy of the chunked image data This image must be fully unlocked before copying.

Parameters
copy_datais set, duplicate the data kept in the image data object

◆ Reset()

virtual void SimplygonSDK::IChunkedImageData::Reset ( )
pure virtual

Clears all data from the image, and removes all data fields. The template image is kept, but can be replaced using SetTemplateImage before calling one of the SetXDSize methods. Any lock that was hold in the image is automatically released.

◆ SafeCast()

static IChunkedImageData* SimplygonSDK::IChunkedImageData::SafeCast ( IObject ptr)
inlinestatic

SafeCast makes sure the pointer is of a class that can be cast into a IChunkedImageData pointer, and if this is possible, returns the cast pointer.

Parameters
ptris the pointer to be cast into a IChunkedImageData pointer
Returns
a pointer to the IChunkedImageData object, if the cast can be made, and a NULL pointer otherwise

Definition at line 4322 of file SimplygonSDK.h.

◆ Set1DSize()

virtual void SimplygonSDK::IChunkedImageData::Set1DSize ( unsigned int  _xs)
pure virtual

Set the number of image chunks in the X dimension.

Parameters
_xsthe desired number of chunks in the X dimension.

◆ Set2DSize()

virtual void SimplygonSDK::IChunkedImageData::Set2DSize ( unsigned int  _xs,
unsigned int  _ys 
)
pure virtual

Set the number of image chunks in the X and Y dimensions.

Parameters
_xsthe desired number of chunks in the X dimension.
_ysthe desired number of chunks in the X dimension.

◆ Set3DSize()

virtual void SimplygonSDK::IChunkedImageData::Set3DSize ( unsigned int  _xs,
unsigned int  _ys,
unsigned int  _zs 
)
pure virtual

Set the number of image chunks in the X, Y and Z dimensions.

Parameters
_xsthe desired number of chunks in the X dimension.
_ysthe desired number of chunks in the X dimension.
_zsthe desired number of chunks in the X dimension.

◆ SetTemplateImage()

virtual void SimplygonSDK::IChunkedImageData::SetTemplateImage ( IImageData _template)
pure virtual

Sets the template image to use as template for creating new chunks. The template image is cloned, it can be released after the setup. Note that SetTemplateImage must be called before allocating image chunks.

Parameters
_templatethe template image object

◆ UnlockChunk1D()

virtual void SimplygonSDK::IChunkedImageData::UnlockChunk1D ( rid  x)
pure virtual

Unlocks a previously referenced chunk. All references to the object should be released. The method is thread-safe.

Parameters
xx coordinate of the chunk

◆ UnlockChunk2D()

virtual void SimplygonSDK::IChunkedImageData::UnlockChunk2D ( rid  x,
rid  y 
)
pure virtual

Unlocks a previously referenced chunk. All references to the object should be released. The method is thread-safe.

Parameters
xx coordinate of the chunk
yy coordinate of the chunk

◆ UnlockChunk3D()

virtual void SimplygonSDK::IChunkedImageData::UnlockChunk3D ( rid  x,
rid  y,
rid  z 
)
pure virtual

Unlocks a previously referenced chunk. All references to the object should be released. The method is thread-safe.

Parameters
xx coordinate of the chunk
yy coordinate of the chunk
zz coordinate of the chunk

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