FieldLayer Class Reference

#include <c4d_fielddata.h>

Inheritance diagram for FieldLayer:

公共成员函数

FieldLayer GetUp () const
FieldLayer GetDown () const
FieldLayer GetNext () const
FieldLayer GetPred () const
FieldLayer GetDownLast () const
Float   GetStrength () const
void  SetStrength ( Float strength)
Int32   GetBlendingMode () const
void  SetBlendingMode ( Int32 blendingMode)
Int32   GetUniqueID () const
void  SetUniqueID ( Int32 id)
FIELDLAYER_CHANNELFLAG   GetChannelFlags () const
void  SetChannelFlags ( FIELDLAYER_CHANNELFLAG flags)
Bool   GetChannelFlag ( FIELDLAYER_CHANNELFLAG flag) const
void  SetChannelFlag ( FIELDLAYER_CHANNELFLAG flag, Bool state=true)
maxon::Result < void >  InitSampling (const FieldInfo &info, FieldShared &shared)
maxon::Result < void >  Sample (const FieldInput &inputs, FieldOutputBlock &outputs, const FieldInfo &info) const
maxon::Result < void >  Aggregate (const FieldInput &inputs, const FieldOutputBlock &outputs, const FieldInfo &info)
void  FreeSampling (const FieldInfo &info, FieldShared &shared)
Bool   IsEqual ( FieldLayer *comp) const
void  SetLayerFlags ( FIELDLAYER_FLAG flags, Bool state=true)
FIELDLAYER_FLAG   GetLayerFlags () const
FieldLayerLink   GetLinkedObject ( BaseDocument *doc) const
Bool   SetLinkedObject (const FieldLayerLink &link)
GeListHead GetMaskHead () const
maxon::Result < void >  AddMask ()
void  RemoveMask ( Bool deleteLayers=true)
-  Public Member Functions inherited from BaseList2D
const Char GetViewportRenderId ( VIEWPORT_RENDER_ID typeId) const
BaseList2D GetNext ()
BaseList2D GetPred ()
void  SetBit ( Int32 mask)
Bool   GetBit ( Int32 mask) const
void  DelBit ( Int32 mask)
void  ToggleBit ( Int32 mask)
Int32   GetAllBits () const
void  SetAllBits ( Int32 bits)
void  SetBitEx ( Int32 mask, Int32 flags)
BaseContainer   GetData ()
void  SetData (const BaseContainer &bc, Bool add=true)
const BaseContainer GetDataInstance () const
BaseContainer GetDataInstance ()
const BaseContainer GetDataInstanceRef () const
BaseContainer GetDataInstanceRef ()
String   GetName () const
void  SetName (const maxon::String &name)
String   GetBubbleHelp ()
Bool   TransferGoal ( BaseList2D *dst, Bool undolink)
Bool   TransferMarker ( BaseList2D *dst) const
Bool   比例 ( Float scale)
Bool   编辑 ()
void  GetIcon ( IconData *dat)
GeListHead GetNLARoot ()
BaseList2D AnimationLayerRemap ( BaseObject **layer=nullptr)
String   GetTypeName ()
BaseList2D GetMain () const
void  InsertTrackSorted ( CTrack *track)
Bool   AddEventNotification ( BaseList2D *bl, NOTIFY_EVENT eventid, NOTIFY_EVENT_FLAG flags, const BaseContainer *data)
Bool   RemoveEventNotification ( BaseDocument *doc, BaseList2D *bl, NOTIFY_EVENT eventid)
Bool   FindEventNotification ( BaseDocument *doc, BaseList2D *bl, NOTIFY_EVENT eventid)
Bool   SetDescIDState (const DescID &id, DESCIDSTATE descidstate)
DESCIDSTATE   GetDescIDState (const DescID &id, Bool tolerant) const
GeListHead GetOverrideRoot ()
BaseOverride GetFirstOverride ()
GeListHead GetShaderRepositoryRoot ()
GeListHead GetHiddenShaderRoot ()
maxon::NimbusInterface *  GetNimbusRef (const maxon::Id &spaceId) const
maxon::Result < maxon::NimbusInterface * >  GetOrCreateNimbusRef (const maxon::Id &spaceId)
void  RemoveNimbusRef (const maxon::Id &spaceId)
maxon::Result < maxon::HashMap < maxon::Id , maxon::ForwardRef < maxon::NimbusRef > > >  GetAllNimbusRefs () const
Bool   IsNodeBased () const
void  GetMarkerStampEx ( UInt32 *l1, UInt32 *l2)
const GeMarker GetMarker () const
void  SetMarker (const GeMarker &m)
Bool   AddUniqueID ( Int32 appid, const Char *const mem, Int bytes)
Bool   FindUniqueID ( Int32 appid, const Char *&mem, Int &bytes) const
Int32   GetUniqueIDCount () const
Bool   GetUniqueIDIndex ( Int32 idx, Int32 &id, const Char *&mem, Int &bytes) const
Bool   SetAnimatedParameter ( CTrack *track, const DescID &id, const GeData &t_data1, const GeData &t_data2, Float mix, DESCFLAGS_SET flags)
Bool   GetAnimatedParameter (const DescID &id, GeData &t_data1, GeData &t_data2, Float &mix, DESCFLAGS_GET flags)
BaseShader GetFirstShader () const
void  InsertShader ( BaseShader *shader, BaseShader *pred=nullptr)
void  ClearKeyframeSelection ()
Bool   FindKeyframeSelection (const DescID &id)
Bool   SetKeyframeSelection (const DescID &id, Bool selection)
Bool   KeyframeSelectionContent ()
LayerObject GetLayerObject ( BaseDocument *doc)
Bool   SetLayerObject ( LayerObject *layer)
const LayerData GetLayerData ( BaseDocument *doc, Bool rawdata=false)
Bool   SetLayerData ( BaseDocument *doc, const LayerData &data)
GeListHead GetCTrackRoot ()
CTrack GetFirstCTrack ()
CTrack FindCTrack (const DescID &id)
-  Public Member Functions inherited from GeListNode
GeListNode GetNext ()
GeListNode GetPred ()
GeListNode GetDown ()
GeListNode GetUp ()
GeListNode GetDownLast ()
void  InsertBefore ( GeListNode *bl)
void  InsertAfter ( GeListNode *bl)
void  InsertUnder ( GeListNode *bl)
void  InsertUnderLast ( GeListNode *bl)
void  移除 ()
GeListHead GetListHead ()
Int32   GetNodeID ( Int32 index=0) const
template<typename CAST >
const CAST *  GetNodeData ( Int32 index=0) const
template<typename CAST >
CAST *  GetNodeData ( Int32 index=0)
void  SetCustomData ( GeListNode *node)
GeListNode GetCustomData ()
BaseDocument GetDocument ()
Int32   GetBranchInfo ( BranchInfo *info, Int32 max, GETBRANCHINFO flags)
Bool   IsDocumentRelated ()
Int32   GetInfo ()
Bool   GetNBit ( NBIT bit) const
UInt32   GetNBitMask ( Int32 index) const
Bool   ChangeNBit ( NBIT bit, NBITCONTROL bitmode)
-  Public Member Functions inherited from C4DAtom
Int32   GetType () const
Int32   GetRealType () const
Int32   GetDiskType () const
Bool   IsInstanceOf ( Int32 id) const
Int32   GetClassification () const
Bool   消息 ( Int32 type, void *data=nullptr)
Bool   MultiMessage ( MULTIMSG_ROUTE flags, Int32 type, void *data)
C4DAtom GetClone ( COPYFLAGS flags, AliasTrans *trn)
Bool   CopyTo ( C4DAtom *dst, COPYFLAGS flags, AliasTrans *trn)
Bool   读取 ( HyperFile *hf, Int32 id, Int32 level)
Bool   Write ( HyperFile *hf)
Bool   ReadObject ( HyperFile *hf, Bool readheader)
Bool   WriteObject ( HyperFile *hf)
Bool   GetDescription ( 描述 *description, DESCFLAGS_DESC flags)
Bool   GetParameter (const DescID &id, GeData &t_data, DESCFLAGS_GET flags)
Bool   SetParameter (const DescID &id, const GeData &t_data, DESCFLAGS_SET flags)
DynamicDescription GetDynamicDescription ()
Bool   GetEnabling (const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc)
Bool   TranslateDescID (const DescID &id, DescID &res_id, C4DAtom *&res_at)
UInt32   GetDirty ( DIRTYFLAGS flags) const
void  SetDirty ( DIRTYFLAGS flags)
UInt32   GetHDirty ( HDIRTYFLAGS mask) const
void  SetHDirty ( HDIRTYFLAGS mask)

