VolumeBuilder Class Reference Library » VolumeObject

#include <lib_volumebuilder.h>

Inheritance diagram for VolumeBuilder:

详细描述

The Volume object class of type Ovolume .

注意
Has to be created with Alloc() and destroyed with Free() 。使用 AutoAlloc to automate the allocation and destruction based on scope.

私有成员函数

  VolumeBuilder ()
  ~VolumeBuilder ()

Alloc/Free

static VolumeBuilder *  Alloc ()
static void  Free ( VolumeBuilder *&p)

Operations

Bool   InputObjectIsChild ( Int32 index) const
Int32   GetListEntryCount ()
Int32   GetInputObjectCount ( Bool countDouble)
BaseObject *  GetInputObject ( Int32 index) const
BaseObject *  GetInputObjectByType ( Int32 type, Int32 startIndex, Int32 &index)
Bool   AddSceneObject ( BaseObject *object, Int32 index, Bool enabled, BOOLTYPE boolMode, MIXTYPE mixMode)
Bool   RemoveObject ( Int32 index)
void  ClearInputObjects ()
BaseContainer *  GetSettingsContainerForIndex ( Int32 index) const
BaseContainer *  GetSettingsContainerForObject ( BaseObject *object) const
void  SetBoolMode ( Int32 index, BOOLTYPE mode)
BOOLTYPE   GetBoolMode ( Int32 index) const
void  SetMixMode ( Int32 index, MIXTYPE mode)
MIXTYPE   GetMixMode ( Int32 index) const
void  SetEnable ( Int32 index, Bool enable)
Bool   GetEnable ( Int32 index) const
void  SetSelected ( Int32 index, Bool select)
Bool   GetSelected ( Int32 index) const
void  SetMixVectorMode ( Int32 index, MIXVECTORTYPE mode)
MIXVECTORTYPE   GetMixVectorMode ( Int32 index) const

Additional Inherited Members

