|  | 
ai Namespace ReferenceUsage:.  
More... 
| Namespaces |  | namespace | ArtboardUtils |  |  | The ArtboardUtilsobject is a collection of utility functions for common operations. 
 |  | namespace | Contract |  | namespace | ContractPolicy |  | namespace | detail |  | namespace | details |  |  | String Literal Class -------------------- Replacement for: const char* const kWidgetId = "SomeMagicString";.  
 |  | namespace | DocumentUtils |  | namespace | PointTraits |  | namespace | RectTraits |  | namespace | RepeatArtUtils |  | Classes |  | struct | ArtObjectsChangedData |  |  | struct to keep list of the UUIDs of inserted, removed, and modified objects  More... 
 |  | struct | ArtObjectsChangedNotifierData |  |  | struct for notification data of kAIArtObjectsChangedNotifier  More... 
 |  | class | AutoCoordinateSystem |  |  | A stack object used to change the coordinate system to be used by Illustrator API functions.  More... 
 |  | class | Error |  |  | Exception class thrown by C++ classes.  More... 
 |  | class | LogicError |  | struct | CompileTimeChecker |  |  | Provides compile-time errors that are similar to run-time assertions.  More... 
 |  | struct | CompileTimeChecker< false > |  |  | There is no instantiation of CompileTimeChecker for a false value.  More... 
 |  | class | ArtboardProperties |  |  | The ArtboardPropertiesobject encapsulates all the attributes associated with an artboard.  More...
 |  | class | ArtboardList |  |  | The ArtboardListobject is the interface to the set of artboards associated with a document.  More...
 |  | class | ArtMatcher |  |  | A stack based wrapper class for inquiring about the selection and matched art over AIMatchingArtSuite.  More... 
 |  | class | ArtSet |  |  | A stack based wrapper class over AIArtSetSuite and AIArtSetGeneratorSuite.  More... 
 |  | class | SPAlloc |  |  | Allocator object class for the AutoBuffer template.  More... 
 |  | class | AutoBuffer |  |  | An AutoBufferclass object allows you to retrieve string contents into a buffer, or to pass or retrieve any array of data types, without having to manage the buffer's memory.  More...
 |  | struct | PlatformTraits |  |  | Encoding characteristics and functions for platform encoding.  More... 
 |  | struct | UTF8Traits |  |  | Encoding characteristics and functions for UTF-8 encoding.  More... 
 |  | struct | UTF16Traits |  |  | Encoding characteristics and functions for UTF-16 encoding.  More... 
 |  | class | EncodedString |  |  | This class represents an encoded string.  More... 
 |  | class | ColorSpace |  |  | This class represents an Illustrator color space.  More... 
 |  | class | ColorSpaceList |  |  | This class represents a list of color spaces for Illustrator.  More... 
 |  | class | CopyScope |  |  | A wrapper class for the AICopyScopeHandleobject.  More...
 |  | class | BaseDataFilter |  | class | FileDataFilter |  | class | ZDataFilter |  | class | ZStdDataFilter |  | class | AsyncDataFilter |  | class | A85DataFilter |  | class | BufferDataFilter |  | class | ResourceDataFilter |  | class | VMDataFilter |  | class | BlockDataFilter |  | class | ScopedDataFilter |  | class | IDataFilter |  |  | A stack-based wrapper class over AIDataFilterSuite.  More... 
 |  | class | Entry |  | class | Array |  | class | Dictionary |  | class | FilePath |  | class | GlobalUnicodeString |  | class | LiteralString |  | class | Locale |  |  | This class represents a predefined set of locales used in Illustrator, with a unique identifying code and associated descriptive string for the language and region.  More... 
 |  | class | Paint |  |  | This class describes how an art object is painted using a fully-defined paint.  More... 
 |  | class | PartialPaint |  |  | This class describes how an art object is painted using a partially-defined paint.  More... 
 |  | struct | Absolute |  | struct | Absolute< AIReal > |  | class | Ref |  |  | Many object types are reference counted, such as dictionaries ( AIDictionaryRef) and arrays (AIArrayRef).  More...
 |  | class | BooleanAttributeCache |  |  | BooleanAttributeCache: A class to store boolean attributes.  More... 
 |  | class | CacheScopeManager |  |  | CacheScopeManager: Instantiate this class to ensure a valid Cache.  More... 
 |  | class | CacheScopeSuppressor |  |  | CacheScopeSuppressor: Prevents caching in a scope.  More... 
 |  | class | NumberFormat |  |  | Class used for locale-dependent number formatting.  More... 
 |  | class | const_PStr |  |  | Constant Pascal string adapter object.  More... 
 |  | class | PStr |  |  | Mutable Pascal string adapter object.  More... 
 |  | class | WCHARStr |  |  | In Windows only.  More... 
 |  | class | UnicodeString |  |  | UnicodeStringobjects provide basic string functionality for Unicode-based strings, similar to that provided by the standard C string library.  More...
 |  | class | uuid |  |  | Class to keep the data of UUID associated with an art object.  More... 
 |  | Typedefs |  | typedef enum ai::Quadrant | Quadrant |  | typedef ai::int32 | ArtboardID |  |  | Artboard identifier. 
 |  | typedef CAIArtboardProperties * | ArtboardRef |  |  | Artboard object. 
 |  | typedef CAIArtboardList * | ArtboardListRef |  |  | Artboard list object. 
 |  | typedef EncodedString < PlatformTraits >
 | PlatformString |  |  | Encoded string type: platform encoding. 
 |  | typedef EncodedString< UTF8Traits > | UTF8String |  |  | Encoded string type: UTF-8 encoding. 
 |  | typedef EncodedString < UTF16Traits >
 | UTF16String |  |  | Encoded string type: UTF-16 encoding. 
 |  | typedef Locale::ID | LocaleID |  |  | Locale unique identifying code. 
 |  | Enumerations |  | enum | PlaceMethod { kAsIs, 
kFill, 
kFit, 
kConform,
 kReconform
 }
 |  |  | Methods for positioning and sizing a linked object. More... 
 |  | enum | PlaceAlignment { kTopLeft, 
kMidLeft, 
kBotLeft, 
kTopMid,
 kMidMid, 
kBotMid, 
kTopRight, 
kMidRight,
 kBotRight
 }
 |  |  | Alignment options for positioning a linked object. More... 
 |  | enum | RasterColorSpace { kColorSpaceHasAlpha =  0x10, 
kGrayColorSpace =  0, 
kRGBColorSpace =  1, 
kCMYKColorSpace =  2,
 kLabColorSpace =  3, 
kSeparationColorSpace =  4, 
kNChannelColorSpace =  5, 
kIndexedColorSpace =  6,
 kAlphaGrayColorSpace =  (kGrayColorSpace | kColorSpaceHasAlpha), 
kAlphaRGBColorSpace =  (kRGBColorSpace | kColorSpaceHasAlpha), 
kAlphaCMYKColorSpace =  (kCMYKColorSpace | kColorSpaceHasAlpha), 
kAlphaLabColorSpace =  (kLabColorSpace | kColorSpaceHasAlpha),
 kAlphaSeparationColorSpace =  (kSeparationColorSpace | kColorSpaceHasAlpha), 
kAlphaNChannelColorSpace =  (kNChannelColorSpace | kColorSpaceHasAlpha), 
kAlphaIndexedColorSpace =  (kIndexedColorSpace | kColorSpaceHasAlpha), 
kInvalidColorSpace =  0xFF
 }
 |  |  | Color models for raster data. More... 
 |  | enum | RasterDataState { kAIRasterNoData =  0, 
kAIRasterLinkData =  1, 
kAIRasterEditedData =  2
 } |  |  | Data states for More...AIRasterLink::datastate. 
 |  | enum | ESliceOrigin { eSliceOrigin_autoGenerated, 
eSliceOrigin_layerGenerated, 
eSliceOrigin_userGenerated, 
eSliceOrigin_Unknown =  kForceEnumSize
 } |  |  | Identifies how a slice was created. More... 
 |  | enum | ESliceType { eSliceType_NoImage, 
eSliceType_Image, 
eSliceType_Rollover, 
eSliceType_LinkedText,
 eSliceType_Unknown =  kForceEnumSize
 }
 |  |  | Identifies the type of a slice; see More...ASSliceSettings. 
 |  | enum | ESliceHorzAlign { eSliceHorzAlign_Default =  0, 
eSliceHorzAlign_Left, 
eSliceHorzAlign_Center, 
eSliceHorzAlign_Right,
 eSliceHorzAlign_Unknown =  kForceEnumSize
 }
 |  |  | Horizontal alignment types for slices; see More...ASSliceSettings. 
 |  | enum | ESliceVertAlign { eSliceVertAlign_Default =  0, 
eSliceVertAlign_Top, 
eSliceVertAlign_Middle, 
eSliceVertAlign_Bottom,
 eSliceVertAlign_Baseline, 
eSlicevertAlign_Unknown =  kForceEnumSize
 }
 |  |  | Vertical alignment types for slices; see More...ASSliceSettings. 
 |  | enum | ESliceBGColorType { eSliceBGColorType_Color =  0, 
eSliceBGColorType_None, 
eSliceBGColorType_Matte, 
eSliceBGColorType_Unknown =  kForceEnumSize
 } |  |  | Background color types for slices; see More...ASSliceSettings. 
 |  | enum | Quadrant { kFirstQuadrant =  1, 
kSecondQuadrant, 
kThirdQuadrant, 
kFourthQuadrant
 } |  | enum | IconType { kInvalid =  0, 
kSVG, 
kPNG
 } |  |  | Icon Types to be given by clients. More... 
 |  | enum | IncrementPolicy { DoIncrement, 
DoNotIncrement
 } |  | Functions |  | template<typename T > |  | const T & | Min (const T &obj1, const T &obj2) |  | template<typename T > |  | const T & | Max (const T &obj1, const T &obj2) |  | template<typename T , typename Policy  = Contract::ThrowPolicy> |  | constexpr void | Expects (T condition, const char *msg=Contract::kDefaultPreconditionMsg, Policy policy=ContractPolicy::kThrow) |  | template<typename T , typename Policy > |  | constexpr void | Expects (T condition, Policy policy) |  | template<typename T , typename Policy  = Contract::ThrowPolicy> |  | constexpr void | Ensures (T condition, const char *msg=Contract::kDefaultPostconditionMsg, Policy policy=ContractPolicy::kThrow) |  | template<typename T , typename Policy > |  | constexpr void | Ensures (T condition, Policy policy) |  | template<typename T , typename Policy  = Contract::ThrowPolicy> |  | constexpr void | EnsureRange (const T &value, const char *msg=Contract::kDefaultPostconditionMsg, Policy policy=ContractPolicy::kThrow) |  | void | check_ai_error (AIErr err) |  |  | Validate an AIErr error code. 
 |  | template<typename T > |  | void | check_precondition (T condition, AIErr err=kBadParameterErr) |  |  | Validate that condition is met. 
 |  | template<class T > |  | void | NOTUSED (const T &result) |  |  | Inline method to suppress unused variable warning/error. 
 |  | std::unique_ptr< ai::IDataFilter > | CreateFileDataFilter (const ai::FilePath &filePath, IDataFilter::Mode filterMode, size_t creator=0, ai::int32 type=0, std::unique_ptr< IDataFilter > nextFilter=nullptr) |  |  | Create a stack-based File Data Filter. 
 |  | std::unique_ptr< ai::IDataFilter > | CreateResourceDataFilter (SPPluginRef plugin, ai::int32 type, ai::int32 id, const char *name, std::unique_ptr< IDataFilter > nextFilter=nullptr) |  |  | Create a stack-based Resource Data Filter. 
 |  | std::unique_ptr< ai::IDataFilter > | CreateZDataFilter (IDataFilter::Mode filterMode, std::unique_ptr< IDataFilter > nextFilter=nullptr) |  |  | Create a stack-based Zlib Data Filter. 
 |  | std::unique_ptr< ai::IDataFilter > | CreateZStdDataFilter (IDataFilter::Mode filterMode, std::unique_ptr< IDataFilter > nextFilter=nullptr) |  |  | Create a stack-based ZStandard Data Filter. 
 |  | std::unique_ptr< IDataFilter > | CreateAsyncDataFilter (IDataFilter::Mode filterMode, std::unique_ptr< IDataFilter > &&asyncFilter, const ai::uint32 prefetchSize, const ai::uint32 outputSize, std::unique_ptr< IDataFilter > nextFilter=nullptr) |  |  | Create a stack-based Async Data Filter.Takes a asyncFilter and makes it run on a background thread. 
 |  | std::unique_ptr< ai::IDataFilter > | CreateA85DataFilter (IDataFilter::Mode filterMode, const char *prefix=nullptr, std::unique_ptr< IDataFilter > nextFilter=nullptr) |  |  | Create a stack-based A85 Data Filter. 
 |  | std::unique_ptr< ai::IDataFilter > | CreateBufferDataFilter (size_t size, std::unique_ptr< IDataFilter > nextFilter=nullptr) |  |  | Create a stack-based buffered Data Filter. 
 |  | std::unique_ptr< IDataFilter > | CreateVMDataFilter (size_t initialSize, std::unique_ptr< IDataFilter > nextFilter=nullptr) |  |  | Create a stack-based VM Data Filter. 
 |  | std::unique_ptr< ai::IDataFilter > | CreateBlockDataFilter (void *address, size_t size, std::unique_ptr< IDataFilter > nextFilter=nullptr) |  |  | Create a stack-based Block Data Filter. 
 |  | std::unique_ptr< ai::IDataFilter > | CreateScopedDataFilter (AIDataFilter *filter, IDataFilter::Mode filterMode, std::unique_ptr< IDataFilter > nextFilter=nullptr) |  |  | Create a stack-based data filter from an existing AIDataFilter*. 
 |  | AIErr | CopyDataFilter (IDataFilter &srcFilter, IDataFilter &dstFilter, size_t bufferSize=4096, bool seekToBegin=true) |  |  | Copies contents from the source data filter to the destination data filter. 
 |  | bool | HasDictionary (AIArtHandle art) AINOEXCEPT |  | bool | IsDictionaryEmpty (AIArtHandle art) AINOEXCEPT |  | constexpr bool | operator< (ai::LiteralString lhs, ai::LiteralString rhs) AINOEXCEPT |  |  | Lexicographical comparison. 
 |  | constexpr bool | operator> (ai::LiteralString lhs, ai::LiteralString rhs) AINOEXCEPT |  |  | Lexicographical comparison. 
 |  | constexpr bool | operator== (ai::LiteralString lhs, ai::LiteralString rhs) AINOEXCEPT |  | bool | operator== (ai::LiteralString lhs, const char *rhs) |  | bool | operator== (const char *lhs, ai::LiteralString rhs) |  | AICountedObjectSuite * | GetAICountedObjectSuitePtr () |  |  | Returns a valid reference to the counted-object suite, which can be passed to ai::IAIReffunctions.
 |  | void | Replace (const RefReplaceParam &) |  | template<class X > |  | bool | operator== (const Ref< X > &ref, std::nullptr_t) AINOEXCEPT |  | template<class X > |  | bool | operator== (std::nullptr_t, const Ref< X > &ref) AINOEXCEPT |  | template<class X > |  | bool | operator!= (const Ref< X > &ref, std::nullptr_t) AINOEXCEPT |  | template<class X > |  | bool | operator!= (std::nullptr_t, const Ref< X > &ref) AINOEXCEPT |  | template<typename... Args> |  | std::string | StreamArgs (const Args &...args) |  | template<typename T > |  | std::string | to_string (const T &value) |  | UnicodeString | operator+ (UnicodeString lhs, const UnicodeString &rhs) |  |  | Append operator. 
 |  | Variables |  | const AIErr | kUnknownExceptionErr = 'UNEX' |  |  | () 
 |  | const AIErr | kStdExceptionErr = 'STEX' |  |  | () 
 |  | constexpr auto | kInfinity = std::numeric_limits<AIReal>::infinity() |  | const ASInt32 | kImageReadySlicesVersion = 5 |  |  | Version of ImageReady slices. 
 |  | const ASInt32 | kImageReadySlicesOriginVersion = 6 |  |  | Version of ImageReady slices. 
 |  | const ASInt32 | kInvalidSliceID = -1 |  |  | Identifies an invalid slice. 
 |  | const ASInt32 | kDefaultSliceID = 0 |  |  | Identifies the default slice. 
 |  | const ASInt32 | kInvalidSliceGroupID = -1 |  |  | Identifies an invalid slice group. 
 |  | const ASInt32 | kDefaultSliceGroupID = 0 |  |  | Identifies the default slice group. 
 |  | const ASInt32 | kFirstUserSliceGroupID = 1 |  |  | Identifies the first specifically defined slice group. 
 |  | const ASInt32 | kFirstUserSliceSoloGroupID = kFirstUserSliceGroupID + 100000 |  |  | Identifies the first group with a single slice (unlinked slice). 
 |  | const ASInt32 | kMinSliceDim = 1 |  |  | Minimum slice dimension value. 
 |  | const ASInt32 | kForceEnumSize = 0x7FFFFFFF |  |  | Internal. 
 |  | const ai::uint32 | MaxPath = 259 |  | const ai::uint32 | MaxFile = 255 |  | constexpr size_t | kUUID_SIZE = 16 |  
 Detailed DescriptionUsage:.  As ai::UnicodeString objects are not safe to be created at global and static scope, ai::GlobalUnicodeString helps in this requirement and wraps a lazy created ai::UnicodeString. These constants identifier can be used to determine the quadrant in a plane. struct Widget { ai::int32 id = -1; bool processed = false; std::string name; }; std::unique_ptr<Widget> CreateWidget(); void ProcessWidget() { auto widget1 = CreateWidget(); auto widget2 = CreateWidget(); ai::Expects(widget1 != nullptr); // Throws by default ai::Expects(widget2 != nullptr, "Widget should not be NULL"); // Throws with custom message ai::Expects(widget1->id != -1, "Wrong widget id", ai::ContractPolicy::kAssert); // Only Assert ai::Expects(!widget1->name.empty(), "Wrong widget name", ai::ContractPolicy::kAssert); // Only Assert ... ... ai::Ensures(widget1->processed == true, "Widget should be processed", ai::ContractPolicy::kAssertAndThrow); // Assert and Throw ai::Ensures(widget2->processed == true, ai::ContractPolicy::kAssertAndThrow); // Assert and Throw } | SecondQ | FirstQ -------------------- ThirdQ | FourthQ | The associated ai::UnicodeString is created on first call and is cached. Its lifetime is guaranteed till plugin shutdown. Note:: Client does not need to do anything for freeing the associated ai::UnicodeString object.
 Usage: 1. Create with a literal string static ai::GlobalUnicodeString gStr ("my global string", kAIRomanCharacterEncoding); ai::GlobalUnicodeString gStr2 ("My UTF8 string", kAIUTF8CharacterEncoding); 2. Create with a ZRef static ai::GlobalUnicodeString gStr3 (ZREF("$$$/MyZstringKey=String Value")); 3. Create with an ai::LiteralString constexpr ai::LiteralString str ("a literal string"); static const ai::GlobalUnicodeString gStr4(str, kAIRomanCharacterEncoding); This class has const ai::UnicodeString& operator overloaded. This object can be passed directly at most places where const ai::UnicodeString& is needed, . Get() method can be called at places where operator is not resolved. Set(newStr) to change the value of the global string with a new string. The old pointer remains valid, only the value changes. Passing a temporary/Rvalue reference string to this method moves the string to the pool instead of creating a copy.  
 Typedef Documentation
Locale unique identifying code.  
Encoded string type: platform encoding.  
Encoded string type: UTF-16 encoding.  
Encoded string type: UTF-8 encoding.  
 Enumeration Type Documentation
Background color types for slices; see ASSliceSettings. Enumerator: 
| eSliceBGColorType_Color | Color, "colorBGColor".  |  | eSliceBGColorType_None | None, "noneBGColor".  |  | eSliceBGColorType_Matte | Matte, "matteBGColor".  |  | eSliceBGColorType_Unknown | Internal.  | 
 
Horizontal alignment types for slices; see ASSliceSettings. Enumerator: 
| eSliceHorzAlign_Default | Default, "defaultHAlign".  |  | eSliceHorzAlign_Left | Left, "leftHAlign".  |  | eSliceHorzAlign_Center | Center, "centerHAlign".  |  | eSliceHorzAlign_Right | Right, "rightHAlign".  |  | eSliceHorzAlign_Unknown | Internal.  | 
 
Identifies how a slice was created.  Enumerator: 
| eSliceOrigin_autoGenerated | Created automatically, "autoOrigin".  |  | eSliceOrigin_layerGenerated | Created as part of layer creation, "layerOrigin".  |  | eSliceOrigin_userGenerated | Created by the user, "userOrigin".  |  | eSliceOrigin_Unknown | Internal.  | 
 
Identifies the type of a slice; see ASSliceSettings. Enumerator: 
| eSliceType_NoImage | "noImageType"  |  | eSliceType_Image | "imageType"  |  | eSliceType_Rollover | "rollovertType"  |  | eSliceType_LinkedText | "likedType"  |  | eSliceType_Unknown |  | 
 
Vertical alignment types for slices; see ASSliceSettings. Enumerator: 
| eSliceVertAlign_Default | Default, "defaultVAlign".  |  | eSliceVertAlign_Top | Top, "topVAlign".  |  | eSliceVertAlign_Middle | Middle, "middleVAlign".  |  | eSliceVertAlign_Bottom | Bottom, "bottomVAlign".  |  | eSliceVertAlign_Baseline | Baseline, "baselineVAlign".  |  | eSlicevertAlign_Unknown | Internal.  | 
 
Icon Types to be given by clients.  Enumerator: 
 
Enumerator: 
| DoIncrement |  |  | DoNotIncrement | Cause the reference count of newly assigned objects to be incremented.  Prevent the reference count of newly assigned objects from being incremented  | 
 
Methods for positioning and sizing a linked object.  See also:AIPlacedSuite::SetPlaceOptions(),AIPlacedSuite::GetPlaceOptions()
 Enumerator: 
| kAsIs | Preserve original dimensions regardless of bounding box size and transformations.  |  | kFill | Fill bounding box while preserving proportions.  Can overlap edges in one dimension.  |  | kFit | Fit fully inside bounding box while preserving proportions.  |  | kConform | Fit to bounding box; replaced file preserves bounds but not proportions.  |  | kReconform | Fit to bounding box; replaced file preserves transformations and tries to preserve size.  Default.  | 
 
Enumerator: 
| kFirstQuadrant |  |  | kSecondQuadrant |  |  | kThirdQuadrant |  |  | kFourthQuadrant |  | 
 
Color models for raster data.  Enumerator: 
| kColorSpaceHasAlpha | Flag indicating that the color model has an alpha channel.  The alpha component appears after the color components.  |  | kGrayColorSpace | Each pixel value for a gray color space has a single component describing a grayscale value.  The gray color space is additive so the minimum value represents black and the maximum represents white.  |  | kRGBColorSpace | Each pixel value for a RGB color space has three components which represent red, green and blue respectively.  The RGB color space is additive.  |  | kCMYKColorSpace | Each pixel value for a CMYK color space has four components which represent cyan, magenta, yellow and black respectively.  The CMYK color space is subtractive.  |  | kLabColorSpace | Not valid as an image type; can occur only in placed linked files.  See AIPlacedSuite::GetRasterInfo(). |  | kSeparationColorSpace | Each pixel value for a separation color space has a single component describing a tint value.  The separation color space is subtractive so the minimum value represents white and the maximum represents black.  |  | kNChannelColorSpace | Each pixel value for an NChannel color space has of a variable number of components which represent individual channels in the NChannel color space.  The process components of the color space could be either additive or subtractive. The spot components of the color space are subtractive.  |  | kIndexedColorSpace | Each pixel value for an indexed color space has a single component describing an index value into a color lookup table.  The number of components in the color lookup table depends on the base color space of the indexed color space.  |  | kAlphaGrayColorSpace | A gray color space with an alpha channel.  |  | kAlphaRGBColorSpace | An RGB color space with an alpha channel.  |  | kAlphaCMYKColorSpace | A CMYK color space with an alpha channel.  |  | kAlphaLabColorSpace | A LAB color space with an alpha channel.  |  | kAlphaSeparationColorSpace | A separation color space with an alpha channel.  |  | kAlphaNChannelColorSpace | An NChannel color space with an alpha channel.  |  | kAlphaIndexedColorSpace | An indexed color space with an alpha channel.  |  | kInvalidColorSpace |  | 
 
Data states for AIRasterLink::datastate. Direct linking of images is deprecated (although still supported). Create linked objects using the AIPlacedSuite. Enumerator: 
| kAIRasterNoData | No data is available for the image (for example, when a document is opened and the linked file cannot be found).  |  | kAIRasterLinkData | Data is available and is the same data that was read from the linked file (that is, it has not been modified since being read).  |  | kAIRasterEditedData | Data is available and it has been modified since it was read from the file (for example, a Photoshop filter might have been run on the image).  | 
 
 Function Documentation
      
        
          | void ai::check_ai_error | ( | AIErr | err | ) |  [inline] |  
template<typename T >  
        
          | void ai::check_precondition | ( | T | condition, |  
          |  |  | AIErr | err = kBadParameterErr |  |  
          |  | ) |  |  |  [inline] |  
Validate that condition is met.  Throw an ai::Error exception if the condition is not met. Unless otherwise specified in errthe exception is thrown with kBadParameterErr. Parameters:
  
    |  | condition | value to be evaluated as a boolean condition. |  |  | err | [optional] exception value to be thrown as an ai::Error if /c condition is not met. | 
 
      
        
          | AIErr ai::CopyDataFilter | ( | IDataFilter & | srcFilter, |  
          |  |  | IDataFilter & | dstFilter, |  
          |  |  | size_t | bufferSize = 4096, |  
          |  |  | bool | seekToBegin = true |  |  
          |  | ) |  |  |  |  
Copies contents from the source data filter to the destination data filter.  Parameters:
  
    |  | srcFilter | - Filter to copy the data from |  |  | dstFilter | - Filter to copy the data to |  |  | bufferSize | - Buffer size to be used for copying the data |  |  | seekToBegin | - Whether the source filter's read location should be reset to the beginning before creating a copy | 
 example: ai::FilePath filePath(ai::UnicodeString::FromRoman("MyZCompressedFile.txt")); auto dataFilter = ai::CreateFileDataFilter(filePath, ai::IDataFilter::Mode::kRead, 0, 0, ai::CreateZDataFilter(ai::IDataFilter::Mode::kRead) ); ai::FilePath filePathOut(ai::UnicodeString::FromRoman("MyUncompressedFile.txt")); auto dataFilterOut = ai::CreateFileDataFilter(filePathOut, ai::IDataFilter::Mode::kWrite); ai::CopyDataFilter(*dataFilter, *dataFilterOut);  
      
        
          | std::unique_ptr< IDataFilter > ai::CreateA85DataFilter | ( | IDataFilter::Mode | filterMode, |  
          |  |  | const char * | prefix = nullptr, |  
          |  |  | std::unique_ptr< IDataFilter > | nextFilter = nullptr |  |  
          |  | ) |  |  |  |  
Create a stack-based A85 Data Filter.  Normally linked to other filters in the chain to provide ASCII85 compression/decompression AIDataFitlerSuite::NewA85DataFilter() Write compressed content to a file auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kWrite, 0, 0, ai::CreateA85DataFilter(IDataFilter::Mode::kWrite) ); dataFilter->Write(buff, buffsize); Read uncompressed content from a file auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kRead, 0, 0, ai::CreateA85DataFilter(IDataFilter::Mode::kRead) ); char buff[1024] = {}; size_t buffSize(sizeof(buff)); dataFilter->Read(buff, buffSize); prefix [in] The string to insert at the start of each line. nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.  
      
        
          | std::unique_ptr< IDataFilter > ai::CreateAsyncDataFilter | ( | IDataFilter::Mode | filterMode, |  
          |  |  | std::unique_ptr< IDataFilter > && | asyncFilter, |  
          |  |  | const ai::uint32 | prefetchSize, |  
          |  |  | const ai::uint32 | outputSize, |  
          |  |  | std::unique_ptr< IDataFilter > | nextFilter = nullptr |  |  
          |  | ) |  |  |  |  