静态公共成员函数

static FieldLayer Alloc ( Int32 type)
static void  Free ( FieldLayer *&layer)
-  Static Public Member Functions inherited from BaseList2D
static BaseList2D Alloc ( Int32 type)
static void  Free ( BaseList2D *&bl)

私有成员函数

  MAXON_DISALLOW_COPY_AND_ASSIGN ( FieldLayer )
  FieldLayer ()
  ~FieldLayer ()

Additional Inherited Members

-  Static Public Attributes inherited from BaseList2D
static const Int32   SETBIT_FLAG_NODIRTY
static const Int32   SETBIT_FLAG_REMOVE

构造函数 & 析构函数文档编制

◆  FieldLayer()

FieldLayer () private

◆  ~FieldLayer()

~ FieldLayer () private

成员函数文档编制

◆  MAXON_DISALLOW_COPY_AND_ASSIGN()

MAXON_DISALLOW_COPY_AND_ASSIGN ( FieldLayer   )
private

◆  GetUp()

FieldLayer * GetUp ( ) const

Gets the parent FieldLayer FieldList

返回
nullptr if there is no parent, else the parent.

◆  GetDown()

FieldLayer * GetDown ( ) const

Gets the first child of the FieldLayer FieldList

返回
nullptr if there are no children, else the first child.

