HairInterpolationMap Class Reference

#include <lib_hair.h>

Public Member Functions

 HairInterpolationMap ()
 
 ~HairInterpolationMap ()
 
void Free ()
 
HairGuideWeightGetMap ()
 
HairGuideWeightGetGuides (Int32 index)
 
Int32 GetHairCount ()
 
Int32 GetGuideCount ()
 
Int32 GetWeightCount ()
 
Float64 GetTotalWeight (Int32 index)
 
Float64 GetTotalInvWeight (Int32 index)
 
Float32 GetInterpolateReal (Int32 index, Float32 *v)
 
Float64 GetInterpolateReal (Int32 index, Float64 *v)
 
Vector32 GetInterpolatedVector (Int32 index, Vector32 *v)
 
Vector64 GetInterpolatedVector (Int32 index, Vector64 *v)
 

Private Attributes

HairGuideWeightm_pMap
 
Int32 m_WeightCount
 
Int32 m_GuideCount
 
Int32 m_Count
 

Friends

class ChainBase
 
class HairManager
 

Constructor & Destructor Documentation

◆ HairInterpolationMap()

Constructor.

◆ ~HairInterpolationMap()

Destructor.

Member Function Documentation

◆ Free()

void Free ( void  )

Frees the allocated memory. Called by the destructor.

◆ GetMap()

HairGuideWeight* GetMap ( )

Gets the hair interpolation map with GetWeightCount() instances of HairGuideWeight for each of the GetHairCount() hairs.

Note
Not all of these have HairGuideWeight::m_Index set to not NOTOK, so check for that.
Returns
The hair interpolation map.

◆ GetGuides()

HairGuideWeight* GetGuides ( Int32  index)

Retrieves a pointer into the hair interpolation map at the offset for the specified hair index.

Parameters
[in]indexA hair index: 0 <= index < GetHairCount()
Returns
An offset into the hair interpolation map with GetWeightCount() instances for the specified hair.

◆ GetHairCount()

Int32 GetHairCount ( )

Gets the number of hairs.

Returns
The hair count.

◆ GetGuideCount()

Int32 GetGuideCount ( )

Gets the number of guides.

Returns
The guide count.

◆ GetWeightCount()

Int32 GetWeightCount ( )

Gets the maximum number of weights per hair in the interpolation map array, not necessarily used all of them.

Returns
The maximum number of weights per hair.

◆ GetTotalWeight()

Float64 GetTotalWeight ( Int32  index)

Gets the total weight for the specified hair index.

Parameters
[in]indexA hair index: 0 <= index < GetHairCount()
Returns
The sum of all active weights for the specified hair.

◆ GetTotalInvWeight()

Float64 GetTotalInvWeight ( Int32  index)

Gets the total inverse weight for the specified hair index.

Parameters
[in]indexA hair index: 0 <= index < GetHairCount()
Returns
The sum of the inverse of all active weights for the specified hair.

◆ GetInterpolateReal() [1/2]

Float32 GetInterpolateReal ( Int32  index,
Float32 v 
)

Interpolates Float32 values for the specified hair index using the information in the hair interpolation map.

Parameters
[in]indexA hair index: 0 <= index < GetHairCount()
[in]vAn array with GetWeightCount() elements for each of the possible guides of the specified hair.
Returns
The interpolation result.

◆ GetInterpolateReal() [2/2]

Float64 GetInterpolateReal ( Int32  index,
Float64 v 
)

Interpolates Float64 values for the specified hair index using the information in the hair interpolation map.

Parameters
[in]indexA hair index: 0 <= index < GetHairCount()
[in]vAn array with GetWeightCount() elements for each of the possible guides of the specified hair.
Returns
The interpolation result.

◆ GetInterpolatedVector() [1/2]

Vector32 GetInterpolatedVector ( Int32  index,
Vector32 v 
)

Interpolates Vector32 values for the specified hair index using the information in the hair interpolation map.

Parameters
[in]indexA hair index: 0 <= index < GetHairCount()
[in]vAn array with GetWeightCount() elements for each of the possible guides of the specified hair.
Returns
The interpolation result.

◆ GetInterpolatedVector() [2/2]

Vector64 GetInterpolatedVector ( Int32  index,
Vector64 v 
)

Interpolates Vector64 values for the specified hair index using the information in the hair interpolation map.

Parameters
[in]indexA hair index: 0 <= index < GetHairCount()
[in]vAn array with GetWeightCount() elements for each of the possible guides of the specified hair.
Returns
The interpolation result.

Friends And Related Function Documentation

◆ ChainBase

friend class ChainBase
friend

◆ HairManager

friend class HairManager
friend

Member Data Documentation

◆ m_pMap

HairGuideWeight* m_pMap
private

◆ m_WeightCount

Int32 m_WeightCount
private

◆ m_GuideCount

Int32 m_GuideCount
private

◆ m_Count

Int32 m_Count
private