Create a stack-based Async Data Filter.Takes a asyncFilter and makes it run on a background thread.  async filter can be normally linked to other filters in the chain. This filter takes the data from the next item in the chain and passes it to asyncFilter on background thread. AIDataFitlerSuite::NewAsyncDataFilter() Currently only supports Read Mode. asyncFilter [in] the filters that will be running on a background thread. this filter should not be linked to any other filter prefetchSize [in] size of a buffer typically fetched from the next filter(next of the filter returned by this API). outputSize [in] size of a buffer typically asked from this filter. nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.  
      
        
          | std::unique_ptr< IDataFilter > ai::CreateBlockDataFilter | ( | void * | address, |  
          |  |  | size_t | size, |  
          |  |  | std::unique_ptr< IDataFilter > | nextFilter = nullptr |  |  
          |  | ) |  |  |  |  
Create a stack-based Block Data Filter.  AIDataFitlerSuite::NewBlockDataFilter() char* srcBuffer; //received from somewhere size_t sizeOfBuffer; //received from somewhere auto filter = CreateBlockDataFilter(srcBuffer, sizeOfBuffer); nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.  
      
        
          | std::unique_ptr< IDataFilter > ai::CreateBufferDataFilter | ( | size_t | size, |  
          |  |  | std::unique_ptr< IDataFilter > | nextFilter = nullptr |  |  
          |  | ) |  |  |  |  
