lib_hair.h File Reference

Classes

struct  HairRootData
 
struct  HairPolygonHit
 
struct  RootObjectData
 
class  HairGuideWeight
 
class  HairInterpolationMap
 
class  HairMaterialData
 
class  HairGuideDynamics
 
class  HairGuides
 
class  HairObject
 
class  HairVertexMapTag
 
class  HairSelectionTag
 
class  HairTangentTag
 
class  HairRenderObject
 
struct  HairFragment
 
struct  HairFragmentLink
 
struct  HairHitData
 
class  HairVideoPost
 
class  HairPluginObjectData
 
class  HairPluginMessageData
 
class  HairLibrary
 
class  HairCollider
 

Macros

#define Ohair
 
#define Thairselection
 
#define Thairvertex
 
#define VPhair
 
#define Mhair
 
#define Thairmaterial
 
#define Thaircollider
 
#define Thairtangent
 
#define Thairlight
 
#define HAIR_ROOT_TYPE_INVALID
 
#define HAIR_ROOT_TYPE_NONE
 
#define HAIR_ROOT_TYPE_VERTEX
 
#define HAIR_ROOT_TYPE_POLY
 
#define HAIR_ROOT_TYPE_SEGMENT
 
#define HAIR_ROOT_TYPE_SPLINE2D
 
#define HAIR_ROOT_TYPE_SPLINE3D
 
#define HAIR_ROOT_TYPE_GUIDES
 
#define HAIR_ROOT_TYPE_NULL
 
#define HAIR_ROOT_TYPE_CLONE
 
#define HAIR_GENERATE_FLAGS_NONE
 
#define HAIR_GENERATE_FLAGS_NO_MATERIAL
 
#define HAIR_GENERATE_FLAGS_NO_DYNAMICS
 
#define HAIR_GENERATE_FLAGS_NO_TRANSFORM
 
#define HAIR_GENERATE_FLAGS_NO_DEFORMERS
 
#define HAIR_MODE_LOCKED
 
#define HAIR_MODE_HIDDEN
 
#define HAIR_MODE_TIPS
 
#define HAIR_MODE_POINTS
 
#define HAIR_MODE_GUIDES
 
#define HAIR_MODE_ROOTS
 
#define HAIR_MODE_VERTEX
 
#define HAIR_MPARAMETER_THICKNESS
 
#define HAIR_MPARAMETER_COLOR
 
#define HAIR_MPARAMETER_BACKCOLOR
 
#define HAIR_MPARAMETER_TRANSPARENCY
 
#define HAIR_LOCK_FLAGS_ANIMATING
 
#define HAIR_LOCK_FLAGS_FULL_UPDATE
 
#define HAIR_LOCK_FLAGS_NO_TRANSFORM
 
#define HAIR_GUIDE_FLAGS_LOCAL
 
#define HAIR_GUIDE_FLAGS_AS_GUIDES
 
#define HAIR_GUIDE_FLAGS_INITIAL
 
#define HAIR_GUIDE_FLAGS_HAIRS
 
#define HAIR_GUIDE_FLAGS_INITIALAXIS
 
#define HAIR_VP_FLAG_NOHOOKS
 
#define MSG_HAIR_GET_OBJECT_TYPE
 
#define MSG_HAIR_GET_OBJECTS
 
#define HAIR_CALC_FLAG_APPLYMATERIALS
 
#define HAIR_CALC_FLAG_APPLYDEFORMERS
 
#define HAIR_CALC_FLAG_DISPLACE
 
#define HAIR_CALC_FLAG_SKIP
 
#define HAIR_CALC_FLAG_NOMEMORY
 
#define HAIR_CALC_FLAG_BREAK
 
#define HAIR_PLUGIN_TYPE_FORCE
 
#define HAIR_PLUGIN_TYPE_CONSTRAINT
 
#define HAIR_PLUGIN_TYPE_COLLIDER
 
#define HAIR_PLUGIN_TYPE_DEFORMER
 
#define HAIR_PLUGIN_TYPE_GENERATOR
 
