3ds Max C++ API Reference
BMM_IOList Class Reference

This class is used for storing a linked list of Bitmap Manager BMM_IOHandler objects. More...

#include <bitmap.h>

+ Inheritance diagram for BMM_IOList:

Public Member Functions

 BMM_IOList ()
 
BOOL Listed (BOOL f)
 
BOOL Listed ()
 
BMMExport int FindDevice (const MCHAR *name)
 
BMMExport int FindDeviceFromFilename (const MCHAR *name)
 
BMMExport int ResolveDevice (BitmapInfo *bi)
 
BMMExport DWORD GetDeviceCapabilities (const MCHAR *name)
 
BMMExport BitmapIOCreateDevInstance (const MCHAR *d)
 
BMMExport BitmapIOCreateDevInstance (int idx)
 
- Public Member Functions inherited from LinkedListT< T, TE >
 LinkedListT ()
 
 ~LinkedListT ()
 
void New ()
 
int Count ()
 
void Append (T &item)
 
T & operator[] (int index)
 
LinkedListToperator= (LinkedListT &from)
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 

Detailed Description

This class is used for storing a linked list of Bitmap Manager BMM_IOHandler objects.

It provides methods for working with IO module devices derived from BitmapIO. All methods of this class are implemented by the system.

See also
Class BMM_IOHandlerList, Class BitmapIO.

Constructor & Destructor Documentation

◆ BMM_IOList()

BMM_IOList ( )
inline
Remarks
Constructor. The flag that indicates that the list has been built is set to FALSE.
468 { listed = FALSE; }

Member Function Documentation

◆ Listed() [1/2]

BOOL Listed ( BOOL  f)
inline
Remarks
Sets the state to indicate the list of IO modules has been built.
Parameters:
BOOL f

TRUE to indicate the list exists; otherwise FALSE.
475 { listed = f; return (listed);};

◆ Listed() [2/2]

BOOL Listed ( )
inline
Remarks
Indicates if the list of IO modules has been built. Returns TRUE if it has; otherwise FALSE.
478 { return (listed);};

◆ FindDevice()

BMMExport int FindDevice ( const MCHAR name)
Remarks
Scans the list searching for a match for the description string passed.
Parameters:
const MCHAR *name

The long description string of the device to find.
Returns
The index in the IO list of the device. If not found, -1 is returned.

◆ FindDeviceFromFilename()

BMMExport int FindDeviceFromFilename ( const MCHAR name)
Remarks
This method scans the IO module list searching for a match for the extension in the filename passed.
Parameters:
const MCHAR *name

The filename to check.
Returns
The index in the list of IO modules or -1 if not found.

◆ ResolveDevice()

BMMExport int ResolveDevice ( BitmapInfo bi)
Remarks
Given a BitmapInfo record, this method finds the device responsible for this image. If bi.Name() is empty, a device is listed in bi.Device(). In that case we simply use the FindDevice() function which returns an index to the device based on a given device name.

If bi.Name() isn't empty, it means this is a file and we must search for a device based on a filename. For that we use FindDeviceFromFilename(). If we find a device, we take the opportunity to fill in the device name in the BitmapInfo record (using SetDevice()).
Parameters:
BitmapInfo *bi

The BitmapInfo for the image whose device you wish to find.
Returns
The index in the list of IO modules or -1 if not found.

◆ GetDeviceCapabilities()

BMMExport DWORD GetDeviceCapabilities ( const MCHAR name)
Remarks
Returns the capability flags of the device whose long description string is passed.
Parameters:
const MCHAR *name

The long description flag.
Returns
See BitmapIO Capability Flags.

◆ CreateDevInstance() [1/2]

BMMExport BitmapIO* CreateDevInstance ( const MCHAR d)
Remarks
This creates an instance of the device plug-in class by calling Create() on the class descriptor. Make sure to delete the instance after use.
Parameters:
const MCHAR *d

The long description string.
Returns
A pointer to an instance of the IO module.

◆ CreateDevInstance() [2/2]

BMMExport BitmapIO* CreateDevInstance ( int  idx)
Remarks
This creates an instance of the device plug-in class by calling Create() on the class descriptor. Make sure to delete the instance after use.
Parameters:
int idx

The index in the IO module list of the device.
Returns
A pointer to an instance of the IO module.