File : API\core\tools\ITool.h Namespace : core::tools Included by : zmodeler.h
Interface that represents a tool. Each tool has a layout which is used by ZModeler when loading tools and apply function that allows to apply a tool. Classes that implement this interface have to be exported from a library with ZM_CLASS_TOOL class marker, so ZModeler can handle this tool properly.
It's recommended to inherit from helper classes implementation declared in file helpers/layout.h. Thus, the majority of tool-relatead and layout-realyed functions are already implemented.
requires | Provides set of tool requirements flags. |
getLayout | Provides tool layout information as a core::layout::ILayout interface. Actually, each tool provides one if it's derived implementations (ILayoutCommandBar, ILayoutFloader etc.) |
getLibrary | Provides tool's ILibrary interface. |
setLibrary | Sets tool's ILibrary interface. |
apply | The primary tool's function. It's purpose is to apply the tool to supplied data subset. |
done | Notifies tool that zmodeler has done with it (interrupt or new tool was selected) |
class CToolCol : public ZUnknown, public ZIntrCollection<ITool>
CToolCol follows semantic of interfaces (includes references count via AddRef/Release, but does not provide any interfaces via QueryInterface) and follows semanic of interfaces collection template.