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.