-  Public Member Functions inherited from BaseObject
BaseObject *  GetNext (void)
BaseObject *  GetPred (void)
BaseObject *  GetUp (void)
BaseObject *  GetDown (void)
BaseObject *  GetDownLast (void)
向量   GetAbsPos () const
void  SetAbsPos (const 向量 &v)
向量   GetAbsScale () const
void  SetAbsScale (const 向量 &v)
向量   GetAbsRot () const
void  SetAbsRot (const 向量 &v)
向量   GetFrozenPos () const
void  SetFrozenPos (const 向量 &v)
向量   GetFrozenScale () const
void  SetFrozenScale (const 向量 &v)
向量   GetFrozenRot () const
void  SetFrozenRot (const 向量 &v)
向量   GetRelPos () const
void  SetRelPos (const 向量 &v)
向量   GetRelScale () const
void  SetRelScale (const 向量 &v)
向量   GetRelRot () const
void  SetRelRot (const 向量 &v)
const 矩阵 &  GetMl (void) const
void  SetMl (const 矩阵 &m)
矩阵   GetFrozenMln () const
矩阵   GetRelMln () const
矩阵   GetRelMl () const
void  SetRelMl (const 矩阵 &m)
矩阵   GetMg () const
void  SetMg (const 矩阵 &m)
矩阵   GetMln () const
矩阵   GetMgn () const
矩阵   GetUpMg () const
void  CopyMatrixTo ( BaseObject *dst)
向量   GetMp (void)
向量   GetRad (void)
Int32   GetEditorMode (void) const
Int32   GetEditorModeH (void) const
void  SetEditorMode ( Int32 mode)
Int32   GetRenderMode (void) const
Int32   GetRenderModeH (void) const
void  SetRenderMode ( Int32 mode)
Bool   GetDeformMode (void) const
void  SetDeformMode ( Bool mode)
Int32   GetRealDeformMode (void) const
void  SetRealDeformMode ( Int32 mode)
Int32   GetUniqueIP (void)
void  SetUniqueIP ( Int32 ip)
BaseTag *  GetFirstTag (void)
BaseTag *  GetLastTag (void)
BaseTag *  GetTag ( Int32 type, Int32 nr=0)
const maxon::BaseArray < BaseTag * > *  GetTagsOfType ( Int32 type) const
const maxon::BaseArray < BaseTag * > *  GetTagsWithFlags ( Int32 flags) const
const void *  GetTagDataR ( Int32 type, Int32 nr=0) const
void *  GetTagDataW ( Int32 type, Int32 nr=0)
Int32   GetTagDataCount ( Int32 type) const
BaseTag *  MakeTag ( Int32 type, BaseTag *pred=nullptr)
VariableTag *  MakeVariableTag ( Int32 type, Int32 count, BaseTag *pred=nullptr)
void  InsertTag ( BaseTag *tp, BaseTag *pred=nullptr)
void  KillTag ( Int32 type, Int32 nr=0)
Bool   CopyTagsTo ( BaseObject *dest, Int32 visible, Int32 variable, Int32 hierarchical, AliasTrans *trans)
BaseObject *  GetCache ( HierarchyHelp *hh=nullptr)
BaseObject *  GetDeformCache (void)
LineObject *  GetIsoparm (void)
void  SetIsoparm ( LineObject *l)
BaseObject *  GetCacheParent (void) const
BaseObject *  GetCacheTopParent (void) const
Bool   SetPhong ( Bool on, Bool anglelimit, Float angle)
Bool   IsDirty ( DIRTYFLAGS flags)
void  SetDirty ( DIRTYFLAGS flags)
Bool   CheckCache ( HierarchyHelp *hh)
void  Touch (void)
void  GetColorProperties ( ObjectColorProperties *prop)
void  SetColorProperties ( ObjectColorProperties *prop)
const 矩阵 &  GetModelingAxis ( BaseDocument *doc)
void  SetModelingAxis (const 矩阵 &m)
BaseObject *  GetAndCheckHierarchyClone ( HierarchyHelp *hh, BaseObject *op, HIERARCHYCLONEFLAGS flags, Bool *dirty, AliasTrans *trans, Bool allchildren)
BaseObject *  GetHierarchyClone ( HierarchyHelp *hh, BaseObject *op, HIERARCHYCLONEFLAGS flags, Bool *dirty, AliasTrans *trans)
BaseObject *  GetHierarchyClone ( HierarchyHelp *hh, BaseObject *op, HIERARCHYCLONEFLAGS flags, Bool *dirty, AliasTrans *trans, DIRTYFLAGS dirtyflags)
void  NewDependenceList (void)
Bool   CompareDependenceList (void)
void  AddDependence ( HierarchyHelp *hh, BaseObject *op)
void  AddDependence ( HierarchyHelp *hh, BaseObject *op, DIRTYFLAGS dirtyflags)
void  TouchDependenceList (void)
void  SetRotationOrder ( ROTATIONORDER order)
ROTATIONORDER   GetRotationOrder (void) const
void  SetQuaternionRotationMode ( Bool active, Bool bUndo)
Bool   IsQuaternionRotationMode (void)
Bool   SynchronizeVectorTrackKeys ( Int32 vectorTrackID, Bool bUndo, BaseTime startRange= BaseTime (-108000, 1), BaseTime endRange= BaseTime (108000, 1))
Bool   FindBestEulerAngle ( Int32 rotationTrackID, Bool bAdjustTangent, Bool bUndo, BaseTime startRange= BaseTime (-108000, 1), BaseTime endRange= BaseTime (108000, 1))
Bool   EvaluateSynchronizedRotation (const BaseTime &time, ANIMATEFLAGS flags, 向量 *resultRotation=nullptr)
Bool   GetVectorTracks (const DescID &id, CTrack *&xfound, CTrack *&yfound, CTrack *&zfound)
Bool   GetVectorCurves ( CCurve *curveToSearch, CCurve *&xfound, CCurve *&yfound, CCurve *&zfound)
UInt64   GetGUID ()
Int32   GetHighlightHandle ( BaseDraw *bd)
SplineObject *  GetRealSpline (void)
Float   GetVisibility ( Float parent)
Bool   SearchHierarchy ( BaseObject *op)
BaseObject *  GetOrigin ( Bool safe)
void  SetOrigin ( BaseObject *origin)
BaseObject *  GetTopOrigin ( Bool parent, Bool safe)
BaseObject *  GetEditObject ( BaseObject **psds, DISPLAYEDITSTATE state, Bool safetey=true)
void  RemoveFromCache (void)
DRAWRESULT   ObjDraw ( DRAWPASS drawpass, BaseDraw *bd, BaseDrawHelp *bh)
-  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 Public Member Functions inherited from BaseObject
static BaseObject *  Alloc ( Int32 type)
static void  Free ( BaseObject *&bl)
-  Static Public Member Functions inherited from BaseList2D
static BaseList2D *  Alloc ( Int32 type)
static void  Free ( BaseList2D *&bl)
-  Static Public Attributes inherited from BaseList2D
static const Int32   SETBIT_FLAG_NODIRTY
static const Int32   SETBIT_FLAG_REMOVE

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

◆  VolumeBuilder()

VolumeBuilder () private

◆  ~VolumeBuilder()

~ VolumeBuilder () private

成员函数文档编制

◆  Alloc()

static VolumeBuilder * Alloc ( )
static

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

返回
The allocated VolumeObject object, or nullptr if the allocation failed.

◆  Free()

static void Free ( VolumeBuilder *&  p )
static

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

参数
[in] p The VolumeObject object to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

◆  InputObjectIsChild()

Bool InputObjectIsChild ( Int32   index ) const

Returns if an object index in the Object list is a child of the generator.

注意
Because the list is a tree, the index depends on the position shown in the UI. This means children are iterated first.
参数
[in] index The index of the list object to check.
返回
True if the input object is a child. False otherwise.

◆  GetListEntryCount()

Int32 GetListEntryCount ( )

Returns the number of elements in the "Objects" list containing folders.

返回
The number of elements in the "Objects" list.

◆  GetInputObjectCount()

Int32 GetInputObjectCount ( Bool   countDouble )

Returns the number of objects in the "Objects" list.

