UVWTag Class Reference

#include <c4d_basetag.h>

Inheritance diagram for UVWTag:

详细描述

Represents the UVW tag.
Handles the UVW coordinates for textures. When assigning a UVW tag to an object ensure the texture is set to UVW.

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

公共成员函数

maxon::Range < Vector32 CalculateBoundingBox () const
-  Public Member Functions inherited from VariableTag
Int32   GetDataCount (void) const
Int32   GetDataSize (void) const
const void *  GetLowlevelDataAddressR (void) const
void *  GetLowlevelDataAddressW (void)
-  Public Member Functions inherited from BaseTag
Bool   Draw ( BaseObject *op, BaseDraw *bd, BaseDrawHelp *bh)
BaseTag GetNext (void)
BaseTag GetPred (void)
BaseObject GetObject (void)
BaseTag GetOrigin ()
-  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)

私有成员函数

  UVWTag ()
  ~UVWTag ()

Alloc/Free

static UVWTag Alloc ( Int32 count)
static void  Free ( UVWTag *&bl)

Get/Set/Copy UVW Coordinates/Data

UVWStruct   GetSlow ( Int32 i)
void  SetSlow ( Int32 i, const UVWStruct &s)
void  CpySlow ( Int32 dst, UVWTag *srctag, Int32 src)
ConstUVWHandle   GetDataAddressR (void) const
UVWHandle   GetDataAddressW (void)

Get/Set/Copy UVWHandle

static void  Get ( ConstUVWHandle dataptr, Int32 i, UVWStruct &res)
static void  Get ( ConstUVWHandle dataptr, Int32 i, SUVWStruct &res)
static void  Set ( UVWHandle dataptr, Int32 i, const UVWStruct &s)
static void  拷贝 ( UVWHandle destptr, Int32 dst, ConstUVWHandle srcptr, Int32 src)

Operations on the Pin Point Selection

void  ClearPinSelection ()
Bool   SetPinSelection (const BaseSelect &pinSelection)
BaseSelect GetPinSelection ()
const BaseSelect GetPinSelection () const
Bool   AddToPinSelection (const BaseSelect &pinSelection)
Bool   RemoveFromPinSelection (const BaseSelect &pinSelection)

Additional Inherited Members