Create a stack-based buffered Data Filter.  Normally linked to other filters in the chain to provide buffered read/write for better performance AIDataFitlerSuite::NewBufferDataFilter() Bufferred file data filter auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kWrite, 0, 0, CreateBufferDataFilter(4096) ); nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.  
      
        
          | std::unique_ptr< IDataFilter > ai::CreateFileDataFilter | ( | const ai::FilePath & | filePath, |  
          |  |  | IDataFilter::Mode | filterMode, |  
          |  |  | size_t | creator = 0, |  
          |  |  | ai::int32 | type = 0, |  
          |  |  | std::unique_ptr< IDataFilter > | nextFilter = nullptr |  |  
          |  | ) |  |  |  |  
Create a stack-based File Data Filter.  AIDataFitlerSuite::NewFileDataFilter() auto fileFilter = CreateFileDataFilter(filePath, IDataFilter::Mode::kWrite); fileFilter->Write(buff, buffsize); nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.  
      
        
          | std::unique_ptr< IDataFilter > ai::CreateResourceDataFilter | ( | SPPluginRef | plugin, |  
          |  |  | ai::int32 | type, |  
          |  |  | ai::int32 | id, |  
          |  |  | const char * | name, |  
          |  |  | std::unique_ptr< IDataFilter > | nextFilter = nullptr |  |  
          |  | ) |  |  |  |  