#define HAIR_PLUGIN_TYPE_SHADER
 
#define HAIR_PLUGIN_TYPE_STYLING
 
#define HAIR_GENERATE_PASS_INIT
 
#define HAIR_GENERATE_PASS_BUILD
 
#define HAIR_GENERATE_PASS_FREE
 
#define HAIR_GENERATE_PASS_THICKNESS
 
#define HAIR_GENERATE_HOOK_BUILD
 
#define HAIR_GENERATE_HOOK_DYNAMICS
 
#define HAIR_HOOK_TYPE_SAMPLE_COLOR
 
#define HAIR_HOOK_TYPE_SAMPLE_TRANS
 
#define HAIR_HOOK_TYPE_SAMPLE_SHADOWS
 
#define HAIR_HOOK_TYPE_GENERATE_HAIR
 
#define HAIR_HOOK_TYPE_ILLUMINATE
 
#define HAIR_RENDER_INIT_PASS_PRE
 
#define HAIR_RENDER_INIT_PASS_BUILD
 
#define HAIR_RENDER_INIT_PASS_POST
 
#define HAIR_PLUGIN_DATA_VERSION
 
#define HAIR_MSG_DATA_VERSION
 
#define LIBRARY_HAIR
 
#define LIBRARY_HAIR_COLLIDER
 

Typedefs

typedef Bool(* HrDeform) (BaseDocument *doc, BaseList2D *op, HairObject *hair, HairGuides *guides, Vector *padr, Int32 cnt, Int32 scnt)
 
typedef Bool(* HrStyle) (BaseDocument *doc, BaseList2D *op, HairObject *hair, HairGuides *guides, Vector *padr, Int32 cnt, Int32 scnt)
 
typedef Bool(* HrForce) (BaseDocument *doc, BaseList2D *op, HairObject *hair, HairGuides *guides, HairGuideDynamics *dyn, Vector *force, Float *invmass, Vector *padr, Int32 pcnt, Int32 cnt, Int32 scnt, Float t1, Float t2)
 
typedef Bool(* HrConstraint) (BaseDocument *doc, BaseList2D *op, HairObject *hair, HairGuides *guides, HairGuideDynamics *dyn, Vector *oldpnt, Vector *newpnt, Float *invmass, Int32 pcnt, Int32 cnt, Int32 scnt)
 
typedef Bool(* HrCollision) (BaseDocument *doc, BaseList2D *op, HairObject *hair, HairGuides *guides, HairGuideDynamics *dyn, const Vector &bmin, const Vector &bmax, Float t1, Float t2, Float pr, Vector *oldpnt, Vector *newpnt, Vector *vel, Float *invmass, Int32 pcnt, Int32 cnt, Int32 scnt)
 
typedef HairGuides *(* HrGenerate) (BaseDocument *doc, BaseList2D *op, HairObject *hair, BaseThread *thd, VolumeData *vd, Int32 pass, void *data)
 
typedef Int32(* HrCalcHair) (Int32 index, Int32 oindex, NodeData *node, HairGuides *guides, Vector *guide_pnts, Vector *rend_pnts, Float32 *thickness, VolumeData *vd, Vector *n)
 
typedef Int32(* HrGenerateAdd) (BaseDocument *doc, BaseList2D *op)
 
typedef Vector(* HrGenerateColor) (HairVideoPost *vp, Int32 oindex, HairMaterialData *mat, const RayObject *ro, HairObject *op, HairGuides *guides, BaseList2D *bl, Float32 *thk, VolumeData *vd, Int32 cpu, Int32 lid, Int32 seg, Int32 p, Float lined, const Vector &linep, const Vector &v, const Vector &n, const Vector &lp, const Vector &t, const Vector &r, const Vector &huv, const RayHitID &ply_hit)
 
typedef Float(* HrGenerateTransparency) (HairVideoPost *vp, Int32 oindex, HairMaterialData *mat, const RayObject *ro, HairObject *op, HairGuides *guides, BaseList2D *bl, Float32 *thk, VolumeData *vd, Int32 cpu, Int32 lid, Int32 seg, Int32 p, Float lined, const Vector &linep, const Vector &n, const Vector &lp, const Vector &huv, const RayHitID &ply_hit, const RayLight *light)
 
