3ds Max C++ API Reference
|
Contains classes and utilities for reading and writing images. More...
#include "BMMExport.h"
#include <WTypes.h>
#include <vfw.h>
#include <CommDlg.h>
#include "maxheap.h"
#include "palutil.h"
#include "linklist.h"
#include "gbuf.h"
#include "pixelbuf.h"
#include "path.h"
#include "containers/array.h"
#include "assetmanagement/AssetType.h"
#include "assetmanagement/IAssetAccessor.h"
#include "assetmanagement/AssetUser.h"
#include <Geom/matrix3.h>
#include "GetCOREInterface.h"
#include <Geom/box2.h>
#include "ColorManagement/IColorPipelineMgr.h"
#include "Util/CountedObject.h"
#include <memory>
Classes | |
class | bmmHistoryList |
class | BMM_IOHandler |
class | BMM_IOList |
This class is used for storing a linked list of Bitmap Manager BMM_IOHandler objects. More... | |
class | RenderInfo |
class | BitmapInfo |
Information about an image file or in-memory bitmap, including settings for loading/saving, gamma, etc. More... | |
class | BitmapIO |
Base class for image IO plugins. More... | |
class | BitmapStorage |
class | BitmapStorageLDR |
class | BitmapStorageHDR |
class | BitmapFilter |
class | BitmapDither |
class | BitmapNotify |
class | CropCallback |
class | Bitmap |
Class for image input and output. More... | |
struct | BMMVfbPalette |
class | BitmapFileInputDialog |
Custom browse bitmap file for input dialog. More... | |
class | BitmapFileOutputDialog |
Custom browse bitmap file for output dialog. More... | |
class | BitmapManager |
class | IBitmapProxyManager |
Bitmap Proxy Manager Function-Published Interface. More... | |
class | BitmapProxyTemporaryDisableGuard |
Useful Guard class for temporarily disabling bitmap proxies. More... | |
class | BitmapIOLayer |
class | BitmapLayerUtl |
class | IBitmapPager |
class | BitmapIOMetaData |
Extends BitmapIO with additional information for automatic gamma correction etc. More... | |
Macros | |
#define | INTBITS (sizeof(int) * 8) |
#define | IMGCLASSID 1 |
#define | CYCLECLASSID 2 |
#define | FLICCLASSID 5 |
#define | TARGACLASSID 6 |
#define | YUVCLASSID 7 |
#define | FBCLASSID 8 |
#define | WSDCLASSID 9 |
#define | IFLCLASSID 10 |
#define | BMPCLASSID 11 |
#define | JPEGCLASSID 12 |
#define | TARGAPLSCLASSID 13 |
#define | AVICLASSID 14 |
#define | RLACLASSID 15 |
#define | RPFCLASSID 16 |
#define | MPGCLASSID 17 |
#define | MAXOPENEXR_CLASSID Class_ID(0x12f95b5e, 0x62a60b57) |
#define | BMM_NO_TYPE 0 |
Not allocated yet. | |
#define | BMM_LINE_ART 1 |
1-bit monochrome image | |
#define | BMM_PALETTED 2 |
8-bit paletted image. | |
#define | BMM_GRAY_8 3 |
8-bit grayscale bitmap. | |
#define | BMM_GRAY_16 4 |
16-bit grayscale bitmap. | |
#define | BMM_TRUE_16 5 |
16-bit true color image. | |
#define | BMM_TRUE_32 6 |
32-bit color: 8 bits each for Red, Green, Blue, and Alpha. | |
#define | BMM_TRUE_64 7 |
64-bit color: 16 bits each for Red, Green, Blue, and Alpha. | |
#define | BMM_LOGLUV_32 13 |
This format uses a logarithmic encoding of luminance and U' and V' in the CIE perceptively uniform space. | |
#define | BMM_LOGLUV_24 14 |
This format is similar to BMM_LOGLUV_32 except is uses smaller values to give a span of 5 order of magnitude from 1/4096 to 16 in 1.1% luminance steps. | |
#define | BMM_LOGLUV_24A 15 |
This format is similar to BMM_LOGLUV_24, except the 8 bit alpha value is kept with the 24 bit color value in a single 32 bit word. | |
#define | BMM_REALPIX_32 16 |
The "Real Pixel" format. | |
#define | BMM_FLOAT_RGBA_32 17 |
32-bit floating-point per component (non-compressed), RGB with or without alpha | |
#define | BMM_FLOAT_GRAY_32 18 |
32-bit floating-point (non-compressed), monochrome/grayscale | |
#define | BMM_TRUE_24 8 |
24-bit color: 8 bits each for Red, Green, and Blue. | |
#define | BMM_TRUE_48 9 |
48-bit color: 16 bits each for Red, Green, and Blue. | |
#define | BMM_YUV_422 10 |
This is the YUV format - CCIR 601. | |
#define | BMM_BMP_4 11 |
Windows BMP 16-bit color bitmap. | |
#define | BMM_PAD_24 12 |
Padded 24-bit (in a 32 bit register). | |
#define | BMM_FLOAT_RGB_32 19 |
ONLY returned by the GetStoragePtr() method of BMM_FLOAT_RGBA_32 storage, NOT an actual storage type! When GetStoragePtr() returns this type, the data should be interpreted as three floating-point values, corresponding to Red, Green, and Blue (in this order). | |
#define | BMM_FLOAT_A_32 20 |
ONLY returned by the GetAlphaStoragePtr() method of BMM_FLOAT_RGBA_32 or BMM_FLOAT_GRAY_32 storage, NOT an actual storage type! When GetStorageAlphaPtr() returns this type, the data should be interpreted as floating-point values one value per pixel, corresponding to Alpha. | |
#define | MAX_DESCRIPTION 256 |
#define | MINGAMMA 0.2f |
#define | MAXGAMMA 5.0f |
#define | BMM_NOT_OPEN 0 |
Not opened yet. | |
#define | BMM_OPEN_R 1 |
Read-only. | |
#define | BMM_OPEN_W 2 |
Write-only. | |
#define | BMMIO_NONE 0 |
Not defined yet. | |
#define | BMMIO_READER (1<<0) |
Reads image files. | |
#define | BMMIO_WRITER (1<<1) |
Writes image files. | |
#define | BMMIO_EXTENSION (1<<2) |
Uses file extension (File Filter Type) | |
#define | BMMIO_MULTIFRAME (1<<3) |
"File" contains multiple frames (i.e. | |
#define | BMMIO_THREADED (1<<4) |
Not used. | |
#define | BMMIO_RANDOM_ACCESS (1<<5) |
Can read and/or write frames in any order. | |
#define | BMMIO_NON_CONCURRENT_ACCESS (1<<6) |
Device cannot handle multiple, concurrent requests (FLC, AVI, VTR's, etc) | |
#define | BMMIO_OWN_VIEWER (1<<7) |
Driver has its own image viewer for its image type as opposed to using the generic Virtual Frame Buffer. | |
#define | BMMIO_FRAMEBUFFER (1<<7) |
Frame Buffer Driver. | |
#define | BMMIO_GRABBER (1<<8) |
Device Grabs Video. | |
#define | BMMIO_INFODLG (1<<9) |
If the device is able to show its own image info dialogue this flag will be set. | |
#define | BMMIO_UNINTERRUPTIBLE (1<<10) |
If a driver cannot be started and stopped this flag should be set. | |
#define | BMMIO_EVALMATCH (1<<11) |
Drivers that may have a different image for a same given Max frame and same file/device name should define this and implement the EvalMatch() method. | |
#define | BMMIO_IFL (1<<28) |
If this flag is set, instead of calling the Load() method 3ds Max calls the GetImageName() method. | |
#define | BMMIO_CONTROLREAD (1<<29) |
There is only a single call to the plugin's control panel but the call specifies the nature of the operation going on. | |
#define | BMMIO_CONTROLWRITE (1<<30) |
Device Driver has Control Panel for Write Operations. | |
#define | BMMIO_CONTROLGENERIC (1<<31) |
Device Driver has a generic Control Panel. | |
#define | BMM_CLOSE_COMPLETE 0 |
Close and save the image. | |
#define | BMM_CLOSE_ABANDON 1 |
Many bitmap loader / savers do not make use of these flags. | |
#define | BMM_FILTER_NONE 0 |
Specifies no filtering should be performed. | |
#define | BMM_FILTER_DUMMY 1 |
No longer used. | |
#define | BMM_FILTER_SUM 2 |
Specifies summed area filtering. | |
#define | BMM_FILTER_PYRAMID 3 |
Specifies pyramidal filtering. | |
#define | BMM_FILTER_NOFLAGS ((DWORD)0) |
#define | BMM_FILTER_LERP_WRAP ((DWORD)(1<<0)) |
#define | BMM_FILTER_BUILD_FAILED ((DWORD)(1<<1)) |
#define | BMM_DITHER_NONE 0 |
#define | BMM_DITHER_FLOYD 1 |
#define | MAX_PYRAMID_DEPTH 12 |
#define | LAYER_DIM MAX_PYRAMID_DEPTH+1 |
#define | COPY_IMAGE_CROP 0 |
Copy image to current map size w/cropping if necessary. | |
#define | COPY_IMAGE_RESIZE_LO_QUALITY 1 |
This is a resize from 50x50 to 150x150 using this option. | |
#define | COPY_IMAGE_RESIZE_HI_QUALITY 2 |
This is a resize from 50x50 to 150x150 using this option. | |
#define | COPY_IMAGE_USE_CUSTOM 3 |
Resize based on Image Input Options (BitmapInfo *) | |
#define | MAP_NOFLAGS ((DWORD)0) |
The bitmap has none of the characteristics below. | |
#define | MAP_LOADING ((DWORD)(1<<0)) |
This bitmap / storage is currently being loaded, not finalized yet. | |
#define | MAP_HAS_ALPHA ((DWORD)(1<<1)) |
This flag can be checked from a BitmapInfo instance (bi.Flags()&MAP_HAS_ALPHA)), but not from a Bitmap instance (bmap->Flags() & MAP_HAS_ALPHA). | |
#define | MAP_ALPHA_PREMULTIPLIED ((DWORD)(1<<2)) |
The bitmap has pre-multiplied alpha. | |
#define | MAP_PALETTED ((DWORD)(1<<3)) |
The bitmap uses a palette (not true color). | |
#define | MAP_FRAME_SYSTEM_LOCKED ((DWORD)(1<<4)) |
This flag is no longer used. | |
#define | MAP_DITHERED ((DWORD)(1<<5)) |
The bitmap is dithered. | |
#define | MAP_FLIPPED ((DWORD)(1<<6)) |
The bitmap is flipped horizontally. | |
#define | MAP_INVERTED ((DWORD)(1<<7)) |
The bitmap is flipped vertically. | |
#define | MAP_USE_SCALE_COLORS ((DWORD)(1<<10)) |
Scale colors when high dynamic range values are out of gamut. | |
#define | MAP_PROXY ((DWORD)(1<<11)) |
When the proxy flag is set, the BitmapInfo is called a proxy info. | |
#define | MAP_PROXYREQUEST ((DWORD)(1<<12)) |
When the proxy request flag is set, the BitmapInfo is called a request info. | |
#define | MAP_USE_STORAGE_FILTER ((DWORD)(1 << 13)) |
Experimental: storage with this flag wants to handle texture filtering itself (bypassing filter plugins). | |
#define | MAP_STORAGE_CAN_SCALE ((DWORD)(1 << 14)) |
Experimental: storage with this flag can fill a passed buffer with the scaled image. | |
#define | MAP_WAS_UPDATED ((DWORD)(1<<28)) |
This flag indicates that PutPixels() was called and the Bitmap has been updated with new data. | |
#define | MAP_HAS_BGIMAGE ((DWORD)(1<<29)) |
internal use only | |
#define | MAP_LEGAL_DELETE ((DWORD)(1<<30)) |
internal use only | |
#define | MAP_VIEW_FILTERED ((DWORD)(1<<31)) |
Test stuff. | |
#define | MAP_ALL_FLAGS 0xFFFFFFFF |
#define | BMM_PROGRESS WM_USER + 0x120 |
#define | BMM_CHECKABORT WM_USER + 0x121 |
#define | BMM_TEXTMSG WM_USER + 0x122 |
#define | BMM_UNDEF_FRAME 0x7FFF0000 |
#define | BMM_CUSTOM_GAMMA ((DWORD)(1 << 0)) |
Flags that a Custom gamma is used. | |
#define | BMM_CUSTOM_SIZE ((DWORD)(1 << 1)) |
Custom size setting. | |
#define | BMM_CUSTOM_RESFIT ((DWORD)(1 << 2)) |
Bitmap is to be resized. | |
#define | BMM_CUSTOM_POS ((DWORD)(1 << 3)) |
Bitmap has a custom positioning. | |
#define | BMM_CUSTOM_FILEGAMMA ((DWORD)(1 << 4)) |
This flags if a loaded bitmap's gamma came from file, as well as flags the "Automatic" gamma correction mode for file load and save. | |
#define | BMM_CUSTOM_IFLENUMFILES ((DWORD)(1 << 5)) |
#define | BMM_CUSTOM_HDR_TYPE ((DWORD)(1 << 6)) |
Internal Use Only. | |
#define | BMM_CUSTOM_INFERREDGAMMA ((DWORD)(1 << 8)) |
Additional flag to BMM_CUSTOM_FILEGAMMA. Did gamma actually come from data stored in the file, or was it inferred from the file type? | |
#define | BMM_CUSTOM_NOGAMMAUI ((DWORD)(1 << 9)) |
Settings this flag causes the Bitmap file dialog to gray out the Gamma UI. | |
#define | BMM_CUSTOM_POSNW 0 |
Top Left. | |
#define | BMM_CUSTOM_POSN 1 |
Top Center. | |
#define | BMM_CUSTOM_POSNE 2 |
Top Right. | |
#define | BMM_CUSTOM_POSW 3 |
Middle Left. | |
#define | BMM_CUSTOM_POSCN 4 |
Center. | |
#define | BMM_CUSTOM_POSE 5 |
Middle Right. | |
#define | BMM_CUSTOM_POSSW 6 |
Bottom Left. | |
#define | BMM_CUSTOM_POSS 7 |
Bottom Center. | |
#define | BMM_CUSTOM_POSSE 8 |
Bottom Right. | |
#define | BMM_SEQ_WRAP 0 |
#define | BMM_SEQ_ERROR 1 |
#define | BMM_SEQ_HOLD 2 |
#define | BMM_CHANNEL_RED 0 |
#define | BMM_CHANNEL_GREEN 1 |
#define | BMM_CHANNEL_BLUE 3 |
#define | BMM_CHANNEL_ALPHA 4 |
#define | BMM_CHANNEL_Z 5 |
#define | BMM_CHANNEL_LUMINANCE 6 |
#define | BMNOTIFY_FLAG_STORAGE_CHANGE 0 |
#define | BMNOTIFY_FLAG_FILE_CHANGE 1 |
#define | BMM_SINGLEFRAME -2000000L |
#define | BMM_UL 1 |
#define | BMM_LL 2 |
#define | BMM_UR 3 |
#define | BMM_LR 4 |
#define | BMM_CN 5 |
#define | BMM_RND 10 |
#define | BMM_VPP 11 |
#define | BMM_VPS 12 |
#define | LG_NOLOG 0 |
#define | LG_FATAL ((DWORD)(1 << 0)) |
#define | LG_INFO ((DWORD)(1 << 1)) |
#define | LG_DEBUG ((DWORD)(1 << 2)) |
#define | LG_WARN ((DWORD)(1 << 3)) |
#define | BMM_ENABLE_SAVE_REGION 1 |
#define | BMM_DO_SAVE_REGION 2 |
#define | BMM_STORE_GEOREF_DATA 0 |
#define | BMM_RETRIEVE_GEOREF_DATA 1 |
#define | BMM_USE_CUSTOM_FILTERLIST 2 |
#define | BMM_SET_FILE_INPUT_SEQUENCE_FLAG 3 |
#define | BMM_GET_FILE_INPUT_SEQUENCE_FLAG 4 |
#define | BMM_FLUSH_RELATIVE_FILE_RESOLUTION_CACHE 5 |
#define | FPBITMAPPROXYMANAGER_INTERFACE_ID Interface_ID(0x24e22528, 0x601f3610) |
Interface ID of the IBitmapProxyManager interface. | |
#define | BMM_ASSET_GROUP 1 |
Bitmap asset declaration flags. | |
#define | BMM_ASSET_PROXY 2 |
The declared bitmap is proxy enabled. | |
#define | BITMAP_IOLAYER_CLASS Interface_ID(0x296b79ec,0x73e11944) |
#define | LAYER_INTERFACE Interface_ID(0x1563269c,0x7ec41d89) |
#define | I_LAYER_INTERFACE 0x000A1001 |
#define | IBITMAPPAGER_INTERFACE_ID Interface_ID(0x48e1041f, 0x34c86c51) |
Interface ID of the IBitmapPager interface. | |
#define | BITMAPIOMETADATA_INTERFACE_ID Interface_ID(0x56507912, 0x7e3c56db) |
Interface ID of the BitmapIOMetaData interface. | |
#define | BMMRES_SUCCESS 0 |
Success - No error occurred. | |
#define | BMMRES_ERRORTAKENCARE 1 |
Error - Function has already taken action to process the error. | |
#define | BMMRES_FILENOTFOUND 2 |
The file being accessed was not found. | |
#define | BMMRES_MEMORYERROR 3 |
Insufficient memory for the requested operation. | |
#define | BMMRES_NODRIVER 4 |
Device driver responsible for image not present. | |
#define | BMMRES_IOERROR 5 |
Input / Output error. | |
#define | BMMRES_INVALIDFORMAT 6 |
The file being access was not of the proper format for the requested operation. | |
#define | BMMRES_CORRUPTFILE 7 |
The file being accessed was corrupt. | |
#define | BMMRES_SINGLEFRAME 8 |
Results from a goto request on a single frame image. | |
#define | BMMRES_INVALIDUSAGE 9 |
Bad argument passed to function (Developer Mistake) | |
#define | BMMRES_RETRY 10 |
This is returned if the user selects Retry from the 3ds Max Image IO Error dialog box. | |
#define | BMMRES_NUMBEREDFILENAMEERROR 11 |
This can be passed as an error code to BitmapIO::ProcessImageIOError(). | |
#define | BMMRES_INTERNALERROR 12 |
An internal error occurred. | |
#define | BMMRES_BADFILEHEADER 13 |
A file header error occurred. | |
#define | BMMRES_CANTSTORAGE 14 |
This is used internally. | |
#define | BMMRES_BADFRAME 15 |
Invalid Frame Number Requested. | |
Typedefs | |
using | BMMRES = unsigned short |
Traps the use of int or BOOL. | |
using | MSTREntry = LinkedEntryT< MSTR > |
using | MSTRList = LinkedListT< MSTR, MSTREntry > |
using | PBITMAP_FX_CALLBACK = BOOL(WINAPI *)(LPVOID lpparam, int done, int total, const MCHAR *msg) |
using | BMM_IOHandlerEntry = LinkedEntryT< BMM_IOHandler > |
using | BMM_IOHandlerList = LinkedListT< BMM_IOHandler, BMM_IOHandlerEntry > |
Enumerations | |
enum | ProjectionType { ProjPerspective =0 , ProjParallel =1 } |
Functions | |
BMMExport IBitmapProxyManager * | GetBitmapProxyManager () |
Returns the Bitmap Proxy Manager singleton object. | |
BMMExport void | DeclareBitmapAsset (IEnumAuxAssetsCallback &enumCallback, IAssetAccessor &anAccessor, BitmapInfo *bitmapInfo, int flags=0) |
Declare a bitmap asset accessor to the specified callback. | |
BMMExport void | DeclareBitmapAsset (IEnumAuxAssetsCallback &enumCallback, IAssetAccessor &&anAccessor, BitmapInfo *bitmapInfo, int flags=0) |
This overload was added to allow passing temporary IAssetAccessor to DeclareBitmapAsset. | |
int | ValidBitmapType (int type) |
BMMExport BitmapStorage * | BMMCreateStorage (BitmapManager *manager, UINT type) |
BMMExport BitmapFilter * | BMMCreateFilter (BitmapManager *manager, UINT type) |
BMMExport BitmapDither * | BMMCreateDither (BitmapManager *manager, UINT type) |
BMMExport int | BMMCalcPalette (Bitmap *map, int colors, BMM_Color_48 *palette) |
BMMExport BYTE | BMMClosestColor (BMM_Color_64 *color, BMM_Color_48 *palette, int colors) |
BMMExport const MCHAR * | BMMGetBitmapTypeDescription (int bitmapType, DWORD bitmapFlags) |
BMMExport void | OpenBMM (BMMInterface *i) |
BMMExport void | CloseBMM () |
INT_PTR CALLBACK | BMMGammaDlgProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) |
void | ExtractExtension (const MCHAR *string, MCHAR *ext, size_t extSize) |
BMMExport int | BMMCreateNumberedFilename (const MCHAR *namein, int frame, MCHAR *nameout) |
Create a filename appended by the specified frame number. | |
BMMExport int | BMMFindNumberedFilenames (const MaxSDK::Util::Path &baseFilename, MaxSDK::Array< MaxSDK::Util::Path > &foundFiles) |
Retrieve a list of existing files in a sequence that matches the base filename and numbering of the specified filename. | |
BMMExport int | BMMGetFullFilename (BitmapInfo *bi) |
These functions search the system for a bitmap. | |
BMMExport BOOL | BMMGetFullFilename (const MCHAR *namein, MCHAR *nameout, size_t nameoutSize) |
Resolves the given input name (namein) into the given output (nameout) | |
BMMExport BOOL | BMMIsFile (const MCHAR *filename) |
BMMExport void | BMMSplitFilename (const MCHAR *name, MCHAR *directory, size_t directorySize, MCHAR *filename, size_t filenameSize, MCHAR *extension, size_t extensionSize) |
Splits up a file path into three strings, the directory name, file name, and file extension. | |
BMMExport LPMSTR | BMMGetLastErrorText (LPMSTR lpszBuf, DWORD dwSize) |
BMMExport Quantizer * | BMMNewQuantizer () |
BMMExport void | BMMAppendSlash (MCHAR *path) |
This function appends a slash character to the end of the path passed unless one already exists. | |
BMMExport void | BMMRemoveSlash (MCHAR *path) |
This function removes the slash character from the end of the path passed if present. | |
BMMExport void | BMMAppendSlash (MSTR &path) |
This function appends a slash character to the end of the path passed unless one already exists. | |
BMMExport void | BMMRemoveSlash (MSTR &path) |
This function removes the slash character from the end of the path passed if present. | |
BMMExport BOOL | BMMGetUniversalName (MCHAR *out_uncname, size_t in_uncnameSize, const MCHAR *in_path) |
BMMExport BOOL | BMMFindNetworkShare (const MCHAR *in_localpath, MCHAR *out_sharename, MCHAR *out_sharepath) |
BMMExport BOOL | BMMGetLocalShare (const MCHAR *local_path, MCHAR *share) |
BMMExport ColorPacker * | BMMNewColorPacker (int w, BMM_Color_48 *pal, int npal, BYTE *remap=nullptr) |
BMMExport void | FixPaletteForWindows (BMM_Color_48 *pal, BMM_Color_48 *newpal, int ncols, BYTE *remap=nullptr) |
IBitmapPager * | GetIBitmapPager () |
Returns the Bitmap Pager singleton object. | |
Variables | |
int | TheSystemFrame |
External data. | |
BMMExport BitmapManager * | TheManager |
The Primary Bitmap Manager Object. | |
Contains classes and utilities for reading and writing images.
#define INTBITS (sizeof(int) * 8) |
#define IMGCLASSID 1 |
#define CYCLECLASSID 2 |
#define FLICCLASSID 5 |
#define TARGACLASSID 6 |
#define YUVCLASSID 7 |
#define FBCLASSID 8 |
#define WSDCLASSID 9 |
#define IFLCLASSID 10 |
#define BMPCLASSID 11 |
#define JPEGCLASSID 12 |
#define TARGAPLSCLASSID 13 |
#define AVICLASSID 14 |
#define RLACLASSID 15 |
#define RPFCLASSID 16 |
#define MPGCLASSID 17 |
#define MAXOPENEXR_CLASSID Class_ID(0x12f95b5e, 0x62a60b57) |
#define MAX_DESCRIPTION 256 |
#define MINGAMMA 0.2f |
#define MAXGAMMA 5.0f |
#define BMMRES_SUCCESS 0 |
Success - No error occurred.
#define BMMRES_ERRORTAKENCARE 1 |
Error - Function has already taken action to process the error.
#define BMMRES_FILENOTFOUND 2 |
The file being accessed was not found.
#define BMMRES_MEMORYERROR 3 |
Insufficient memory for the requested operation.
#define BMMRES_NODRIVER 4 |
Device driver responsible for image not present.
#define BMMRES_IOERROR 5 |
Input / Output error.
#define BMMRES_INVALIDFORMAT 6 |
The file being access was not of the proper format for the requested operation.
#define BMMRES_CORRUPTFILE 7 |
The file being accessed was corrupt.
#define BMMRES_SINGLEFRAME 8 |
Results from a goto request on a single frame image.
#define BMMRES_INVALIDUSAGE 9 |
Bad argument passed to function (Developer Mistake)
#define BMMRES_RETRY 10 |
This is returned if the user selects Retry from the 3ds Max Image IO Error dialog box.
This dialog is presented by the method BitmapIO::ProcessImageIOError(). User selected "Retry" from error dialogue.
#define BMMRES_NUMBEREDFILENAMEERROR 11 |
This can be passed as an error code to BitmapIO::ProcessImageIOError().
#define BMMRES_INTERNALERROR 12 |
An internal error occurred.
#define BMMRES_BADFILEHEADER 13 |
A file header error occurred.
#define BMMRES_CANTSTORAGE 14 |
This is used internally.
#define BMMRES_BADFRAME 15 |
Invalid Frame Number Requested.
#define BMM_FILTER_NOFLAGS ((DWORD)0) |
#define BMM_FILTER_LERP_WRAP ((DWORD)(1<<0)) |
#define BMM_FILTER_BUILD_FAILED ((DWORD)(1<<1)) |
#define BMM_DITHER_NONE 0 |
#define BMM_DITHER_FLOYD 1 |
#define MAX_PYRAMID_DEPTH 12 |
#define LAYER_DIM MAX_PYRAMID_DEPTH+1 |
#define BMM_PROGRESS WM_USER + 0x120 |
#define BMM_CHECKABORT WM_USER + 0x121 |
#define BMM_TEXTMSG WM_USER + 0x122 |
#define BMM_UNDEF_FRAME 0x7FFF0000 |
#define BMM_SEQ_WRAP 0 |
#define BMM_SEQ_ERROR 1 |
#define BMM_SEQ_HOLD 2 |
#define BMM_CHANNEL_RED 0 |
#define BMM_CHANNEL_GREEN 1 |
#define BMM_CHANNEL_BLUE 3 |
#define BMM_CHANNEL_ALPHA 4 |
#define BMM_CHANNEL_Z 5 |
#define BMM_CHANNEL_LUMINANCE 6 |
#define BMNOTIFY_FLAG_STORAGE_CHANGE 0 |
#define BMNOTIFY_FLAG_FILE_CHANGE 1 |
#define BMM_SINGLEFRAME -2000000L |
#define BMM_UL 1 |
#define BMM_LL 2 |
#define BMM_UR 3 |
#define BMM_LR 4 |
#define BMM_CN 5 |
#define BMM_RND 10 |
#define BMM_VPP 11 |
#define BMM_VPS 12 |
#define LG_NOLOG 0 |
#define LG_FATAL ((DWORD)(1 << 0)) |
#define LG_INFO ((DWORD)(1 << 1)) |
#define LG_DEBUG ((DWORD)(1 << 2)) |
#define LG_WARN ((DWORD)(1 << 3)) |
#define BMM_ENABLE_SAVE_REGION 1 |
#define BMM_DO_SAVE_REGION 2 |
#define BMM_STORE_GEOREF_DATA 0 |
#define BMM_RETRIEVE_GEOREF_DATA 1 |
#define BMM_USE_CUSTOM_FILTERLIST 2 |
#define BMM_SET_FILE_INPUT_SEQUENCE_FLAG 3 |
#define BMM_GET_FILE_INPUT_SEQUENCE_FLAG 4 |
#define BMM_FLUSH_RELATIVE_FILE_RESOLUTION_CACHE 5 |
#define FPBITMAPPROXYMANAGER_INTERFACE_ID Interface_ID(0x24e22528, 0x601f3610) |
Interface ID of the IBitmapProxyManager interface.
#define BMM_ASSET_GROUP 1 |
Bitmap asset declaration flags.
The declared bitmap represents a group. You must call EndGroup on the enum callback after you are finished grouping assets.
#define BMM_ASSET_PROXY 2 |
The declared bitmap is proxy enabled.
#define BITMAP_IOLAYER_CLASS Interface_ID(0x296b79ec,0x73e11944) |
#define LAYER_INTERFACE Interface_ID(0x1563269c,0x7ec41d89) |
#define I_LAYER_INTERFACE 0x000A1001 |
#define IBITMAPPAGER_INTERFACE_ID Interface_ID(0x48e1041f, 0x34c86c51) |
Interface ID of the IBitmapPager interface.
#define BITMAPIOMETADATA_INTERFACE_ID Interface_ID(0x56507912, 0x7e3c56db) |
Interface ID of the BitmapIOMetaData interface.
using BMMRES = unsigned short |
Traps the use of int or BOOL.
using MSTREntry = LinkedEntryT<MSTR> |
using MSTRList = LinkedListT<MSTR, MSTREntry> |
using PBITMAP_FX_CALLBACK = BOOL (WINAPI*)(LPVOID lpparam, int done, int total, const MCHAR* msg) |
using BMM_IOHandlerEntry = LinkedEntryT<BMM_IOHandler> |
enum ProjectionType |
BMMExport IBitmapProxyManager * GetBitmapProxyManager | ( | ) |
Returns the Bitmap Proxy Manager singleton object.
BMMExport void DeclareBitmapAsset | ( | IEnumAuxAssetsCallback & | enumCallback, |
IAssetAccessor & | anAccessor, | ||
BitmapInfo * | bitmapInfo, | ||
int | flags = 0 |
||
) |
Declare a bitmap asset accessor to the specified callback.
Decorates the specified asset accessor as a bitmap enabled asset accessor before declaring it to the specified enumeration callback.
[in] | enumCallback | The EnumAuxFiles callback to declare the asset to. |
[in] | anAccessor | The original asset accessor to decorate with proxy settings. |
[in] | bitmapInfo | The bitmap info of the bitmap. If NULL, the declared bitmap will always be treated as a single frame, no pi-data bitmap. |
[in] | flags | Specify flags that define how the specified callback will declare the decorated accessor. Also controls how the accessor will be decorated. |
BMMExport void DeclareBitmapAsset | ( | IEnumAuxAssetsCallback & | enumCallback, |
IAssetAccessor && | anAccessor, | ||
BitmapInfo * | bitmapInfo, | ||
int | flags = 0 |
||
) |
This overload was added to allow passing temporary IAssetAccessor to DeclareBitmapAsset.
BMMExport BitmapStorage * BMMCreateStorage | ( | BitmapManager * | manager, |
UINT | type | ||
) |
BMMExport BitmapFilter * BMMCreateFilter | ( | BitmapManager * | manager, |
UINT | type | ||
) |
BMMExport BitmapDither * BMMCreateDither | ( | BitmapManager * | manager, |
UINT | type | ||
) |
INT_PTR CALLBACK BMMGammaDlgProc | ( | HWND | hWnd, |
UINT | message, | ||
WPARAM | wParam, | ||
LPARAM | lParam | ||
) |
Create a filename appended by the specified frame number.
This function will pad the filename with zeros.
[in] | namein | A pointer to the buffer containing the base filename from which to create a numbered filename. |
[in] | frame | The frame number to append. Can be BMM_SINGLEFRAME for convenience, which results in the original filename. |
[out] | nameout | A pointer to the buffer in which to store the created filename. This buffer must be large enough to accommodate the original filename, the digits of the framenumber, any zero-padding, and the file extension. |
BMMExport int BMMFindNumberedFilenames | ( | const MaxSDK::Util::Path & | baseFilename, |
MaxSDK::Array< MaxSDK::Util::Path > & | foundFiles | ||
) |
Retrieve a list of existing files in a sequence that matches the base filename and numbering of the specified filename.
[in] | baseFilename | The filename to match. |
[out] | foundFiles | The list of matching files found. This list is cleared by the function. |
BMMExport void BMMSplitFilename | ( | const MCHAR * | name, |
MCHAR * | directory, | ||
size_t | directorySize, | ||
MCHAR * | filename, | ||
size_t | filenameSize, | ||
MCHAR * | extension, | ||
size_t | extensionSize | ||
) |
Splits up a file path into three strings, the directory name, file name, and file extension.
The three out parameters are allowed to be NULL. For non-NULL parameters you must specify the size in characters of the buffer. If the buffer is not big enough to hold the output (including a null terminator), the result is truncated.
[in] | name | The full path to the file to be split |
[out] | directory | A string containing the directory portion of the file path |
[in] | directorySize | The size in characters of the directory buffer |
[out] | filename | A string containing the file name portion of the file path |
[in] | filenameSize | The size in characters of the filename buffer |
[out] | extension | A string containing the file extension portion of the file path |
[in] | extensionSize | The size in characters of the extension buffer |
This function appends a slash character to the end of the path passed unless one already exists.
[in,out] | path | The path name to append. If NULL, no operation. |
This function removes the slash character from the end of the path passed if present.
[in,out] | path | The path name to append. If NULL, no operation. |
This function appends a slash character to the end of the path passed unless one already exists.
[in,out] | path | The path name to append. |
This function removes the slash character from the end of the path passed if present.
[in,out] | path | The path name to append. If NULL, no operation. |
BMMExport BOOL BMMGetUniversalName | ( | MCHAR * | out_uncname, |
size_t | in_uncnameSize, | ||
const MCHAR * | in_path | ||
) |
BMMExport BOOL BMMFindNetworkShare | ( | const MCHAR * | in_localpath, |
MCHAR * | out_sharename, | ||
MCHAR * | out_sharepath | ||
) |
BMMExport ColorPacker * BMMNewColorPacker | ( | int | w, |
BMM_Color_48 * | pal, | ||
int | npal, | ||
BYTE * | remap = nullptr |
||
) |
BMMExport void FixPaletteForWindows | ( | BMM_Color_48 * | pal, |
BMM_Color_48 * | newpal, | ||
int | ncols, | ||
BYTE * | remap = nullptr |
||
) |
|
inline |
Returns the Bitmap Pager singleton object.
|
extern |
External data.
|
extern |