Create a stack-based Resource Data Filter.  AIDataFitlerSuite::NewResourceDataFilter() auto filter = CreateResourceDataFilter(plugin, 'TEXT', id, resName, IDataFilter::Mode::kRead); char buff[1024] = {}; size_t buffSize(sizeof(buff)); filter->Read(buff, buffSize); nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.  
      
        
          | std::unique_ptr< IDataFilter > ai::CreateScopedDataFilter | ( | AIDataFilter * | filter, |  
          |  |  | IDataFilter::Mode | filterMode, |  
          |  |  | std::unique_ptr< IDataFilter > | nextFilter = nullptr |  |  
          |  | ) |  |  |  |  
Create a stack-based data filter from an existing AIDataFilter*.  It will automatically be unlinked when the scope end. Parameters:
  
    |  | filter | - Filter to be wrapped in the stacked object nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation. | 
 
      
        
          | std::unique_ptr< IDataFilter > ai::CreateVMDataFilter | ( | size_t | initialSize, |  
          |  |  | std::unique_ptr< IDataFilter > | nextFilter = nullptr |  |  
          |  | ) |  |  |  |  
Create a stack-based VM Data Filter.  AIDataFitlerSuite::NewVMDataFilter() auto filter = CreateVMDataFilter(4096); nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.  
      
        
          | std::unique_ptr< IDataFilter > ai::CreateZDataFilter | ( | IDataFilter::Mode | filterMode, |  
          |  |  | std::unique_ptr< IDataFilter > | nextFilter = nullptr |  |  
          |  | ) |  |  |  |  