-  Static Public Member Functions inherited from VariableTag
static VariableTag Alloc ( Int32 type, Int32 count)
static void  Free ( VariableTag *&bl)
-  Static Public Member Functions inherited from BaseTag
static BaseTag Alloc ( Int32 type)
static void  Free ( BaseTag *&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

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

◆  UVWTag()

UVWTag () private

◆  ~UVWTag()

~ UVWTag () private

成员函数文档编制

◆  Alloc()

static UVWTag * Alloc ( Int32   count )
static

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

参数
[in] count The number of UVW element data.
返回
The allocated UVW tag, or nullptr if the allocation failed.

◆  Free()

static void Free ( UVWTag *&  bl )
static

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

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

◆  GetSlow()

UVWStruct GetSlow ( Int32   i )

Gets the UVW coordinates for a polygon.

参数
[in] i The index of the polygon to get the coordinates for.
返回
The UVW coordinates.

◆  SetSlow()

void SetSlow ( Int32   i ,
const UVWStruct s  
)

Sets the UVW coordinates for a polygon.

参数
[in] i The index of the polygon to set the coordinates for.
[in] s The UVW coordinates for each point of the polygon.

◆  CpySlow()

void CpySlow ( Int32   dst ,
UVWTag srctag ,
Int32   src  
)

Copies a UVW coordinate.

参数
[in] dst The destination polygon index in the UVWTag .
[in] srctag The UVW tag for the source polygon. The caller owns the pointed tag.
[in] src The source polygon index in the source UVW tag srctag .

◆  GetDataAddressR()

ConstUVWHandle GetDataAddressR ( void  ) const

Gets a handle to the read-only UVW data.

返回
The read-only UVW data. The tag owns the pointed UVW data.

◆  GetDataAddressW()

UVWHandle GetDataAddressW ( void  )

Gets a handle to the writable UVW data.

返回
The writable UVW data. The tag owns the pointed UVW data.

◆  CalculateBoundingBox()

maxon::Range < Vector32 > CalculateBoundingBox ( ) const

Calculates the bounding box of the UVW data. Private .

◆  Get() [1/2]

static void Get ( ConstUVWHandle   dataptr ,
Int32   i ,
UVWStruct res  
)
static

Gets the UVW coordinates for a polygon. 范例:

UVWStruct res; Int32 dataCount = uvwTag-> GetDataCount (); ConstUVWHandle data = uvwTag-> GetDataAddressR (); for ( Int32 i=0; i<dataCount; i++) { UVWTag::Get (data, i, res); // Do something with 'res' }
参数
[in] dataptr The handle to the UVW data.
[in] i The index of the polygon to get the coordinates for.
[out] res Assigned the UVW coordinates for the polygon.

◆  Get() [2/2]

static void Get ( ConstUVWHandle   dataptr ,
Int32   i ,
SUVWStruct res  
)
static

Gets the UVW coordinates for a polygon. 范例:

SUVWStruct res; Int32 dataCount = uvwTag-> GetDataCount (); ConstUVWHandle data = uvwTag-> GetDataAddressR (); for ( Int32 i=0; i<dataCount; i++) { UVWTag::Get (data, i, res); // Do something with 'res' }
参数
[in] dataptr The handle to the UVW data.
[in] i The index of the polygon to get the coordinates for.
[out] res Assigned the UVW coordinates for the polygon.

◆  Set()

static void Set ( UVWHandle   dataptr ,
Int32   i ,
const UVWStruct s  
)
static

Sets the UVW coordinates for a polygon.

参数
[in] dataptr The handle to the UVW data.
[in] i The index of the polygon to set the coordinates for.
[in] s The UVW coordinates for the polygon.

◆  Copy()

static void Copy ( UVWHandle   destptr ,
Int32   dst ,
ConstUVWHandle   srcptr ,
Int32   src  
)
static

Copies UVW coordinates.

参数
[in] destptr The handle to the destination UVW data.
[in] dst The destination polygon index in the destination UVW data destptr .
[in] srcptr The handle to the source UVW data.
[in] src The source polygon index in the source UVW data srcptr .

◆  ClearPinSelection()

void ClearPinSelection ( )

Clears the pin point selection for this tag.

◆  SetPinSelection()

Bool SetPinSelection ( const BaseSelect pinSelection )

Replaces the pin point selection for this tag with the point selection specified.

参数
[in] pinSelection New pin selection to set.
返回
True on success.

◆  GetPinSelection() [1/2]

BaseSelect & GetPinSelection ( )

Obtains the current pin point selection for this tag.

返回
Reference to the pin selection.

◆  GetPinSelection() [2/2]

const BaseSelect & GetPinSelection ( ) const

Obtains the current pin point selection for this tag.

返回
A non-writable reference to the pin selection.

◆  AddToPinSelection()

Bool AddToPinSelection ( const BaseSelect pinSelection )

Adds the point selection specified to the pin point selection.

参数
[in] pinSelection Pin selection to add.
返回
True on success.

◆  RemoveFromPinSelection()

Bool RemoveFromPinSelection ( const BaseSelect pinSelection )

Removes from the pin point selection the points in the selection specified. Points in the specified selection that are not part of the current pin point selection are simply ignored.

参数
[in] pinSelection Pin point selection to remove.
返回
True on success.
VariableTag::GetDataCount
Int32 GetDataCount(void) const
ConstUVWHandle
const typedef void * ConstUVWHandle
Handle for read-only UVW data. See also: UVWTag.
定义: operatingsystem.h:453
UVWTag::Get
static void Get(ConstUVWHandle dataptr, Int32 i, UVWStruct &res)
定义: c4d_basetag.h:469
SUVWStruct
定义: operatingsystem.h:527
UVWStruct
定义: operatingsystem.h:463
Int32
maxon::Int32 Int32
定义: ge_sys_math.h:58
UVWTag::GetDataAddressR
ConstUVWHandle GetDataAddressR(void) const