typedef Vector(* HrSampleExt) (BaseShader *shader, NodeData *node, ChannelData *cd, HairGuides *guides, Int32 i, Float t)
 
typedef Vector(* HrSampleHairColorHook) (HairVideoPost *vp, Int32 oindex, HairMaterialData *mat, const RayObject *ro, HairObject *op, HairGuides *guides, BaseList2D *bl, Float32 *thk, VolumeData *vd, Int32 cpu, Int32 lid, Int32 seg, Int32 p, Float lined, const Vector &linep, const Vector &v, const Vector &n, const Vector &lp, const Vector &t, const Vector &r, const Vector &huv, const RayHitID &ply_hit)
 
typedef Float(* HrSampleHairTransparencyHook) (HairVideoPost *vp, Int32 oindex, HairMaterialData *mat, const RayObject *ro, HairObject *op, HairGuides *guides, BaseList2D *bl, Float32 *thk, VolumeData *vd, Int32 cpu, Int32 lid, Int32 seg, Int32 p, Float lined, const Vector &linep, const Vector &n, const Vector &lp, const Vector &huv, const RayHitID &ply_hit, const RayLight *light)
 
typedef Float(* HrSampleShadowBufferHook) (HairVideoPost *vp, VolumeData *vd, const RayLight *light, const Vector &p, Float delta, Int32 cpu)
 
typedef Bool(* HrGenerateHairHook) (HairObject *op, HairGuides *guides, HairGuides *hair, Int32 pass)
 
typedef Bool(* HrIlluminateHook) (HairVideoPost *vp, VolumeData *vd, const RayLight *light, Vector &colshad, Vector &col, Vector &lv, const Vector &p, const Vector &v)
 
typedef Bool(* HrInitRender) (HairVideoPost *vp, VolumeData *vd, BaseDocument *doc, BaseList2D *bl, HairObject *op, HairGuides *guides, Int32 oindex, Int32 pass)
 
typedef void(* HrFreeRender) (HairVideoPost *vp, BaseList2D *bl)
 
typedef Float(* HrModifyHairShadowTransparency) (HairVideoPost *vp, Int32 oindex, HairMaterialData *mat, const RayObject *ro, HairObject *op, HairGuides *guides, BaseList2D *bl, Float32 *thk, VolumeData *vd, Int32 cpu, Int32 lid, Int32 seg, Int32 p, Float lined, const Vector &linep, const Vector &n, const Vector &lp, const Vector &huv, const RayHitID &ply_hit, const RayLight *light, Float trans)
 

Enumerations

enum class  HAIR_MSG_DATA_FLAG {
  TEXTURETAG ,
  NONE
}
 
enum class  HAIR_MSG_DATA_TYPE {
  GETMATERIAL ,
  ADDOBJECT ,
  INIT ,
  INITRENDER ,
  FREERENDER ,
  NONE
}
 

Functions

enum HAIR_MSG_DATA_FLAG MAXON_ENUM_FLAGS (HAIR_MSG_DATA_FLAG)
 
enum HAIR_MSG_DATA_TYPE MAXON_ENUM_LIST (HAIR_MSG_DATA_TYPE)
 

Variables

class CINEWARE_SINGLEINHERITANCE iHairCollider
 
 TEXTURETAG
 
 NONE
 
 GETMATERIAL
 
 ADDOBJECT
 
 INIT
 
 INITRENDER
 
 FREERENDER
 
class HairPluginMessageData MAXON_ENUM_LIST
 

Variable Documentation

◆ TEXTURETAG

TEXTURETAG

◆ NONE

NONE

◆ GETMATERIAL

GETMATERIAL

◆ ADDOBJECT

ADDOBJECT

◆ INIT

INIT

◆ INITRENDER

INITRENDER

◆ FREERENDER

FREERENDER