Create a stack-based Zlib Data Filter.  Normally linked to other filters in the chain to provide zlib compression/decompression AIDataFitlerSuite::NewZDataFilter() Write compressed content to a file auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kWrite, 0, 0, ai::CreateZDataFilter(IDataFilter::Mode::kWrite) ); dataFilter->Write(buff, buffsize); Read uncompressed content from a file auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kRead, 0, 0, ai::CreateZDataFilter(IDataFilter::Mode::kRead) ); char buff[1024] = {}; size_t buffSize(sizeof(buff)); dataFilter->Read(buff, buffSize); nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.  
      
        
          | std::unique_ptr< IDataFilter > ai::CreateZStdDataFilter | ( | IDataFilter::Mode | filterMode, |  
          |  |  | std::unique_ptr< IDataFilter > | nextFilter = nullptr |  |  
          |  | ) |  |  |  |  
Create a stack-based ZStandard Data Filter.  Normally linked to other filters in the chain to provide zstd compression/decompression AIDataFitlerSuite::NewZStdDataFilter() Write compressed content to a file auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kWrite, 0, 0, ai::CreateZStdDataFilter(IDataFilter::Mode::kWrite) ); dataFilter->Write(buff, buffsize); Read uncompressed content from a file auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kRead, 0, 0, ai::CreateZStdDataFilter(IDataFilter::Mode::kRead) ); char buff[1024] = {}; size_t buffSize(sizeof(buff)); dataFilter->Read(buff, buffSize); nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.  
template<typename T , typename Policy  = Contract::ThrowPolicy>  
        
          | constexpr void ai::EnsureRange | ( | const T & | value, |  
          |  |  | const char * | msg = Contract::kDefaultPostconditionMsg, |  
          |  |  | Policy | policy = ContractPolicy::kThrow |  |  
          |  | ) |  |  |  [inline] |  
