#ifndef _HAIR_VR_tri_VOXEL_PRIMITIVE_H_ #define _HAIR_VR_tri_VOXEL_PRIMITIVE_H_ // Shave and a Haircut // (c) 2019 Epic Games // US Patent 6720962 /********************************************************************** *< FILE: shaveVrayTriVoxelPrim.h DESCRIPTION: Generic instanced hair voxel primitive CREATED BY: Vladimir Dubovoy HISTORY: created 12-05-2010 *> **********************************************************************/ #include "utils.h" #include "box.h" #include "rayserver.h" #include "vrayplugins.h" #include "rayserver.h" #include "geometryclasses.h" #include "hairAPIvrayutil.h" #include "shaveVrayTriShadeData.h" #include "shaveVrayVoxelPrimBase.h" class shaveVrayInstanceI; //#define OWN_SHADEABLE_FOR_TRI class shaveVrayTriVoxelPrim : public shaveVrayVoxelPrimBase { public: shaveVrayTriVoxelPrim(IHairVoxel* vox, VR::VRayCore* vray, shaveVrayInstanceI* inst); virtual ~shaveVrayTriVoxelPrim(); protected: //const member access inline shaveVrayInstanceI* hinst() const {return m_hinst;} inline VR::Shadeable* shade() const {return m_shade;} inline shaveVrayTriShadeData* shdata() const {return m_shdata;} //member access inline shaveVrayInstanceI*& _hinst() {return m_hinst;} inline VR::Shadeable*& _shade() {return m_shade;} inline shaveVrayTriShadeData*& _shdata() {return m_shdata;} private: shaveVrayInstanceI* m_hinst; VR::Shadeable* m_shade; shaveVrayTriShadeData* m_shdata; }; #endif //end of_HAIR_VR_tri_VOXEL_PRIMITIVE_H_