#ifndef _HAIR_VR_PRIM_SHARED_FUCTIONS_H_ #define _HAIR_VR_PRIM_SHARED_FUCTIONS_H_ // Shave and a Haircut // (c) 2019 Epic Games // US Patent 6720962 /********************************************************************** *< FILE: shaveVraySharedFunctions.h DESCRIPTION: Various shared functions HISTORY: created 21-08-2008 ( as part of 3ds Max + VRay hair shaders) merged 31-03-2010 *> **********************************************************************/ #include "shaveVrayNode.h" #ifdef USE_VRAY #include #include #include #include /* // This code seems unused... #include inline void GenOrthVectors(const VR::Vector& in, VR::Vector& u, VR::Vector& v) { u = (in.x != 0.0f || in.y != 0.0f) ? normalize(VR::Vector(-in.y, in.x, 0.0f)) : VR::Vector(1.0f, 0.0f, 0.0f); v = normalize(in^u); } // */ MObject getNodeByName(const char *nodeName); void FindNodesByTypeId(MTypeId nodeType, MObjectArray& nodes); void FindNodesByApiType(MFn::Type type, MObjectArray& nodes); bool getSourcePlugFromPlug(const MPlug destPlug, MPlug &plug); bool FindCurrentShaveShape(MObject &shShape); bool FindConnectedShaveShape(MObject node, MObject &shShape); bool FindAllShaveShapes(MObjectArray& shShapes); bool EnumDownNodes(MObject thisNode, MObjectArray& nodes); bool GetLibPathEnv(const MString vrayVersion, MString &path); bool GetLibPath(const MString vrayVersion, MString &var); #endif //USE_VRAY #endif //end of_HAIR_VR_PRIM_SHARED_FUCTIONS_H_