template<typename T , typename Policy >  
        
          | constexpr void ai::Ensures | ( | T | condition, |  
          |  |  | Policy | policy |  |  
          |  | ) |  |  |  [inline] |  
template<typename T , typename Policy  = Contract::ThrowPolicy>  
        
          | constexpr void ai::Ensures | ( | T | condition, |  
          |  |  | const char * | msg = Contract::kDefaultPostconditionMsg, |  
          |  |  | Policy | policy = ContractPolicy::kThrow |  |  
          |  | ) |  |  |  [inline] |  
template<typename T , typename Policy >  
        
          | constexpr void ai::Expects | ( | T | condition, |  
          |  |  | Policy | policy |  |  
          |  | ) |  |  |  [inline] |  
template<typename T , typename Policy  = Contract::ThrowPolicy>  
        
          | constexpr void ai::Expects | ( | T | condition, |  
          |  |  | const char * | msg = Contract::kDefaultPreconditionMsg, |  
          |  |  | Policy | policy = ContractPolicy::kThrow |  |  
          |  | ) |  |  |  [inline] |  
Returns a valid reference to the counted-object suite, which can be passed to ai::IAIReffunctions. Implements GetAICountedObjectSuitePtrfor standard naked suite pointers. This function must be defined by each plug-in that uses this header. This header defines a default implementation for the function, which assumes that the global variable sAICountedObjectcontains a pointer to the suite, and returns the value of that pointer. If your plug-in needs a different definition, you must first disable the default definition in this file by setting the constant  define AICOUNTEDOBJECTSUITE_DEFINED  to 1. You can then add your own definition of the function to the plug-in. For example, the file IAIRefAutoSuite.cppsupplies a definition of the function that assumes the counted object suite is supplied using the facilities ofAutoSuite.h. (The pointer to the suite is stored in a global variable of type AICountedObjectSuite*.) References sAICountedObject. Referenced by ai::Ref< X >::Assign(), ai::Ref< X >::operator<<(), ai::Ref< X >::Ref(), ai::Ref< X >::to(), and ai::Ref< X >::~Ref(). 
template<typename T >  
        
          | const T& ai::Max | ( | const T & | obj1, |  
          |  |  | const T & | obj2 |  |  
          |  | ) |  |  |  [inline] |  
