Esempio n. 1
0
        /// <summary>
        /// Override this function to provide information about which texture is used for
        /// the standard (ie - defined in ON_Texture) texture channels.
        /// </summary>
        /// <param name="slot">An valid slot.</param>
        /// <returns>The texture used for the channel.</returns>
        public virtual string TextureChildSlotName(StandardChildSlots slot)
        {
            if (IsNativeWrapper())
            {
                StringIds iString = StringIds.DiffuseChildSlotName;
                switch (slot)
                {
                case StandardChildSlots.Diffuse:
                    iString = StringIds.DiffuseChildSlotName;
                    break;

                case StandardChildSlots.Transparency:
                    iString = StringIds.TransparencyChildSlotName;
                    break;

                case StandardChildSlots.Bump:
                    iString = StringIds.BumpChildSlotName;
                    break;

                case StandardChildSlots.Environment:
                    iString = StringIds.EnvironmentChildSlotName;
                    break;
                }
                return(GetString(iString));
            }

            using (Rhino.Runtime.StringHolder sh = new Rhino.Runtime.StringHolder())
            {
                IntPtr pString = sh.NonConstPointer();
                UnsafeNativeMethods.Rdk_RenderMaterial_CallTextureChildSlotNameBase(ConstPointer(), pString, (int)slot);
                return(sh.ToString());
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Internal method used to get string values from the C++ SDK
 /// </summary>
 /// <param name="which">Id of string value to get</param>
 /// <returns>Returns the requested string value.</returns>
 internal string GetString(StringIds which)
 {
   IntPtr pConstThis = ConstPointer();
   using (Runtime.StringHolder sh = new Runtime.StringHolder())
   {
     IntPtr pString = sh.NonConstPointer();
     UnsafeNativeMethods.Rdk_RenderContent_GetString(pConstThis, pString, (int)which);
     return sh.ToString();
   }
 }