New Features
============

Memory Management
-----------------

New memory management functions and classes have been added to allow Ops more control over allocation of memory
and tracking of the memory used.


SceneView_Knob
--------------

A new knob type of ``SceneView_Knob`` has been added, which provides the ability to display items in a hierarchical
format and allows the user to selelect distinct/individual sub-selections.

It also includes a Python interface which can be used to add/remove items and alter selection.


New Attribute type
------------------

A new ``std::string`` attribute type has been added to the ``Attribute`` class.


Box class
---------

The ``Box`` class now has ``expand()`` and ``scale`` functions.

 
3D Event callbacks
------------------

It is now possible to get 3D event callbacks for user interaction in the 3D viewer.

Events include mouse clicks, drags, moves, releases and selection change notifications.


extraKnobs callback for Readers and Writers
-------------------------------------------

A new callback for FileHander-derived classes has been added, to allow format-specific knobs to be created after
the standard Reader / Writer knobs. This can be used to create extra tab knobs for Readers and Writers.
 
``virtual void extraKnobs(Knob_Callback cb);``


Polymesh
--------

A new 3D Primitive subtype of ``Polymesh`` has been added, which can be used to represent polygons comprising a contiguous surface.
This new Primitive type is more efficient than using multiple ``Triangle`` or ``Polygon`` instances, as member data like Materials
are stored once for the every polygon within the Polymesh.