◆  GetNext()

FieldLayer * GetNext ( ) const

Gets the next FieldLayer FieldList

返回
nullptr if this is the final FieldLayer at the current level, otherwise the next sibling.

◆  GetPred()

FieldLayer * GetPred ( ) const

Gets the previous FieldLayer FieldList

返回
nullptr if this is the first FieldLayer at the current level, otherwise the previous sibling.

◆  GetDownLast()

FieldLayer * GetDownLast ( ) const

Gets the last child of the FieldLayer FieldList

返回
nullptr if there are no children, else the last child.

◆  GetStrength()

Float GetStrength ( ) const

Gets the FieldLayer 's strength in the FieldList

返回
The strength in percent.

◆  SetStrength()

void SetStrength ( Float   strength )

Sets a the FieldLayer 's blending strength.

参数
[in] strength The strength to set in percent.

◆  GetBlendingMode()

Int32 GetBlendingMode ( ) const

Gets the FieldLayers blending mode in the FieldList

返回
The blending mode, see Flbase.h /res.

◆  SetBlendingMode()

void SetBlendingMode ( Int32   blendingMode )

Sets FieldLayer 's blending mode

参数
[in] blendingMode The blending mode, see FLbase.h /res.

◆  GetUniqueID()

Int32 GetUniqueID ( ) const

@markprivate

◆  SetUniqueID()

void SetUniqueID ( Int32   id )

@markprivate

◆  GetChannelFlags()

FIELDLAYER_CHANNELFLAG GetChannelFlags ( ) const

Gets the enable state flags for the layers channel, e.g. the overall on/off (enable) or value, color and slope states

返回
The channel flags for the layer see FIELDLAYER_CHANNELFLAG.

◆  SetChannelFlags()

void SetChannelFlags ( FIELDLAYER_CHANNELFLAG   flags )

Sets channel flags to the passed FIELDLAYER_CHANNELFLAG value

参数
[in] flags The flags state to be set for this layer.

◆  GetChannelFlag()

Bool GetChannelFlag ( FIELDLAYER_CHANNELFLAG   flag ) const

Gets a specific channel enabling state flag for the layer. e.g. the enable, value, color or slope states

参数
[in] flag The flag to retrieve.
返回
True if the flag is set, False if it is clear.

◆  SetChannelFlag()

void SetChannelFlag ( FIELDLAYER_CHANNELFLAG   flag ,
Bool   state = true  
)

Sets a specific channel flag state for the layer, e.g. the overall enabling, value, color or slope states

