Material
========

.. py:module:: rhino3dm

.. py:class:: Material

   .. py:method:: Material()

      Material constructor


   .. py:method:: Material()

      Material constructor


   .. py:attribute:: RenderPlugInId

      Guid: The Id of the RenderPlugIn that is associated with this material.

   .. py:attribute:: RenderMaterialInstanceId


   .. py:attribute:: Name


   .. py:attribute:: Shine

      float: Gets or sets the shine factor of the material.

   .. py:attribute:: Transparency

      float: Gets or sets the transparency of the material (0.0 = opaque to 1.0 = transparent)

   .. py:attribute:: IndexOfRefraction

      float: Gets or sets the index of refraction of the material, generally
      >= 1.0 (speed of light in vacuum)/(speed of light in material)

   .. py:attribute:: FresnelIndexOfRefraction

      float: Gets or sets the Fresnel index of refraction of the material,
      default is 1.56

   .. py:attribute:: RefractionGlossiness

      float: Gets or sets the refraction glossiness.

   .. py:attribute:: ReflectionGlossiness

      float: Gets or sets the reflection glossiness.

   .. py:attribute:: FresnelReflections

      bool: Gets or sets if Fresnel reflections are used.

   .. py:attribute:: DisableLighting


   .. py:attribute:: Reflectivity

      float: Gets or sets how reflective a material is, 0f is no reflection
      1f is 100% reflective.

   .. py:attribute:: PreviewColor

      System.Drawing.Color: Very simple preview color function for GUIs.

   .. py:attribute:: DiffuseColor


   .. py:attribute:: AmbientColor


   .. py:attribute:: EmissionColor


   .. py:attribute:: SpecularColor


   .. py:attribute:: ReflectionColor


   .. py:attribute:: TransparentColor


   .. py:attribute:: PhysicallyBased


   .. py:staticmethod:: CompareAppearance(material1, material2)

      [todo] add documentation

   .. py:method:: Default()

      Set material to default settings.


      :rtype: void

   .. py:method:: GetTexture(which)

      Get the texture that corresponds with the specified texture type for this material.


      :rtype: Texture

   .. py:method:: GetBitmapTexture()



      :rtype: Texture

   .. py:method:: SetBitmapTexture(fileName)



      :rtype: bool

   .. py:method:: SetBitmapTexture(texture)



      :rtype: bool

   .. py:method:: GetBumpTexture()

      Gets the bump texture of this material.

      :return: A texture; or None if no bump texture has been added to this material.

      :rtype: Texture

   .. py:method:: SetBumpTexture(fileName)



      :rtype: bool

   .. py:method:: SetBumpTexture(texture)



      :rtype: bool

   .. py:method:: GetEnvironmentTexture()



      :rtype: Texture

   .. py:method:: SetEnvironmentTexture(fileName)



      :rtype: bool

   .. py:method:: SetEnvironmentTexture(texture)



      :rtype: bool

   .. py:method:: GetTransparencyTexture()



      :rtype: Texture

   .. py:method:: SetTransparencyTexture(fileName)



      :rtype: bool

   .. py:method:: SetTransparencyTexture(texture)



      :rtype: bool

   .. py:method:: ToPhysicallyBased()



      :rtype: void
