HairVideoPost Class Reference Library » 头发

#include <lib_hair.h>

Inheritance diagram for HairVideoPost:

详细描述

Hair video post effect.

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

公共成员函数

Int32   GetObjectCount ()
void  GetObject ( Int32 i, HairRenderObject *hro)
Int32   FindObject ( BaseList2D *bl)
Bool   TracerEnabled ()
Int32   TraceRay (const 向量 &p, const 向量 &v, 向量 &hit, Float &d, Int32 cpu, Float tf, Int32 flags)
void  Sample ( Int32 oindex, VolumeData *vd, Int32 cpu, Int32 lid, Int32 seg, Int32 p, Float lined, const 向量 &linep, const 向量 &v, 向量 &col, const 向量 &n, const 向量 &lp, const 向量 &t, const 向量 &r, 向量 huv, Int32 flags)
Float   SampleTransparency ( Int32 oindex, VolumeData *vd, Int32 lid, Int32 seg, Int32 p, Float lined, const 向量 &n, const 向量 &linep, const 向量 &lp, 向量 huv, Int32 cpu, Int32 flags, const RayLight *light)
Float   SampleShadow ( VolumeData *vd, const RayLight *light, const 向量 &p, Float delta, Int32 cpu, Int32 flags)
Bool   GetTopFragment ( Int32 x, Int32 y, HairFragment *frag, Int32 cpu)
Bool   GetFragmentLink ( Int32 x, Int32 y, HairFragmentLink *frag, Int32 cpu, Bool first)
HairFragment GetFragments ( Int32 x, Int32 y, Int32 &cnt, Int32 cpu)
Bool   SetFragments ( Int32 x, Int32 y, HairFragment *frag, Int32 cnt, Int32 cpu)
Bool   InsertFragment ( Int32 x, Int32 y, HairFragment *frag, Int32 cnt, Int32 cpu)
Bool   InsertFragmentLine ( Int32 x, Int32 y, Int32 xcnt, HairFragment **frag, Int32 *cnt, Int32 cpu)
void  GetHitInfo ( Int32 id, HairHitData *hdata)
Bool   IsLightEnabled ( Int32 oindex, const RayLight *light, Bool *nodiff, Bool *nospec)
Bool   ShadowsEnabled ()
UInt32   GetCompositeFlags ( Int32 oindex)
-  Public Member Functions inherited from BaseVideoPost
BaseVideoPost GetNext (void)
BaseVideoPost GetPred (void)
Bool   StereoMergeImages ( BaseBitmap *dest, const BaseBitmap *const *source, Int32 cnt, const BaseContainer &settings, COLORSPACETRANSFORMATION transform)
Int32   StereoGetCameraCountEditor ( BaseDocument *doc, BaseDraw *bd)
Int32   StereoGetCameraCountRenderer ( BaseDocument *doc, RenderData *rd)
Bool   StereoGetCameraInfo ( BaseDocument *doc, BaseDraw *bd, RenderData *rd, Int32 index, StereoCameraInfo &info)
Bool   RenderEngineCheck ( Int32 id)
-  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 HairVideoPost Alloc ()
static void  Free ( HairVideoPost *&pPost)
-  Static Public Member Functions inherited from BaseVideoPost
static BaseVideoPost Alloc ( Int32 type)
static void  Free ( BaseVideoPost *&bl)
-  Static Public Member Functions inherited from BaseList2D
static BaseList2D Alloc ( Int32 type)
static void  Free ( BaseList2D *&bl)

私有成员函数

  HairVideoPost ()
  ~HairVideoPost ()

Additional Inherited Members

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

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

◆  HairVideoPost()

HairVideoPost () private

◆  ~HairVideoPost()

~ HairVideoPost () private

成员函数文档编制

◆  Alloc()

static HairVideoPost * Alloc ( )
static

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

返回
The allocated hair video post, or nullptr if the allocation failed.

◆  Free()

static void Free ( HairVideoPost *&  pPost )
static

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

参数
[in,out] pPost The hair video post to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

◆  GetObjectCount()

Int32 GetObjectCount ( )

Gets the number of hair render objects.

返回
The object count.

◆  GetObject()

void GetObject ( Int32   i ,
HairRenderObject hro  
)

Gets a hair render object.

参数
[in] i The index of the hair render object: 0 <= index < GetObjectCount()
[out] hro Assigned the hair render object.

◆  FindObject()

Int32 FindObject ( BaseList2D bl )

Finds the index of a hair render object for a scene object.

