aboutsummaryrefslogtreecommitdiff
path: root/vrayPlug/plugin/shaveVrayInstanceI.h
diff options
context:
space:
mode:
authorBen Marsh <[email protected]>2019-10-22 09:07:59 -0400
committerBen Marsh <[email protected]>2019-10-22 09:07:59 -0400
commitbd0027e737c6512397f841c22786274ed74b927f (patch)
treef7ffbdb8f3741bb7f24635616cc189cba5cb865c /vrayPlug/plugin/shaveVrayInstanceI.h
downloadshave-and-a-haircut-bd0027e737c6512397f841c22786274ed74b927f.tar.xz
shave-and-a-haircut-bd0027e737c6512397f841c22786274ed74b927f.zip
Adding Shave-and-a-Haircut 9.6
Diffstat (limited to 'vrayPlug/plugin/shaveVrayInstanceI.h')
-rw-r--r--vrayPlug/plugin/shaveVrayInstanceI.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/vrayPlug/plugin/shaveVrayInstanceI.h b/vrayPlug/plugin/shaveVrayInstanceI.h
new file mode 100644
index 0000000..2d3d614
--- /dev/null
+++ b/vrayPlug/plugin/shaveVrayInstanceI.h
@@ -0,0 +1,93 @@
+#ifndef _HAIR_VRAY_INSTANCE_instanced_H_
+#define _HAIR_VRAY_INSTANCE_instanced_H_
+
+// Shave and a Haircut
+// (c) 2019 Epic Games
+// US Patent 6720962
+
+/**********************************************************************
+ *<
+ FILE: shaveVrayInstanceI.h
+
+ DESCRIPTION: VRay instance for instnaced hair
+
+ CREATED BY: Vladimir Dubovoy <[email protected]>
+
+ HISTORY: created 11-05-2010
+
+ *>
+ **********************************************************************/
+
+// V-Ray headers
+#include "vraybase.h"
+#include "vraymayageom.h"
+#include "vrayplugins.h"
+#include "geometryclasses.h"
+//own headers
+#include "hairAPIvrayutil.h"
+#include "shaveVrayPlugin.h"
+#include "shaveVrayVoxelPrim.h"
+#include "shaveVrayInstanceBase.h"
+
+
+class shaveVrayInstanceI :
+#if defined VRAY30
+ public VR::BaseMeshInstance,
+#elif defined(VRAY40)
+ public VR::BaseInstance,
+#endif
+ public shaveVrayInstanceBase{
+public:
+ //shaveVrayPlugin *plugin; //goes to base
+
+
+ shaveVrayInstanceI(shaveVrayPlugin *plugin,
+ VR::MaterialInterface *mtl, VR::BSDFInterface *bsdf, int renderID,
+ VR::VolumetricInterface *volume, VR::LightList *lightList,
+#if defined(VRAY30)
+ const VR::TraceTransform &baseTM,
+#elif defined(VRAY40)
+ const VR::Transform &baseTM,
+#endif
+ int objectID,
+ const tchar *userAttributes, int primaryVisibility);
+
+ void compileGeometry(VR::VRayRenderer *vray,
+#if defined(VRAY30)
+ VR::TraceTransform *tm,
+#elif defined(VRAY40)
+ const VR::Transform *tm,
+#endif
+ double *times, int tmCount) VRAY_OVERRIDE;
+ void clearGeometry(VR::VRayRenderer *vray) VRAY_OVERRIDE;
+
+ //void freeMem();
+
+ //VR::Transform GetItm0() const {return itm[0];}
+
+ bool GetSquirrel() const {return false;}
+
+protected:
+ ////const member access
+ //inline const std::vector<shaveVrayVoxelPrim*>& voxprims() const {return m_voxprims;}
+ //inline shaveVrayVoxelPrim* voxprim(unsigned int i) const {return m_voxprims[i];}
+ //inline int stackid() const {return m_stackid;}
+ //inline IHairNode* hair() const {return m_hair;}
+
+ ////member access
+ //inline std::vector<shaveVrayVoxelPrim*>& _voxprims() {return m_voxprims;}
+ //inline shaveVrayVoxelPrim*& _voxprim(unsigned int i){return m_voxprims[i];}
+ //inline int& _stackid() {return m_stackid;}
+ //inline IHairNode*& _hair() {return m_hair;}
+
+private:
+ ////moving or static primiteves
+ //std::vector<shaveVrayVoxelPrim*> m_voxprims;
+
+ //int m_stackid;
+ //IHairNode* m_hair;
+};
+
+
+
+#endif //end of_HAIR_VRAY_INSTANCE_instanced_H_