参数
[in] flag The flag to set or clear.
[in] state (Optional) True to set the state to on, False to disable (clear) the flag for the layer.

◆  InitSampling()

maxon::Result <void> InitSampling ( const FieldInfo info ,
FieldShared shared  
)

Initializes the Field Sampling, Must be called prior to invoking the Sample function. FreeSampling must be called to free any memory allocated during InitSampling after this.

参数
[in] info A fully populated FieldInfo structure.
[in,out] shared Data shared between fields/layers.
返回
OK on success.

◆  Sample()

maxon::Result <void> Sample ( const FieldInput inputs ,
FieldOutputBlock outputs ,
const FieldInfo info  
) const

Samples the FieldLayer . InitSampling must be called prior to use, and FreeSampling must be called after use. 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.

参数
[in] inputs The points to sample in global space.
[in,out] outputs The output arrays, must be allocated prior to use.
[in] info A fully populated FieldInfo structure.
返回
OK on success.

◆  Aggregate()

maxon::Result <void> Aggregate ( const FieldInput inputs ,
const FieldOutputBlock outputs ,
const FieldInfo info  
)

@MarkPrivate

参数
[in] inputs The inputs.
[in] outputs The outputs.
[in] info The information.
返回
OK on success.

◆  FreeSampling()

void FreeSampling ( const FieldInfo info ,
FieldShared shared  
)

Free's the Field Sampling. Releases any memory allocated during InitSampling.

参数
[in] info A fully populated FieldInfo structure.
[in,out] shared Data shared between fields/layers.

◆  IsEqual()

Bool IsEqual ( FieldLayer comp ) const

Query if this layer is equal to another. Used by the undo system and to update dirtiness as required.

参数
[in] comp The FieldLayer to compare to.
返回
True if equal, false if not.

◆  SetLayerFlags()

void SetLayerFlags ( FIELDLAYER_FLAG   flags ,
Bool   state = true  
)

Sets the layer display and execution flags, see FIELDLAYER_FLAG.

参数
[in] flags The flags to set, see FIELDLAYER_FLAG.
[in] state (Optional) true to set, false to clear.

◆  GetLayerFlags()

FIELDLAYER_FLAG GetLayerFlags ( ) const

Gets the layer execution and display flags, see FIELDLAYER_FLAG.

返回
The layer flags.

◆  GetLinkedObject()

FieldLayerLink GetLinkedObject ( BaseDocument doc ) const

FieldLayer links to another object in scene this function should return that object. This is used for it's GUI and to check dirtiness within the FieldList

参数
[in] doc The document the FieldLayer belongs to.
返回
The linked object and potentially secondary data in a FieldLayerLink structure.

◆  SetLinkedObject()

Bool SetLinkedObject ( const FieldLayerLink link )

FieldLayer accepts a linked object then this function sets that object. This is used for it's GUI and to check the dirtiness within the FieldList

参数
[in] link A populated FieldLayerLink .
返回
True if it succeeds, false if it fails.

◆  Alloc()

static FieldLayer * Alloc ( Int32   type )
static

Allocates a Field layer. Destroy the allocated Field layer with Free() 。使用 AutoAlloc to automate the allocation and destruction based on scope.

参数
[in] type The layer type.
返回
The allocated Field layer, or nullptr if the allocation failed.

◆  Free()

static void Free ( FieldLayer *&  layer )
static

Destructs Field layer allocated with Alloc() 。使用 AutoAlloc to automate the allocation and destruction based on scope.

参数
[in,out] layer The Field layer to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

◆  GetMaskHead()

GeListHead * GetMaskHead ( ) const

FieldLayer has a mask then this retrieve the listhead containing the mask layers.

返回
The GeListHead containing the mask layers, nullptr if masks aren't active on this layer.

◆  AddMask()

maxon::Result <void> AddMask ( )

Adds a mask to the FieldLayer , if a mask already exists then this will do nothing.

返回
OK on success.

◆  RemoveMask()

void RemoveMask ( Bool   deleteLayers = true )

Removes the mask on the FieldLayer , if no mask exists then this will do nothing.

参数
[in] deleteLayers true to delete the layers in the mask, false to retain them so that when enabled again via AddMask the layers will reappear.