参数
[in] bl The scene object to find.
返回
The hair render object index of bl ,或 NOTOK .

◆  TracerEnabled()

Bool TracerEnabled ( )

Checks if tracer is enabled.

注意
Always returns false .

◆  TraceRay()

Int32 TraceRay ( const 向量 p ,
const 向量 v ,
向量 hit ,
Float d ,
Int32   cpu ,
Float   tf ,
Int32   flags  
)

Traces a ray.

注意
Always returns NOTOK .

◆  Sample()

void Sample ( Int32   oindex ,
VolumeData vd ,
Int32   cpu ,
Int32   lid ,
Int32   seg ,
Int32   p ,
Float   lined ,
const 向量 linep ,
const 向量 v ,
向量 col ,
const 向量 n ,
const 向量 lp ,
const 向量 t ,
const 向量 r ,
向量   huv ,
Int32   flags  
)

TODO.

◆  SampleTransparency()

Float SampleTransparency ( Int32   oindex ,
VolumeData vd ,
Int32   lid ,
Int32   seg ,
Int32   p ,
Float   lined ,
const 向量 n ,
const 向量 linep ,
const 向量 lp ,
向量   huv ,
Int32   cpu ,
Int32   flags ,
const RayLight light  
)

TODO.

◆  SampleShadow()

Float SampleShadow ( VolumeData vd ,
const RayLight light ,
const 向量 p ,
Float   delta ,
Int32   cpu ,
Int32   flags  
)

Sample shadows.

注意
Always returns 0.0 .

◆  GetTopFragment()

Bool GetTopFragment ( Int32   x ,
Int32   y ,
HairFragment frag ,
Int32   cpu  
)

Gets a top fragment.

注意
Always returns false .

◆  GetFragmentLink()

Bool GetFragmentLink ( Int32   x ,
Int32   y ,
HairFragmentLink frag ,
Int32   cpu ,
Bool   first  
)

Accesses a fragment link.

注意
Always returns false .

◆  GetFragments()

HairFragment * GetFragments ( Int32   x ,
Int32   y ,
Int32 cnt ,
Int32   cpu  
)

Gets fragments.

注意
Always returns nullptr .

◆  SetFragments()

Bool SetFragments ( Int32   x ,
Int32   y ,
HairFragment frag ,
Int32   cnt ,
Int32   cpu  
)

Sets fragments.

注意
Always returns false .

◆  InsertFragment()

Bool InsertFragment ( Int32   x ,
Int32   y ,
HairFragment frag ,
Int32   cnt ,
Int32   cpu  
)

Inserts fragments.

注意
Always returns false .

◆  InsertFragmentLine()

Bool InsertFragmentLine ( Int32   x ,
Int32   y ,
Int32   xcnt ,
HairFragment **  frag ,
Int32 cnt ,
Int32   cpu  
)

Inserts a fragment line.

注意
Always returns false .

◆  GetHitInfo()

void GetHitInfo ( Int32   id ,
HairHitData hdata  
)

Gets hair hit data.

注意
Does nothing.

◆  IsLightEnabled()

Bool IsLightEnabled ( Int32   oindex ,
const RayLight light ,
Bool nodiff ,
Bool nospec  
)

Checks if a light source is enabled for hair rendering.

注意
Always returns true .

◆  ShadowsEnabled()

Bool ShadowsEnabled ( )

Checks if shadows are enabled.

注意
Always returns true .

◆  GetCompositeFlags()

UInt32 GetCompositeFlags ( Int32   oindex )

Gets the compositing flags for hair objects.

参数
[in] oindex The hair object index.
返回
The compositing flags, internally defined as: #define COMPOSITEFLAG_ALL (COMPOSITEFLAG_CASTSHADOW|COMPOSITEFLAG_RECSHADOW|COMPOSITEFLAG_SEENCAMERA|COMPOSITEFLAG_SEENGI|COMPOSITEFLAG_SEENREFLECT|COMPOSITEFLAG_SEENREFRACT|COMPOSITEFLAG_SEENTRANS)

#define COMPOSITEFLAG_CASTSHADOW (1 << 0) #define COMPOSITEFLAG_RECSHADOW (1 << 1) #define COMPOSITEFLAG_SEENCAMERA (1 << 2) #define COMPOSITEFLAG_SEENGI (1 << 3) #define COMPOSITEFLAG_SEENREFLECT (1 << 4) #define COMPOSITEFLAG_SEENREFRACT (1 << 5) #define COMPOSITEFLAG_SEENTRANS (1 << 6)