예제 #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());
            }
        }
예제 #2
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();
      }
    }