Brush plug-ins are written by writing classes that derive from BrushOperation. Most virtual functions of BrushOperation have default implementations except for the BrushOperation::AddPatch() member function, which must have a concrete implementation. BrushOperation::AddPatch() is called when a new surface point has to be added to the stroke.
When a plug-in derives from BrushOperation, it is automatically made available to the users from the tools tray.
The strength is used to determine how much the sculpt tool affects the surface. The actual strength passed by Mudbox to the functions BrushOperation::AddPatch() and BrushOperation::Flood() is controlled in part by the fall-off data curve BrushOperation::FalloffData().