template<typename T >  
        
          | const T& ai::Min | ( | const T & | obj1, |  
          |  |  | const T & | obj2 |  |  
          |  | ) |  |  |  [inline] |  
template<class T >  
        
          | void ai::NOTUSED | ( | const T & | result | ) |  [inline] |  
Inline method to suppress unused variable warning/error.  Compiler optimizes away any call to this method. e.g. catch(const ai::Error& e) { ai::NOTUSED(e); }  
template<class X >  
        
          | bool ai::operator!= | ( | std::nullptr_t | , |  
          |  |  | const Ref< X > & | ref |  |  
          |  | ) |  |  |  [inline] |  
 
template<class X >  
        
          | bool ai::operator!= | ( | const Ref< X > & | ref, |  
          |  |  | std::nullptr_t |  |  |  
          |  | ) |  |  |  [inline] |  
 
      
        
          | UnicodeString ai::operator+ | ( | UnicodeString | lhs, |  
          |  |  | const UnicodeString & | rhs |  |  
          |  | ) |  |  |  [inline] |  
Append operator.  Parameters:
  
    |  | lhs | The Unicode string object to append to. |  |  | rhs | The Unicode string object which is to be appended. | 
 Returns:A new Unicode string object. 
 References ai::UnicodeString::append(). 
