ZModeler SDK provides a set of helpers which could be a base implementation of commoly-used interfaces, helper classes that wrap some robust routines, helper functions for quick access to some resources and so on.
All helpers are located in helpers/*.h files and you have to include certain helper file to be able to use according helper resources of ZModeler. Most of helpers are implemented in ZModeler2.exe, so you don't need to link additional libraries.
| backbufferDC.h | Helper class CBackBufferDC wraps rendering device interface and extracts rendering target data as CDC*, so you can draw pre-rendered data in CWnd objects using standard bitblt semantic. | controlButton.h | Pair of helper classes (ZImageButton and ZTextButton) implement drawing of and processing mouse input on image-based or text button. These classes respect current ZModeler color scheme and use hot-track (highlight when mouse is hover) behaviour. Viewport controls is an example: Viewport type is a text button, viewport expand is an image button. | controllers.h | Native implementation of core::ui::controls::IListElementController and core::ui::controls::ITreeElementController interfaces. It's way simplier for you to derieve classes from these helpers in order to control events in list or tree controls (default implementation is based on "ok, allow everything", so you might need to overload just few methods). | events.h | Set of functions to initiate events. Currently available scene events only. | impexp.h | Functions and implementation class names definitions for importing and exporting routines. Currently available functions for dealing with rend::IRenderExtension semantic only. | layout.h | Dozen of helper classes with implementatino of tool's layout and a base classes for deriving your own tools. All ZModeler tools implementation are based on helper classes from this file. | meshTools.h | Functions for dealing with mesh objects. | nodes.h | Several base implementations of interfaces for deriving your own scene nodes. | openEdges.h | In case of dealing with mesh's open edges, you can use helper routines from this file. Here you can find functions for detecting set of open edges and extrating chains of open edges. | polygons.h | Native type ZPoly is an abstract base only. This helper file provides classes with implementation of this abstract class. | primitives.h | Functions for creation and management of mesh primitives. These can be used for simplifying rendering of helper objects or controls in viewports. For example, object's tripod (local axes) is rendered using primitives helpers. | progressBar.h | Wrapper-class for dealing with ZModeler's default progress bar, located in it's status bar. | regularExpressions.h | Implementation regular expressions used for template-match comparison of strings. | rend.h | Base class CRenderExtension can be used for implemeting your own rendering extensions. | sceneNavigation.h | Since scene is presented with a tree of nodes, navigating in this tree can be simplified by using helper classes from this file. Also, navigation in subset of currently active/selected nodes can be done with helper iterator class. Additionally, you get several functions that check node's status and provide node-to-world and world-to-node convertion matrices by including this file. | serializeable.h | Serialization helper functions. From basic read/write implementations to complex chunks writing classes and functions for dealing with serialization. You also get a handy thumbnail image generation and write function by including this file. | services.h | Dozen of functions allow you directly obtain a desired service. | splines.h | If you wish to deal with splines, this file will be very helpful. You get a set of functions with simple spline hit-test function, detection of nearest point on a spline and a functions for splines/nodes creation. | status.h | Native ZModeler implementation of core::IStatus interface and a helper function that provides a status of supplied interface. | textures.h | Some basic functions for creation of textures from supplied raw data. | undo.h | Complex set of helper functions for creation of common undo blocks. And a helper class for safe undo branch commiting or rollback. | versionInfo.h | Helper class for dealing with plug-in version info. This class provides methods for reading version from HINSTANCE and comparing versions. | vertices.h | Native type ZVertex is an abstract base only. This helper file provides classes with implementation of this abstract class. Vertices have distinct components and format. Internal implementation of class ZVertexBuf uses classes from this helper file. | viewportDC.h | Helper class CViewportDC wraps core::ui::IViewport interface and extracts target CDC* object, so you can paint in viewport using standard bitblt semantic. | viewportLayers.h | Base implementation for core::ui::IViewportLayer. Supplied classes follow recommended semantic by processing of mouse and keyboard input. | viewports.h | Several functions for quick access to currently active view, viewport and function that forces viewport redrawing. |