<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="MQPythonClass.xsl"?>
<doc>
 <class>MQMaterial</class>
 <message lang="en">MQMaterial has a coloring information such as shading or a texture mapping.</message>
 <message lang="ja">ポリゴン表面に色付けを行うための材質情報を保持します。</message>
 <properties>
  <property>
   <get>1</get>
   <set>1</set>
   <type>string</type>
   <name>name</name>
   <message lang="en">material's name</message>
   <message lang="ja">マテリアル名</message>
  </property>
  <property>
   <get>1</get>
   <set>0</set>
   <type>long</type>
   <name>id</name>
   <message lang="en">unique ID of material</message>
   <message lang="ja">マテリアルを識別するユニークID</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>MQColor</type>
   <name>color</name>
   <message lang="en">base color</message>
   <message lang="ja">基本色</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>float</type>
   <name>alpha</name>
   <message lang="en">alpha value</message>
   <message lang="ja">不透明度</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>float</type>
   <name>diffuse</name>
   <message lang="en">diffuse</message>
   <message lang="ja">拡散光</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>float</type>
   <name>ambient</name>
   <message lang="en">ambient (monochrome)</message>
   <message lang="ja">環境光(モノクロ)</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>MQColor</type>
   <name>ambientColor</name>
   <message lang="en">ambient</message>
   <message lang="ja">環境光</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>float</type>
   <name>emissive</name>
   <message lang="en">emissive</message>
   <message lang="ja">発光</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>float</type>
   <name>specular</name>
   <message lang="en">specular (monochrome)</message>
   <message lang="ja">反射光(モノクロ)</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>MQColor</type>
   <name>specularColor</name>
   <message lang="en">specular</message>
   <message lang="ja">反射光</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>float</type>
   <name>power</name>
   <message lang="en">power of specular</message>
   <message lang="ja">反射強度</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>float</type>
   <name>reflection</name>
   <message lang="en">reflection</message>
   <message lang="ja">鏡面反射率</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>float</type>
   <name>refraction</name>
   <message lang="en">refraction</message>
   <message lang="ja">屈折率</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>int</type>
   <name>shader</name>
   <message lang="en">shader type</message>
   <message lang="ja">シェーダの種類</message>
   <values>
    <value value="0">
     <message lang="en">Classic</message>
     <message lang="ja">Classic</message>
    </value>
    <value value="1">
     <message lang="en">Constant</message>
     <message lang="ja">Constant</message>
    </value>
    <value value="2">
     <message lang="en">Lambert</message>
     <message lang="ja">Lambert</message>
    </value>
    <value value="3">
     <message lang="en">Phong</message>
     <message lang="ja">Phong</message>
    </value>
    <value value="4">
     <message lang="en">Blinn</message>
     <message lang="ja">Blinn</message>
    </value>
    <value value="5">
     <message lang="en">HLSL</message>
     <message lang="ja">HLSL</message>
    </value>
   </values>
  </property>
  <property>
   <get>1</get>
   <set>0</set>
   <type>string</type>
   <name>shaderName</name>
   <message lang="en">shader's name</message>
   <message lang="ja">シェーダ名（shaderを文字列として取得）</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>string</type>
   <name>shaderFilename</name>
   <message lang="en">shader's filename</message>
   <message lang="ja">シェーダ用ファイル名</message>
  </property>
  <property>
   <get>1</get>
   <set>0</set>
   <type>MQShaderNode</type>
   <name>shaderNode</name>
   <message lang="en">shader node</message>
   <message lang="ja">シェーダノード</message>
   <values>
    <value value="None">
     <message lang="en">Not HLSL or invalid shaderFilename</message>
     <message lang="ja">HLSLでないかシェーダファイル名が無効</message>
    </value>
    <value value="MQShaderNode">
     <message lang="en">HLSL and valid shaderFilename</message>
     <message lang="ja">HLSLかつ有効なシェーダファイル名</message>
    </value>
   </values>
  </property>
  <property>
   <get>1</get>
   <set>0</set>
   <type>dictionary</type>
   <name>subshaderNodes</name>
   <message lang="en">sub shader nodes</message>
   <message lang="ja">サブシェーダノード</message>
   <values>
    <value value="None">
     <message lang="en">Not HLSL or invalid shaderFilename</message>
     <message lang="ja">HLSLでないかシェーダファイル名が無効</message>
    </value>
    <value value="dictionary{string : MQShaderNode}">
     <message lang="en">Dictionary for 'sub shader node ID' and 'shader node'</message>
     <message lang="ja">サブシェーダノードIDとシェーダノードの辞書</message>
    </value>
   </values>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>int</type>
   <name>vertexColor</name>
   <message lang="en">vertex color</message>
   <message lang="ja">頂点カラー</message>
   <values>
    <value value="0">
     <message lang="en">None</message>
     <message lang="ja">なし</message>
    </value>
    <value value="1">
     <message lang="en">Enable</message>
     <message lang="ja">基本色に適用</message>
    </value>
   </values>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>int</type>
   <name>doubleSided</name>
   <message lang="en">Show as double sided faces</message>
   <message lang="ja">両面表示</message>
   <values>
    <value value="0">
     <message lang="en">Single</message>
     <message lang="ja">片面</message>
    </value>
    <value value="1">
     <message lang="en">Double</message>
     <message lang="ja">両面</message>
    </value>
   </values>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>int</type>
   <name>mapType</name>
   <message lang="en">mapping type</message>
   <message lang="ja">マッピングの投影方式</message>
   <values>
    <value value="0">
     <message lang="en">UV mapping</message>
     <message lang="ja">UVマッピング</message>
    </value>
    <value value="1">
     <message lang="en">Flat mapping</message>
     <message lang="ja">平面マッピング</message>
    </value>
    <value value="2">
     <message lang="en">Cylinder mapping</message>
     <message lang="ja">円筒マッピング</message>
    </value>
    <value value="3">
     <message lang="en">Sphere mapping</message>
     <message lang="ja">球マッピング</message>
    </value>
   </values>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>MQPoint</type>
   <name>mapScaling</name>
   <message lang="en">mapping scaling</message>
   <message lang="ja">マッピングの投影スケーリング</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>MQAngle</type>
   <name>mapAngle</name>
   <message lang="en">mapping angle</message>
   <message lang="ja">マッピングの投影角度</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>MQPoint</type>
   <name>mapPosition</name>
   <message lang="en">mapping position</message>
   <message lang="ja">マッピングの投影位置</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>string</type>
   <name>textureMap</name>
   <message lang="en">filename of texture mapping</message>
   <message lang="ja">テクスチャマッピングのファイル名</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>string</type>
   <name>alphaMap</name>
   <message lang="en">filename of alpha mapping</message>
   <message lang="ja">アルファマッピングのファイル名</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>string</type>
   <name>bumpMap</name>
   <message lang="en">filename of bump mapping</message>
   <message lang="ja">バンプマッピングのファイル名</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>int</type>
   <name>textureUVChannel</name>
   <message lang="en">UV channel ID of texture mapping</message>
   <message lang="ja">テクスチャマッピングのUVチャンネルID</message>
   <values>
    <value value="0">
     <message lang="en">Default UV channel</message>
     <message lang="ja">標準UVチャンネル</message>
    </value>
    <value value="!= 0">
     <message lang="en">An ID that is generated and got by MQDocument.getUVChannelID()</message>
     <message lang="ja">MQDocument.getUVChannelID()で生成・取得するID</message>
    </value>
   </values>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>int</type>
   <name>alphaUVChannel</name>
   <message lang="en">UV channel ID of alpha mapping</message>
   <message lang="ja">アルファマッピングのUVチャンネルID</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>int</type>
   <name>bumpUVChannel</name>
   <message lang="en">UV channel ID of bump mapping</message>
   <message lang="ja">バンプマッピングのUVチャンネルID</message>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>int</type>
   <name>wrapU</name>
   <message lang="en">Border wrapping method for U coordinates of mappings</message>
   <message lang="ja">マッピングのU方向の境界のラッピング処理</message>
   <values>
    <value value="0">
     <message lang="en">Repeat</message>
     <message lang="ja">繰り返し</message>
    </value>
    <value value="1">
     <message lang="en">Mirror</message>
     <message lang="ja">ミラー</message>
    </value>
    <value value="2">
     <message lang="en">Clamp</message>
     <message lang="ja">クランプ</message>
    </value>
   </values>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>int</type>
   <name>wrapV</name>
   <message lang="en">Border wrapping method for V coordinates of mappings</message>
   <message lang="ja">マッピングのV方向の境界のラッピング処理</message>
   <values>
    <value value="0">
     <message lang="en">Repeat</message>
     <message lang="ja">繰り返し</message>
    </value>
    <value value="1">
     <message lang="en">Mirror</message>
     <message lang="ja">ミラー</message>
    </value>
    <value value="2">
     <message lang="en">Clamp</message>
     <message lang="ja">クランプ</message>
    </value>
   </values>
  </property>
  <property>
   <get>1</get>
   <set>1</set>
   <type>int</type>
   <name>filter</name>
   <message lang="en">Filtering for mapping images</message>
   <message lang="ja">マッピング画像のフィルタリング</message>
   <values>
    <value value="0">
     <message lang="en">Nearest interpolation</message>
     <message lang="ja">最近点補間</message>
    </value>
    <value value="1">
     <message lang="en">Bilinear interpolation</message>
     <message lang="ja">バイリニア補間</message>
    </value>
   </values>
  </property>
 </properties>
 <methods>
  <method>
   <name>clone</name>
   <message lang="en">Duplicate a material.</message>
   <message lang="ja">材質を複製します。</message>
   <return>
    <type>MQMaterial</type>
    <message lang="en">clone material</message>
    <message lang="ja">複製された材質</message>
   </return>
  </method>
 <!--
  <method>
   <name>getColor</name>
   <message lang="en">Get a base color.</message>
   <message lang="ja">基本色を取得します。</message>
   <return>
    <type>MQColor</type>
    <message lang="en">base color</message>
    <message lang="ja">基本色</message>
   </return>
  </method>
  <method>
   <name>setColor</name>
   <message lang="en">Set a base color.</message>
   <message lang="ja">基本色を設定します。</message>
   <args>
    <arg>
     <name>color</name>
     <type>MQColor</type>
     <message lang="en">base color</message>
     <message lang="ja">基本色</message>
    </arg>
   </args>
  </method>
  -->
  <method>
   <name>getTextureMapPath</name>
   <message lang="en">Get a path of the texture mapping file.</message>
   <message lang="ja">テクスチャマッピングのファイル名を絶対パスとして取得します。</message>
   <return>
    <type>string</type>
    <message lang="en">path of texture mapping file</message>
    <message lang="ja">テクスチャマッピングのファイルパス</message>
    <values>
     <value value="None">
      <message lang="en">Invalid path</message>
      <message lang="ja">有効なファイルパスでない</message>
     </value>
    </values>
   </return>
   <attention lang="en">The material that isn't added to a document returns 'None' always.</attention>
   <attention lang="ja">ドキュメントに登録されていないマテリアルは常にNoneを返します。</attention>
  </method>
  <method>
   <name>getAlphaMapPath</name>
   <message lang="en">Get a path of the alpha mapping file.</message>
   <message lang="ja">アルファマッピングのファイル名を絶対パスとして取得します。</message>
   <return>
    <type>string</type>
    <message lang="en">path of alpha mapping file</message>
    <message lang="ja">アルファマッピングのファイルパス</message>
    <values>
     <value value="None">
      <message lang="en">Invalid path</message>
      <message lang="ja">有効なファイルパスでない</message>
     </value>
    </values>
   </return>
   <attention lang="en">The material that isn't added to a document returns 'None' always.</attention>
   <attention lang="ja">ドキュメントに登録されていないマテリアルは常にNoneを返します。</attention>
  </method>
  <method>
   <name>getBumpMapPath</name>
   <message lang="en">Get a path of the bump mapping file.</message>
   <message lang="ja">バンプマッピングのファイル名を絶対パスとして取得します。</message>
   <return>
    <type>string</type>
    <message lang="en">path of bump mapping file</message>
    <message lang="ja">バンプマッピングのファイルパス</message>
    <values>
     <value value="None">
      <message lang="en">Invalid path</message>
      <message lang="ja">有効なファイルパスでない</message>
     </value>
    </values>
   </return>
   <attention lang="en">The material that isn't added to a document returns 'None' always.</attention>
   <attention lang="ja">ドキュメントに登録されていないマテリアルは常にNoneを返します。</attention>
  </method>
  <method>
   <name>allocUserData</name>
   <message lang="en">Allocate a memory area for an user data in the material.</message>
   <message lang="ja">材質にユーザーデータ用の領域を確保します。</message>
   <args>
    <arg>
     <name>userdata_id</name>
     <type>int</type>
     <message lang="en">A material user data</message>
     <message lang="ja">材質ユーザーデータID</message>
    </arg>
   </args>
   <return>
    <type>int</type>
    <message lang="en">Result</message>
    <message lang="ja">結果</message>
    <values>
     <value value="0">
      <message lang="en">failed</message>
      <message lang="ja">失敗</message>
     </value>
     <value value="1">
      <message lang="en">succeeded</message>
      <message lang="ja">成功</message>
     </value>
    </values>
   </return>
  </method>
  <method>
   <name>freeUserData</name>
   <message lang="en">Free an allocated memory area for an user data.</message>
   <message lang="ja">ユーザーデータ用領域を解放します。</message>
   <args>
    <arg>
     <name>userdata_id</name>
     <type>int</type>
     <message lang="en">A material user data</message>
     <message lang="ja">材質ユーザーデータID</message>
    </arg>
   </args>
  </method>
  <method>
   <name>getUserDataInt</name>
   <message lang="en">Get an integer value (4 bytes) from the material user data.</message>
   <message lang="ja">材質ユーザーデータからint型(4バイト)の値を取得します。</message>
   <args>
    <arg>
     <name>userdata_id</name>
     <type>int</type>
     <message lang="en">A material user data</message>
     <message lang="ja">材質ユーザーデータID</message>
    </arg>
    <arg>
     <name>offset</name>
     <type>int</type>
     <message lang="en">An offset from a head of an user data </message>
     <message lang="ja">データの先頭からのオフセット</message>
    </arg>
   </args>
   <return>
    <type>int</type>
    <message lang="en">value</message>
    <message lang="ja">値</message>
    <values>
     <value value="None">
      <message lang="en">Failed</message>
      <message lang="ja">取得失敗</message>
     </value>
    </values>
   </return>
  </method>
  <method>
   <name>getUserDataFloat</name>
   <message lang="en">Get a float value (4 bytes) from the material user data.</message>
   <message lang="ja">材質ユーザーデータからfloat型(4 bytes) の値を取得します。</message>
   <args>
    <arg>
     <name>userdata_id</name>
     <type>int</type>
     <message lang="en">A material user data</message>
     <message lang="ja">材質ユーザーデータID</message>
    </arg>
    <arg>
     <name>offset</name>
     <type>int</type>
     <message lang="en">An offset from a head of an user data</message>
     <message lang="ja">データの先頭からのオフセット</message>
    </arg>
   </args>
   <return>
    <type>float</type>
    <message lang="en">value</message>
    <message lang="ja">値</message>
    <values>
     <value value="None">
      <message lang="en">Failed</message>
      <message lang="ja">取得失敗</message>
     </value>
    </values>
   </return>
  </method>
  <method>
   <name>getUserDataString</name>
   <message lang="en">Get a string from the material user data.</message>
   <message lang="ja">材質ユーザーデータからstring型の文字列を取得します。</message>
   <args>
    <arg>
     <name>userdata_id</name>
     <type>int</type>
     <message lang="en">A material user data</message>
     <message lang="ja">材質ユーザーデータID</message>
    </arg>
    <arg>
     <name>offset</name>
     <type>int</type>
     <message lang="en">An offset from a head of an user data</message>
     <message lang="ja">データの先頭からのオフセット</message>
    </arg>
    <arg>
     <name>length</name>
     <type>int</type>
     <message lang="en">data length (maximum length of string in bytes)</message>
     <message lang="ja">データ長（バイト単位での文字列の最大長）</message>
    </arg>
   </args>
   <return>
    <type>string</type>
    <message lang="en">value</message>
    <message lang="ja">値</message>
    <values>
     <value value="None">
      <message lang="en">Failed</message>
      <message lang="ja">取得失敗</message>
     </value>
    </values>
   </return>
  </method>
  <method>
   <name>setUserDataInt</name>
   <message lang="en">Set an integer value (4 bytes) from the material user data.</message>
   <message lang="ja">材質ユーザーデータにint型(4バイト)の値を設定します。</message>
   <args>
    <arg>
     <name>userdata_id</name>
     <type>int</type>
     <message lang="en">A material user data</message>
     <message lang="ja">材質ユーザーデータID</message>
    </arg>
    <arg>
     <name>offset</name>
     <type>int</type>
     <message lang="en">An offset from a head of an user data</message>
     <message lang="ja">データの先頭からのオフセット</message>
    </arg>
    <arg>
     <name>value</name>
     <type>int</type>
     <message lang="en">value</message>
     <message lang="ja">値</message>
    </arg>
   </args>
  </method>
  <method>
   <name>setUserDataFloat</name>
   <message lang="en">Set a float value (4 bytes) from the material user data.</message>
   <message lang="ja">材質ユーザーデータにfloat型(4バイト)の値を設定します。</message>
   <args>
    <arg>
     <name>userdata_id</name>
     <type>int</type>
     <message lang="en">A material user data</message>
     <message lang="ja">材質ユーザーデータID</message>
    </arg>
    <arg>
     <name>offset</name>
     <type>int</type>
     <message lang="en">An offset from a head of an user data</message>
     <message lang="ja">データの先頭からのオフセット</message>
    </arg>
    <arg>
     <name>value</name>
     <type>float</type>
     <message lang="en">value</message>
     <message lang="ja">値</message>
    </arg>
   </args>
  </method>
  <method>
   <name>setUserDataString</name>
   <message lang="en">Set a string from the material user data.</message>
   <message lang="ja">材質ユーザーデータにstring型の文字列を設定します。</message>
   <args>
    <arg>
     <name>userdata_id</name>
     <type>int</type>
     <message lang="en">A material user data</message>
     <message lang="ja">材質ユーザーデータID</message>
    </arg>
    <arg>
     <name>offset</name>
     <type>int</type>
     <message lang="en">An offset from a head of an user data</message>
     <message lang="ja">データの先頭からのオフセット</message>
    </arg>
    <arg>
     <name>length</name>
     <type>int</type>
     <message lang="en">data length (maximum length of string in bytes)</message>
     <message lang="ja">データ長（バイト単位での文字列の最大長）</message>
    </arg>
    <arg>
     <name>value</name>
     <type>string</type>
     <message lang="en">value</message>
     <message lang="ja">値</message>
    </arg>
   </args>
  </method>
 </methods>
</doc>
