Share

New Classes and Methods

New Classes

Following are the new classes:

  • BezFontEX2 - Replaces the BezFontEX class.
  • BitmapIOMetaData - Exposes extended parameters for the BitmapIO class that relates to things like gamma correction preferences.
  • IBaseGrip2 - Extends the IBaseGrip class to provide extra functionality for updating the visibility of the caddy.
  • IMenuItemExtension - The new menu system in 3ds Max 2014 allows the display of an icon next to the menu, if the new graphical menu system is enabled. This class extends the old IMenuItem class and can point to a file for the icon.
  • IMenuManagerExtension - Extends the IMenuManager class and this must be used instead of the old one.
  • IPathConfigMgrEx - Provides extended access to application path configuration.
  • ISceneCallbackPriority - Callback classes that inherit from ViewportDisplayCallback can also sub-class ISceneCallbackPriority to assign a priority. Callbacks with a higher priority are called before the callbacks with a priority of zero.
  • MaxSDK::Util::IBailOutBusyProcessManager - Enables early termination from long computations by pressing the Esc key. See maxsdk\util\bailout.h for more details.
  • MaxSDK::Util::IDlgShowingStatusForPolyObj - Helps with using caddies for the mesh classes. See maxsdk\include\Util\IDlgShowingStatusForPolyObj.h for more details.
  • Mergeable - Allows ReferenceTarget that is not attached to INode to be merged into the scene. See mergeable.h for more details.
  • ParamBlockPLCBEx - Replaces the ParamBlockPLCB class.
  • TextureHandleUtility - Utility class to create TextureHandle from Texmap.

The following new classes are related to the Particle Flow.

  • IParticleChannelExt2
  • IParticleChannelINodeHandleR
  • IParticleChannelINodeHandleW
  • IParticleChannelTrueFalseIterator2
  • IParticleGroupExt
  • IPFActionExt
  • IPFActionListMaterialHolder
  • IPFOperatorPhysXWorld
  • IPFSystemWorld

Additionally, some minor modifications are made in the BitArray class to improve performance.

Changes in the Animatable class

  • Virtual GetClassName() overridden in Animatable sub-classes - This virtual method is overridden in 19 public SDK classes that inherit from the Animatable class.
  • New static Animatable::IsDeleted() method - This method can be used to test whether an Animatable pointer is valid and not deleted. This method provides a useful shortcut for storing an AnimHandle and using that to test whether an object is deleted. However, this is not a complete replacement for storing an AnimHandle because it can return false positives.
  • New AnimProperty methods - Two new non-virtual methods are added to Animatable to append and find AnimProperty pointers:
    • Animatable::AppendProperty()
    • Animatable::FindProperty()

New Methods

  • To support the new menu system in 3ds Max 2014, the following new methods are added for tooltips and icons to ActionItem:
    • ActionItem::GetTooltipKey()
    • ActionItem::SetTooltipKey()
    • ActionItem::MaxSDK::Util::Path GetIconPath()
    • ActionItem::SetIconPath()
  • Following non-virtual method is added to the MNMesh and Mesh classes to complement the mesh GenerateRenderItems() function:
    • MNMesh::GenerateDeferredRenderItems()
    • Mesh::GenerateDeferredRenderItems()
  • Following new non-virtual methods that aid in FileIO is added to the MaxSDK::Util::TextFile::Reader class:
    • Reader::ConvertNumUTF8CharsToNumBytes()
    • Reader::ConvertNumUTF16CharsToNumBytes()
    • Reader::ConvertNumCharsToNumBytes()
  • A new Path::SaveBaseFile() method is added to MaxSDK::Util::Path for supporting future Autodesk 360 features.
  • A new BezFontManager::BuildCharacterEx() method is added to the BezFontManager class to replace the BezFontManager::BuildCharacter() method.

Additionally, many non-virtual methods in Point3 were modified with \__forceinline to improve performance.

Miscellaneous

There are other minor changes in the SDK mostly related to Particle Flow. Most of these changes involve addition of enumerators, functions, macros and typedefs.

Was this information helpful?