Open Search
    BrushToolData Class Reference

    #include <lib_ca.h>

    Inheritance diagram for BrushToolData:

    Detailed Description

    Lets implement custom CA brushes. Normally it is only needed to implement MouseInputStart(), MouseInputDrag() and MouseInputEnd() functions, since the rest have default implementations in BrushBase.
    There are other helper functions in BrushBase as well, available through the m_pBrushBase pointer.

    Public Member Functions

     BrushToolData ()
     
     ~BrushToolData ()
     
    - Public Member Functions inherited from DescriptionToolData
    virtual const String GetResourceSymbol () const =0
     
    virtual Int32 GetToolPluginId () const =0
     
    Bool InteractiveModeling_Restart (BaseDocument *doc)
     
    virtual Bool TranslateDescID (BaseDocument *doc, BaseContainer &data, const DescID &id, DescID &res_id, C4DAtom *&res_at)
     
    - Public Member Functions inherited from ToolData
    virtual Bool KeyboardInput (BaseDocument *doc, BaseContainer &data, BaseDraw *bd, EditorWindow *win, const BaseContainer &msg)
     
    virtual TOOLDRAW Draw (BaseDocument *doc, BaseContainer &data, BaseDraw *bd, BaseDrawHelp *bh, BaseThread *bt, TOOLDRAWFLAGS flags)
     
    virtual Bool DisplayControl (BaseDocument *doc, BaseObject *op, BaseObject *chainstart, BaseDraw *bd, BaseDrawHelp *bh, ControlDisplayStruct &cds) const
     
    virtual Bool InitDisplayControl (BaseDocument *doc, const BaseContainer &data, BaseDraw *bd, const AtomArray *active)
     
    virtual void FreeDisplayControl ()
     
    virtual SubDialogAllocSubDialog (BaseContainer *bc)
     
    virtual Bool DoCommand (ModelingCommandData &mdat)
     
    virtual Int32 GetState (BaseDocument *doc)
     
    virtual Bool GetDParameter (const BaseDocument *doc, const BaseContainer &data, const DescID &id, GeData &t_data, DESCFLAGS_GET &flags) const
     
    - Public Member Functions inherited from BaseData
    virtual ~BaseData ()
     
    void Destructor ()
     

    Public Attributes

    BrushBasem_pBrushBase
     

    Overloads

    virtual Bool InitTool (BaseDocument *doc, BaseContainer &data, BaseThread *bt)
     
    virtual void FreeTool (BaseDocument *doc, BaseContainer &data)
     
    virtual void InitDefaultSettings (BaseDocument *doc, BaseContainer &data)
     
    virtual Bool GetDEnabling (const BaseDocument *doc, const BaseContainer &data, const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc) const
     
    virtual Bool SetDParameter (BaseDocument *doc, BaseContainer &data, const DescID &id, const GeData &t_data, DESCFLAGS_SET &flags)
     
    virtual Bool GetDDescription (const BaseDocument *doc, const BaseContainer &data, Description *description, DESCFLAGS_DESC &flags) const
     
    virtual Bool Message (BaseDocument *doc, BaseContainer &data, Int32 type, void *t_data)
     
    virtual Bool GetCursorInfo (BaseDocument *doc, BaseContainer &data, BaseDraw *bd, Float x, Float y, BaseContainer &bc)
     
    virtual Bool MouseInput (BaseDocument *doc, BaseContainer &data, BaseDraw *bd, EditorWindow *win, const BaseContainer &msg)
     

    Mouse Input

    virtual Bool MouseInputStart (BaseDocument *doc, BaseContainer &data, BaseDraw *bd, EditorWindow *win, const BaseContainer &msg, Int32 &flags)
     
    virtual Bool MouseInputDrag (BaseDocument *doc, BaseContainer &data, BaseDraw *bd, EditorWindow *win, const BaseContainer &msg, BrushVertexData *vdata, Int32 vcnt, Float x, Float y, Int32 &flags)
     
    virtual Bool MouseInputEnd (BaseDocument *doc, BaseContainer &data, BaseDraw *bd, EditorWindow *win, const BaseContainer &msg)
     

    Additional Inherited Members

    - Static Public Attributes inherited from DescriptionToolData
    static constexpr Int32 MSG_TOOL_SYSTEM_HOOK_INIT
     
    static constexpr Int32 MSG_TOOL_SYSTEM_HOOK_FREE
     
    - Protected Attributes inherited from DescriptionToolData
    Bool modeChanged
     
    Bool firstaction
     
    Int32 last_dirty
     

    Constructor & Destructor Documentation

    ◆ BrushToolData()

    ◆ ~BrushToolData()

    Member Function Documentation

    ◆ InitTool()

    virtual Bool InitTool ( BaseDocument doc,
    BaseContainer data,
    BaseThread bt 
    )
    virtual

    Implemented by BrushBase. Normally there is no need to overload this function.

    Reimplemented from DescriptionToolData.

    ◆ FreeTool()

    virtual void FreeTool ( BaseDocument doc,
    BaseContainer data 
    )
    virtual

    Implemented by BrushBase. Normally there is no need to overload this function.

    Reimplemented from DescriptionToolData.

    ◆ InitDefaultSettings()

    virtual void InitDefaultSettings ( BaseDocument doc,
    BaseContainer data 
    )
    virtual

    Implemented by BrushBase. Normally there is no need to overload this function.

    Reimplemented from DescriptionToolData.

    ◆ GetDEnabling()

    virtual Bool GetDEnabling ( const BaseDocument doc,
    const BaseContainer data,
    const DescID id,
    const GeData t_data,
    DESCFLAGS_ENABLE  flags,
    const BaseContainer itemdesc 
    ) const
    virtual

    Implemented by BrushBase. Normally there is no need to overload this function.

    Reimplemented from DescriptionToolData.

    ◆ SetDParameter()

    virtual Bool SetDParameter ( BaseDocument doc,
    BaseContainer data,
    const DescID id,
    const GeData t_data,
    DESCFLAGS_SET flags 
    )
    virtual

    Implemented by BrushBase. Normally there is no need to overload this function.

    Reimplemented from ToolData.

    ◆ GetDDescription()

    virtual Bool GetDDescription ( const BaseDocument doc,
    const BaseContainer data,
    Description description,
    DESCFLAGS_DESC flags 
    ) const
    virtual

    Implemented by BrushBase. Normally there is no need to overload this function.

    Reimplemented from DescriptionToolData.

    ◆ Message()

    virtual Bool Message ( BaseDocument doc,
    BaseContainer data,
    Int32  type,
    void *  t_data 
    )
    virtual

    Implemented by BrushBase. Normally there is no need to overload this function.

    Reimplemented from DescriptionToolData.

    ◆ GetCursorInfo()

    virtual Bool GetCursorInfo ( BaseDocument doc,
    BaseContainer data,
    BaseDraw bd,
    Float  x,
    Float  y,
    BaseContainer bc 
    )
    virtual

    Implemented by BrushBase. Normally there is no need to overload this function.

    Reimplemented from ToolData.

    ◆ MouseInput()

    virtual Bool MouseInput ( BaseDocument doc,
    BaseContainer data,
    BaseDraw bd,
    EditorWindow win,
    const BaseContainer msg 
    )
    virtual

    Implemented by BrushBase. Normally there is no need to overload this function.

    Reimplemented from ToolData.

    ◆ MouseInputStart()

    virtual Bool MouseInputStart ( BaseDocument doc,
    BaseContainer data,
    BaseDraw bd,
    EditorWindow win,
    const BaseContainer msg,
    Int32 flags 
    )
    virtual

    Called at the start of mouse input. Initialize any data needed for the drag and set any flags needed.

    Parameters
    [in]docThe document.
    [in]dataThe data.
    [in]bdThe base draw.
    [in]winThe editor window.
    [in]msgThe input message.
    [in]flagsThe flags. Add the flags needed with the |= operator: BRUSHBASE_MOUSE_FLAG
    Returns
    true if successful, otherwise false.

    ◆ MouseInputDrag()

    virtual Bool MouseInputDrag ( BaseDocument doc,
    BaseContainer data,
    BaseDraw bd,
    EditorWindow win,
    const BaseContainer msg,
    BrushVertexData vdata,
    Int32  vcnt,
    Float  x,
    Float  y,
    Int32 flags 
    )
    virtual

    Called during mouse drag.

    Parameters
    [in]docThe document.
    [in]dataThe data.
    [in]bdThe base draw.
    [in]winThe editor window.
    [in]msgThe input message.
    [in]vdataThe brush vertex data.
    [in]vcntThe brush vertex count.
    [in]xThe mouse X position.
    [in]yThe mouse Y position.
    [in]flagsThe flags. Add the flags needed with the |= operator: BRUSHBASE_MOUSE_FLAG
    Returns
    true if successful, otherwise false.

    ◆ MouseInputEnd()

    virtual Bool MouseInputEnd ( BaseDocument doc,
    BaseContainer data,
    BaseDraw bd,
    EditorWindow win,
    const BaseContainer msg 
    )
    virtual

    Called after mouse drag. Free any data no longer needed.

    Parameters
    [in]docThe document.
    [in]dataThe data.
    [in]bdThe base draw.
    [in]winThe editor window.
    [in]msgThe input message.
    Returns
    true if successful, otherwise false.

    Member Data Documentation

    ◆ m_pBrushBase

    BrushBase* m_pBrushBase