Mudbox 2013

The following changes are listed according to their presence in their respective header files.

brush.h

brushmask.h

curve.h

This header file defines the new curve functionality of the Mudbox SDK.

importexport.h

PaintLayerImporter::Prepare() - This function can be empty, you'll have a chance to do some work before the actual import operation happens.

interface.h

The following methods let you change the hotkey set used in Mudbox.

When creating a file dialog, you can now specify which file type filter is initially shown, and find out which filter type was selected by the user.

  • Interface::LoadFileDialog() - Opens a modal file dialog so the user can choose an existing file to open. Returns the path to the file. If the user cancels out the file dialog, an empty QString is returned.
  • Interface::SaveFileDialog() - Opens a modal file dialog so the user can choose a file name to save to. Returns the path to the file. If the user cancels out the file dialog, an empty QString is returned.

kernel.h

Added a new function to turn any string into a legal file name:

  • Utility::SanitizeFileName() - Takes a potential file name as input and returns a sanitized version that should be a legal file name on Windows, Mac OSX, and Linux. Illegal characters are escaped with the % character, followed by their numeric unicode character code. The % character is escaped with %%. For example, SanitizeFileName("material::blue") would return "material%58%58blue".

material.h

mesh.h

node.h

  • Node::SetDisplayName() - Sets the display name of the class (in class ClassDesc).
  • NodeEventType.etEditingFinished - New nodeEvent type. Indicates that the editing is finished on the attribute by the user.
  • Attribute::SetInstantEdit() - If the parameter is set to True, editing the attribute on the UI will be instant, i.e. the attribute will change value every time the user makes changes in the widget. Default is false.
  • Attribute::InstantEdit() - Returns true if the attribute edit should be instant, i.e. the attribute should change every time the user makes any changes to the widget. Default is false.

nurbs.h

New methods have been added for the new curves functionality: NURBSCurve::Interpolate(), NURBSCurve::Render(), NURBSCurve::Recalculate().

operations.h

Added SDK access to the Transfer Details function within the Mudbox UI via class TransferDetailOperation.

renderer.h

  • VertexDataProvider::SetVertexData() - Sets the data for a given vertex, component, and dimension. For example, to set the 2nd element of the 1st component, for the 0th vertex:
    VertexDataProvider::ComponentDescription d = Component(1);
    if( d.m_eType == eFloat && d.m_iDimension >= 3 )
    {
        float fNewValue = 1.0f;
        SetVertexData( 0, 1, 2, (const void*)&fNewValue );
    }

scene.h

Added support for the new curve functionality.

  • SelectedObjectListNames() - Returns a list of strings of all selected items in the Object List.
  • Scene::ActiveCurve() - Returns a pointer to the curve that is currently active.
  • SetActiveCurve() - Sets a different curve to be active.
  • Scene::CurveCount() - Returns the number of Curve objects in the scene. Returns the number of all objects derived from CurveBase.
  • Scene::SelectedCurveCount() - Returns the number of selected Curves.
  • Scene::AddCurve() - Adds a curve object to the scene. Returns a pointer to the object added. Once a curve object is added to the scene, the scene is responsible for deleting it.
  • Scene::RemoveCurve() - Removes a curve object from the scene. Note that the removed curve is not deleted. Once the curve is removed, it becomes the caller's responsibility to delete it.
  • Scene::SelectedCurve() - Returns a pointer to a selected curve object in the scene. If the index is out of range, NULL is returned. To find out how many curve objects are selected, call Scene::SelectedCurveCount().
  • Scene::Curve() - Returns a pointer to a Curve object in the scene. If the index is out of range, NULL is returned. To find out how many Curve objects are in the scene, call CurveCount().
  • ActiveCameraChangeEvent - This event is triggered after a camera is set as the active camera in Scene::SetActiveCamera(). Plugins can connect to this event to get informed when the active camera is changed to a different one.

subdivision.h

  • SubdivisionLevel::ConvertSurfacePoint() - Returns true if it succeeds in converting a surface point from another subdivision level to this level. If true is returned, the surface point p is at the same level as this subdivision level.
  • SubdivisionLevel::ConvertFaceIndices() - Converts a set of faces from one subdivision level to another subdivision level. This is useful when you have a set of faces on level n and need to find the corresponding faces on level m for any values n and m.

treenode.h

viewport.h

widgets.h

  • OnEdit() - New slot for AttributeFileNamebox.
  • OnEditFinished() - New slot for AttributeEditBox.