#ifndef shaveItHairImpl_h #define shaveItHairImpl_h // Shave and a Haircut // (c) 2019 Epic Games // US Patent 6720962 #include #include #include #include "libShave.h" #include "shaveAPI.h" #include "shaveConstant.h" class shaveRenderer; class LIBSHAVE_API shaveItHairImpl { public: static MStatus clear(); static MStatus init(bool instances, bool renderableOnly); static MStatus init(bool instances, MObjectArray& shaveNodes); static MStatus nextHair(shaveAPI::HairInfo* hairInfo); static MStatus nextHairCounts(shaveAPI::HairInfo* hairInfo); static MStatus reset(); protected: static bool mDoingInstances; static shaveConstant::RenderMode mHairRenderMode; static MFloatArray mInstanceUs; static MFloatArray mInstanceVs; static int mLastNodeIndex; static shaveRenderer* mRenderer; static MStatus doInit(bool instances, MObjectArray& shaveNodes); }; #endif