Open Search
    FieldData Class Referenceabstract

    #include <c4d_fieldplugin.h>

    Inheritance diagram for FieldData:

    Public Member Functions

     FieldData ()
     
    virtual maxon::Result< maxon::GenericDataInitSampling (const FieldObject &op, const FieldInfo &info) const
     
    virtual void FreeSampling (const FieldObject &op, const FieldInfo &info, maxon::GenericData &extraData) const
     
    virtual maxon::Result< void > Sample (const FieldObject &op, const FieldInput &inputs, FieldOutputBlock &outputs, const FieldInfo &info, const maxon::GenericData &extraData) const =0
     
    virtual FIELDOBJECT_FLAG GetFieldFlags (const FieldObject &op, const BaseDocument *doc) const
     
    - Public Member Functions inherited from ObjectData
    virtual void CheckDirty (BaseObject *op, const BaseDocument *doc)
     
    virtual void GetDimension (const BaseObject *op, Vector *mp, Vector *rad) const
     
    virtual DRAWRESULT Draw (BaseObject *op, DRAWPASS drawpass, BaseDraw *bd, BaseDrawHelp *bh)
     
    virtual DRAWRESULT DrawShadow (BaseObject *op, BaseDraw *bd, BaseDrawHelp *bh)
     
    virtual Int32 DetectHandle (BaseObject *op, BaseDraw *bd, Int32 x, Int32 y, QUALIFIER qualifier)
     
    virtual Bool MoveHandle (BaseObject *op, BaseObject *undo, const Vector &mouse_pos, Int32 hit_id, QUALIFIER qualifier, BaseDraw *bd)
     
    virtual Bool AddToExecution (BaseObject *op, PriorityList *list)
     
    virtual EXECUTIONRESULT Execute (BaseObject *op, BaseDocument *doc, BaseThread *bt, Int32 priority, EXECUTIONFLAGS flags)
     
    virtual void GetModelingAxis (BaseObject *op, BaseDocument *doc, Matrix &axis)
     
    virtual BaseObjectGetVirtualObjects (BaseObject *op, const HierarchyHelp *hh)
     
    virtual Bool ModifyObject (const BaseObject *mod, const BaseDocument *doc, BaseObject *op, const Matrix &op_mg, const Matrix &mod_mg, Float lod, Int32 flags, BaseThread *thread) const
     
    virtual SplineObjectGetContour (BaseObject *op, BaseDocument *doc, Float lod, BaseThread *bt)
     
    virtual void ModifyParticles (BaseObject *op, Particle *pp, BaseParticle *ss, Int32 pcnt, Float diff)
     
    virtual Int32 GetHandleCount (const BaseObject *op) const
     
    virtual void GetHandle (BaseObject *op, Int32 i, HandleInfo &info)
     
    virtual void SetHandle (BaseObject *op, Int32 i, Vector p, const HandleInfo &info)
     
    - Public Member Functions inherited from NodeData
     NodeData ()
     
    GeListNodeGet ()
     
    const GeListNodeGet () const
     
    virtual Bool Message (GeListNode *node, Int32 type, void *data)
     
    virtual void GetBubbleHelp (GeListNode *node, maxon::String &str)
     
    virtual const BaseDocumentGetDocument (const GeListNode *node) const
     
    virtual maxon::Result< BoolGetBranchInfo (const GeListNode *node, const maxon::ValueReceiver< const BranchInfo & > &info, GETBRANCHINFO flags) const
     
    virtual Bool IsInstanceOf (const GeListNode *node, Int32 type) const
     
    virtual Bool IsDocumentRelated (const GeListNode *node, Bool &docrelated) const
     
    virtual maxon::Result< BoolGetAccessedObjects (const BaseList2D *node, METHOD_ID method, AccessedObjectsCallback &access) const
     
    virtual maxon::Result< maxon::GenericDataGroupChanges (BaseList2D *node)
     
    virtual Bool Init (GeListNode *node, Bool isCloneInit)
     
    virtual void Free (GeListNode *node)
     
    virtual Bool Read (GeListNode *node, HyperFile *hf, Int32 level)
     
    virtual Bool Write (const GeListNode *node, HyperFile *hf) const
     
    virtual Bool CopyTo (NodeData *dest, const GeListNode *snode, GeListNode *dnode, COPYFLAGS flags, AliasTrans *trn) const
     
    virtual Bool GetDDescription (const GeListNode *node, Description *description, DESCFLAGS_DESC &flags) const
     
    virtual Bool GetDParameter (const GeListNode *node, const DescID &id, GeData &t_data, DESCFLAGS_GET &flags) const
     
    virtual Bool SetDParameter (GeListNode *node, const DescID &id, const GeData &t_data, DESCFLAGS_SET &flags)
     
    virtual Bool GetDEnabling (const GeListNode *node, const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc) const
     
    virtual Bool TranslateDescID (GeListNode *node, const DescID &id, DescID &res_id, C4DAtom *&res_at)
     
    - Public Member Functions inherited from BaseData
    virtual ~BaseData ()
     
    void Destructor ()
     

    Private Member Functions

     MAXON_DISALLOW_COPY_AND_ASSIGN (FieldData)
     

    Additional Inherited Members

    - Static Public Member Functions inherited from ObjectData
    static maxon::Result< BoolGetAccessedObjectsDeformerBase (const BaseList2D *node, const C4D_Falloff *falloff, METHOD_ID method, AccessedObjectsCallback &access, ACCESSED_OBJECTS_MASK modifyWrite=ACCESSED_OBJECTS_MASK(0))
     
    - Protected Attributes inherited from NodeData
    GeListNodeprivate_link
     

    Constructor & Destructor Documentation

    ◆ FieldData()

    FieldData ( )

    Default constructor.

    Since
    R17.032

    Member Function Documentation

    ◆ MAXON_DISALLOW_COPY_AND_ASSIGN()

    MAXON_DISALLOW_COPY_AND_ASSIGN ( FieldData  )
    private

    ◆ InitSampling()

    virtual maxon::Result<maxon::GenericData> InitSampling ( const FieldObject op,
    const FieldInfo info 
    ) const
    virtual

    @markprivate - Initialization block, invoked prior to any sampling.

    Parameters
    [in]opThe object, convenience function equivalent to Get().
    [in]infoThe information detailing thread count, points information etc. Caller is responsible for validity of content.
    Returns
    OK on success, error will cancel sampling.

    ◆ FreeSampling()

    virtual void FreeSampling ( const FieldObject op,
    const FieldInfo info,
    maxon::GenericData extraData 
    ) const
    virtual

    @markprivate - Free any temporarily stored data after sampling has finished.

    Parameters
    [in]opThe object, convenience function equivalent to Get().
    [in]infoThe information.

    ◆ Sample()

    virtual maxon::Result<void> Sample ( const FieldObject op,
    const FieldInput inputs,
    FieldOutputBlock outputs,
    const FieldInfo info,
    const maxon::GenericData extraData 
    ) const
    pure virtual

    @markprivate - Sampling invocation. The points are no longer just vectors, but also contain other information that may be relevant such as normal direction, the points must be iterated over and the result filled with the output values. The flags determine which values are being requested by the caller. InitializeSampling must be called first and the points data must be valid. NOTE: Sample does not receive the SharedData. If a layer needs access to it, it can keep a reference on it or copy parts of it in InitSampling.

    Parameters
    [in]opThe object, convenience function equivalent to Get().
    [in]inputsThe points to sample at owned by the caller.
    [out]outputsThe result array, owned by the caller.
    [in]infoThe information.
    Returns
    OK on success.

    ◆ GetFieldFlags()

    virtual FIELDOBJECT_FLAG GetFieldFlags ( const FieldObject op,
    const BaseDocument doc 
    ) const
    virtual

    Gets Field objects flags.

    Parameters
    [in]opThe field object, convenience function equivalent to Get().
    [in]docThe current document.
    Returns
    The field flags see @FIELDOBJECT_FLAG.