参数
[in] countDouble If true the objects that are multiple times in the list will be counted multiple times.
返回
The number of objects in the "Objects" list.

◆  GetInputObject()

BaseObject * GetInputObject ( Int32   index ) const

Retrieves the object referenced at the given index .

注意
Because the list is a tree, the index depends on the position shown in the UI. This means children are iterated first.
参数
[in] index The index of the object to access.
返回
The object at the given index or nullptr if folder.

◆  GetInputObjectByType()

BaseObject * GetInputObjectByType ( Int32   type ,
Int32   startIndex ,
Int32 &  index  
)

Retrieves the object referenced in the "Sources" list with the given type .

注意
If multiple objects with the given type exist the first is returned.
参数
[in] type The type of object to access.
[in] startIndex Start search at index.
[out] index The index of the returned object.
返回
The object at the given index or nullptr .

◆  AddSceneObject()

Bool AddSceneObject ( BaseObject *  object ,
Int32   index ,
Bool   enabled ,
BOOLTYPE   boolMode ,
MIXTYPE   mixMode  
)

Adds a valid object from the scene to the "Objects" list.

参数
[in] object The object that should be added to the "Objects" list.
[in] index The index the object should be added to.
[in] enabled The enabled state of the added object.
[in] boolMode The bool mode of the added object.
[in] mixMode The mix mode of the added object.
返回
true if the object was added successfully, otherwise false .

◆  RemoveObject()

Bool RemoveObject ( Int32   index )

Removes the object in the list at the given index .

注意
Because the list is a tree, the index depends on the position shown in the UI. This means children are iterated first.
If the object is a child of the VolumeBuilder , it will be automatically readded to the list. Removing the object from the hierarchy would prevent that.
参数
[in] index The index of the object to remove.
返回
true if the object was removed successfully, otherwise false .

◆  ClearInputObjects()

void ClearInputObjects ( )

Clears the "Objects" list.

◆  GetSettingsContainerForIndex()

BaseContainer * GetSettingsContainerForIndex ( Int32   index ) const

Returns the internal container for the settings of an object input.

注意
Because the list is a tree, the index depends on the position shown in the UI. This means children are iterated first.
Allows to change the settings that control the specific conversion of that object.
参数
[in] index The index of the object in the "Objects" list.
返回
The container for the settings if the index is in the list, otherwise nullptr . Also nullptr if folder or filter. The VolumeBuilder owns the pointed BaseContainer .

◆  GetSettingsContainerForObject()

BaseContainer * GetSettingsContainerForObject ( BaseObject *  object ) const

Returns the internal container for the settings of an object input.

注意
Allows to change the settings that control the specific conversion of that object.
参数
[in] object The object in the "Objects" list.
返回
The container for the settings if the object is in the "Objects" list, otherwise nullptr . Also nullptr if folder or filter. The VolumeBuilder owns the pointed BaseContainer .

◆  SetBoolMode()

void SetBoolMode ( Int32   index ,
BOOLTYPE   mode  
)

Sets the bool mode for the index.

参数
[in] index The index of the object to set the bool mode for.
[in] mode The bool mode to set.

◆  GetBoolMode()

BOOLTYPE GetBoolMode ( Int32   index ) const

Gets the bool mode for the index.

参数
[in] index The index of the object to get the bool mode for.
返回
The bool mode for the object at the given index .

◆  SetMixMode()

void SetMixMode ( Int32   index ,
MIXTYPE   mode  
)

Sets the mix mode for the index.

参数
[in] index The index of the object to set the mix mode for.
[in] mode The mix mode to set.

◆  GetMixMode()

MIXTYPE GetMixMode ( Int32   index ) const

Gets the mix mode for the index.

参数
[in] index The index of the object to get the mix mode for.
返回
The mix mode for the object at the given index .

◆  SetEnable()

void SetEnable ( Int32   index ,
Bool   enable  
)

Sets the enabled state for the index.

参数
[in] index The index of the object to set the enabled state for.
[in] enable The enabled state to set.

◆  GetEnable()

Bool GetEnable ( Int32   index ) const

Gets the enabled state for the index.

参数
[in] index The index of the object to get the enabled state for.
返回
True if the object at the given index is enabled, false otherwise.

◆  SetSelected()

void SetSelected ( Int32   index ,
Bool   select  
)

Sets the selection state for the index.

参数
[in] index The index of the object to set the selection state for.
[in] select The selection state to set.

◆  GetSelected()

Bool GetSelected ( Int32   index ) const

Gets the selection state for the index.

参数
[in] index The index of the object to get the selection state for.
返回
True if the object at the given index is selected, false otherwise.

◆  SetMixVectorMode()

void SetMixVectorMode ( Int32   index ,
MIXVECTORTYPE   mode  
)

Sets the mix vector mode for the index.

参数
[in] index The index of the object to set the mix vector mode for.
[in] mode The mix vector mode to set.

◆  GetMixVectorMode()

MIXVECTORTYPE GetMixVectorMode ( Int32   index ) const

Gets the mix vector mode for the index.

参数
[in] index The index of the object to get the mix vector mode for.
返回
The mix vector mode for the object at the given index .