template<class X >  
        
          | bool ai::operator== | ( | std::nullptr_t | , |  
          |  |  | const Ref< X > & | ref |  |  
          |  | ) |  |  |  [inline] |  
 
template<class X >  
        
          | bool ai::operator== | ( | const Ref< X > & | ref, |  
          |  |  | std::nullptr_t |  |  |  
          |  | ) |  |  |  [inline] |  
 
Lexicographical comparison.  
      
        
          | void ai::Replace | ( | const RefReplaceParam & |  | ) |  [inline] |  
Referenced by ai::Entry::Impl::ArrayVal(), ai::Dictionary::begin(), ai::Dictionary::Impl::clone(), ai::Array::Impl::clone(), ai::Entry::Impl::DictionaryVal(), ai::Dictionary::find(), ai::Dictionary::Impl::GetArray(), ai::Dictionary::Impl::GetDictionary(), ai::Dictionary::Impl::Impl(), ai::Array::Impl::Impl(), and ai::Entry::Impl::Impl(). 
template<typename... Args>  
        
          | std::string ai::StreamArgs | ( | const Args &... | args | ) |  [inline] |  
template<typename T >  
        
          | std::string ai::to_string | ( | const T & | value | ) |  [inline] |  
 Variable Documentation
Identifies the default slice group.  
Identifies the default slice.  
Identifies the first specifically defined slice group.  
Identifies the first group with a single slice (unlinked slice).  
Version of ImageReady slices.  
Version of ImageReady slices.  
      
        
          | constexpr auto ai::kInfinity = std::numeric_limits<AIReal>::infinity() |  
 
Identifies an invalid slice group.  
Identifies an invalid slice.  
Minimum slice dimension value.  
 
 |