Browse Source

Scene类里增加一个静太的testAbnormal函数,用于材质、模型、体积、纹 理类各set函数调用,以替换之前版本各set函数相功能的代码,其他修改部分类文件的注释

master
yuanjiajia 3 years ago
parent
commit
d627ce4fbd
  1. 29
      src/scene/Scene.php
  2. 120
      src/scene/materials/CarPaint.php
  3. 40
      src/scene/materials/Cloth.php
  4. 141
      src/scene/materials/Disney.php
  5. 60
      src/scene/materials/Glass.php
  6. 50
      src/scene/materials/GlassArch.php
  7. 70
      src/scene/materials/GlassRough.php
  8. 70
      src/scene/materials/Glossy.php
  9. 72
      src/scene/materials/GlossyCoating.php
  10. 140
      src/scene/materials/GlossyTranslucent.php
  11. 65
      src/scene/materials/MaterialsBase.php
  12. 10
      src/scene/materials/Matte.php
  13. 20
      src/scene/materials/MatteRough.php
  14. 20
      src/scene/materials/MatteTranslucent.php
  15. 30
      src/scene/materials/Metal.php
  16. 10
      src/scene/materials/Mirror.php
  17. 38
      src/scene/materials/Mix.php
  18. 28
      src/scene/materials/TwoSided.php
  19. 50
      src/scene/materials/Velvet.php
  20. 10
      src/scene/objects/Objects.php
  21. 3
      src/scene/texture/procedural/Blend.php
  22. 30
      src/scene/texture/procedural/Brick.php
  23. 3
      src/scene/texture/procedural/Clouds.php
  24. 1
      src/scene/texture/procedural/ImageMap.php
  25. 3
      src/scene/texture/transform/NormalMap.php
  26. 29
      src/scene/volumes/HeteroGeneous.php
  27. 29
      src/scene/volumes/HomoGeneous.php
  28. 40
      src/scene/volumes/VolumesBase.php

29
src/scene/Scene.php

@ -47,12 +47,34 @@ class Scene extends BaseCfg
return $num; return $num;
} }
/**
* @param object $value 接收的是一个 由模型、材质、体积、纹理、灯光、相机类set函数 所接收到的值,本函数可以被这些类set函数调用,
* 并判断set函数接收到值是否合法,合法则返回$value,否则抛出一个异常
*/
public static function testAbnormal($value)
{
if( is_object($value) )
{
if( $value->registerId != null )
{
return $value;
}
else
{
throw new \Exception("You use an unregistered ".$value->getInstanceClassName()." object for the current property");
}
}
else
{
return $value;
}
}
/** /**
* @param object $obj 接收一个模型类对象,为其颁发一个注册信息,并将其存到Scene * @param object $obj 接收一个模型类对象,为其颁发一个注册信息,并将其存到Scene
*/ */
public function registerObjects(&$obj) public function registerObjects(&$obj)
{ {
$temp = null;
$temp = sprintf("%014d",$obj->id); $temp = sprintf("%014d",$obj->id);
$obj->registerId = $temp; $obj->registerId = $temp;
if($obj->material == null) if($obj->material == null)
@ -71,7 +93,6 @@ class Scene extends BaseCfg
*/ */
public function registerMaterial(&$material) public function registerMaterial(&$material)
{ {
$temp = null;
$temp = $material->type.'_'.sprintf("%014d",$material->id); $temp = $material->type.'_'.sprintf("%014d",$material->id);
$material->registerId = $temp; $material->registerId = $temp;
$this->materials[$temp] = $material; $this->materials[$temp] = $material;
@ -82,7 +103,6 @@ class Scene extends BaseCfg
*/ */
public function registerTexture(&$texture) public function registerTexture(&$texture)
{ {
$temp = null;
$temp = $texture->type.'_'.sprintf("%014d",$texture->id); $temp = $texture->type.'_'.sprintf("%014d",$texture->id);
$texture->registerId = $temp; $texture->registerId = $temp;
$this->textures[$temp] = $texture; $this->textures[$temp] = $texture;
@ -93,7 +113,6 @@ class Scene extends BaseCfg
*/ */
public function registerVolume(&$volume) public function registerVolume(&$volume)
{ {
$temp = null;
$temp = $volume->type.'_'.sprintf("%014d",$volume->id); $temp = $volume->type.'_'.sprintf("%014d",$volume->id);
$volume->registerId = $temp; $volume->registerId = $temp;
$this->volumes[$temp] = $volume; $this->volumes[$temp] = $volume;
@ -104,7 +123,6 @@ class Scene extends BaseCfg
*/ */
public function registerLight(&$light) public function registerLight(&$light)
{ {
$temp = null;
$temp = $light->type.'_'.sprintf("%014d",$light->id); $temp = $light->type.'_'.sprintf("%014d",$light->id);
$light->registerId = $temp; $light->registerId = $temp;
$this->lights[$temp] = $light; $this->lights[$temp] = $light;
@ -115,7 +133,6 @@ class Scene extends BaseCfg
*/ */
public function registerCamera(&$camera) public function registerCamera(&$camera)
{ {
$temp = null;
$temp = $camera->type.'_'.sprintf("%014d",$camera->id); $temp = $camera->type.'_'.sprintf("%014d",$camera->id);
$camera->registerId = $temp; $camera->registerId = $temp;
$this->cameras[$temp] = $camera; $this->cameras[$temp] = $camera;

120
src/scene/materials/CarPaint.php

@ -88,15 +88,7 @@ class CarPaint extends MaterialsBase
*/ */
public function setBaseColor($color) public function setBaseColor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kd = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kd = $color;
$this->kd = Scene::testAbnormal($color);
} }
/** /**
@ -104,15 +96,7 @@ class CarPaint extends MaterialsBase
*/ */
public function setSpecular1($color) public function setSpecular1($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->ks1 = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->ks1 = $color;
$this->ks1 = Scene::testAbnormal($color);
} }
/** /**
@ -120,15 +104,7 @@ class CarPaint extends MaterialsBase
*/ */
public function setSpecular2($color) public function setSpecular2($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->ks2 = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->ks2 = $color;
$this->ks2 = Scene::testAbnormal($color);
} }
/** /**
@ -136,15 +112,7 @@ class CarPaint extends MaterialsBase
*/ */
public function setSpecular3($color) public function setSpecular3($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->ks3 = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->ks3 = $color;
$this->ks3 = Scene::testAbnormal($color);
} }
/** /**
@ -152,15 +120,7 @@ class CarPaint extends MaterialsBase
*/ */
public function setMicrofacetRoughness1($color) public function setMicrofacetRoughness1($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->m1 = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->m1 = $color;
$this->m1 = Scene::testAbnormal($color);
} }
/** /**
@ -168,15 +128,7 @@ class CarPaint extends MaterialsBase
*/ */
public function setMicrofacetRoughness2($color) public function setMicrofacetRoughness2($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->m2 = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->m2 = $color;
$this->m2 = Scene::testAbnormal($color);
} }
/** /**
@ -184,15 +136,7 @@ class CarPaint extends MaterialsBase
*/ */
public function setMicrofacetRoughness3($color) public function setMicrofacetRoughness3($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->m3 = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->m3 = $color;
$this->m3 = Scene::testAbnormal($color);
} }
/** /**
@ -200,15 +144,7 @@ class CarPaint extends MaterialsBase
*/ */
public function setGlossy1($color) public function setGlossy1($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->r1 = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->r1 = $color;
$this->r1 = Scene::testAbnormal($color);
} }
/** /**
@ -216,15 +152,7 @@ class CarPaint extends MaterialsBase
*/ */
public function setGlossy2($color) public function setGlossy2($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->r2 = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->r2 = $color;
$this->r2 = Scene::testAbnormal($color);
} }
/** /**
@ -232,15 +160,7 @@ class CarPaint extends MaterialsBase
*/ */
public function setGlossy3($color) public function setGlossy3($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->r3 = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->r3 = $color;
$this->r3 = Scene::testAbnormal($color);
} }
/** /**
@ -249,15 +169,7 @@ class CarPaint extends MaterialsBase
*/ */
public function setAbsorption($color) public function setAbsorption($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->ka = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->ka = $color;
$this->ka = Scene::testAbnormal($color);
} }
/** /**
@ -265,15 +177,7 @@ class CarPaint extends MaterialsBase
*/ */
public function setAbsorptionDepht($color) public function setAbsorptionDepht($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->d = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->d = $color;
$this->d = Scene::testAbnormal($color);
} }
} }

40
src/scene/materials/Cloth.php

@ -71,15 +71,7 @@ class Cloth extends MaterialsBase
*/ */
public function setWarpBaseColor($color) public function setWarpBaseColor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->warp_kd = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->warp_kd = $color;
$this->warp_kd = Scene::testAbnormal($color);
} }
/** /**
@ -87,15 +79,7 @@ class Cloth extends MaterialsBase
*/ */
public function setWeftBaseColor($color) public function setWeftBaseColor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->weft_kd = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->weft_kd = $color;
$this->weft_kd = Scene::testAbnormal($color);
} }
/** /**
@ -103,15 +87,7 @@ class Cloth extends MaterialsBase
*/ */
public function setWarpSpecular($color) public function setWarpSpecular($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->warp_ks = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->warp_ks = $color;
$this->warp_ks = Scene::testAbnormal($color);
} }
/** /**
@ -119,15 +95,7 @@ class Cloth extends MaterialsBase
*/ */
public function setWeftSpecular($color) public function setWeftSpecular($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->weft_ks = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->weft_ks = $color;
$this->weft_ks = Scene::testAbnormal($color);
} }
} }

141
src/scene/materials/Disney.php

@ -98,15 +98,7 @@ class Disney extends MaterialsBase
*/ */
public function setBaseColor($color) public function setBaseColor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->basecolor = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->basecolor = $color;
$this->basecolor = Scene::testAbnormal($color);
} }
/** /**
@ -114,15 +106,7 @@ class Disney extends MaterialsBase
*/ */
public function setSubsurface($color) public function setSubsurface($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->subsurface = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->subsurface = $color;
$this->subsurface = Scene::testAbnormal($color);
} }
/** /**
@ -130,15 +114,7 @@ class Disney extends MaterialsBase
*/ */
public function setMetallic($color) public function setMetallic($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->metallic = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->metallic = $color;
$this->metallic = Scene::testAbnormal($color);
} }
/** /**
@ -146,15 +122,7 @@ class Disney extends MaterialsBase
*/ */
public function setSpecular($color) public function setSpecular($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->specular = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->specular = $color;
$this->specular = Scene::testAbnormal($color);
} }
/** /**
@ -162,15 +130,7 @@ class Disney extends MaterialsBase
*/ */
public function setSpeculartint($color) public function setSpeculartint($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->speculartint = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->speculartint = $color;
$this->speculartint = Scene::testAbnormal($color);
} }
/** /**
@ -178,15 +138,7 @@ class Disney extends MaterialsBase
*/ */
public function setRoughness($color) public function setRoughness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->roughness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->roughness = $color;
$this->roughness = Scene::testAbnormal($color);
} }
/** /**
@ -194,15 +146,7 @@ class Disney extends MaterialsBase
*/ */
public function setAnisotropic($color) public function setAnisotropic($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->anisotropic = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->anisotropic = $color;
$this->anisotropic = Scene::testAbnormal($color);
} }
/** /**
@ -210,15 +154,7 @@ class Disney extends MaterialsBase
*/ */
public function setSheen($color) public function setSheen($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->sheen = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->sheen = $color;
$this->sheen = Scene::testAbnormal($color);
} }
/** /**
@ -226,15 +162,7 @@ class Disney extends MaterialsBase
*/ */
public function setSheentint($color) public function setSheentint($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->sheentint = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->sheentint = $color;
$this->sheentint = Scene::testAbnormal($color);
} }
/** /**
@ -242,15 +170,7 @@ class Disney extends MaterialsBase
*/ */
public function setClearcoat($color) public function setClearcoat($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->clearcoat = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->clearcoat = $color;
$this->clearcoat = Scene::testAbnormal($color);
} }
/** /**
@ -258,15 +178,7 @@ class Disney extends MaterialsBase
*/ */
public function setClearcoatgloss($color) public function setClearcoatgloss($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->clearcoatgloss = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->clearcoatgloss = $color;
$this->clearcoatgloss = Scene::testAbnormal($color);
} }
/** /**
@ -274,30 +186,15 @@ class Disney extends MaterialsBase
*/ */
public function setFilmamount($color) public function setFilmamount($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->filmamount = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->filmamount = $color;
$this->filmamount = Scene::testAbnormal($color);
} }
/** /**
* @param object $color 接收一个贴图对象或小数形式的色值,设置Disney清漆涂层厚度 * @param object $color 接收一个贴图对象或小数形式的色值,设置Disney清漆涂层厚度
*/ */
public function setFilmthickness($color) public function setFilmthickness($color)
{ if( is_object($color) )
{
if( $color->registerId != null ) $this->filmthickness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->filmthickness = $color;
{
$this->filmthickness = Scene::testAbnormal($color);
} }
/** /**
@ -305,15 +202,7 @@ class Disney extends MaterialsBase
*/ */
public function setFilmior($color) public function setFilmior($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->filmior = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->filmior = $color;
$this->filmior = Scene::testAbnormal($color);
} }
} }

60
src/scene/materials/Glass.php

@ -59,15 +59,7 @@ class Glass extends MaterialsBase
*/ */
public function setFilmthickness($color) public function setFilmthickness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->filmthickness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->filmthickness = $color;
$this->filmthickness = Scene::testAbnormal($color);
} }
/** /**
@ -75,15 +67,7 @@ class Glass extends MaterialsBase
*/ */
public function setFilmior($color) public function setFilmior($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->filmior = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->filmior = $color;
$this->filmior = Scene::testAbnormal($color);
} }
/** /**
@ -91,15 +75,7 @@ class Glass extends MaterialsBase
*/ */
public function setTransmission($color) public function setTransmission($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kt = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kt = $color;
$this->kt = Scene::testAbnormal($color);
} }
/** /**
@ -107,15 +83,7 @@ class Glass extends MaterialsBase
*/ */
public function setRefraction($color) public function setRefraction($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kr = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kr = $color;
$this->kr = Scene::testAbnormal($color);
} }
/** /**
@ -123,15 +91,7 @@ class Glass extends MaterialsBase
*/ */
public function setInteriorIor($color) public function setInteriorIor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->interiorior = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->interiorior = $color;
$this->interiorior = Scene::testAbnormal($color);
} }
/** /**
@ -139,15 +99,7 @@ class Glass extends MaterialsBase
*/ */
public function setCauchyb($color) public function setCauchyb($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->cauchyb = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->cauchyb = $color;
$this->cauchyb = Scene::testAbnormal($color);
} }
} }

50
src/scene/materials/GlassArch.php

@ -56,15 +56,7 @@ class GlassArch extends MaterialsBase
*/ */
public function setFilmthickness($color) public function setFilmthickness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->filmthickness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->filmthickness = $color;
$this->filmthickness = Scene::testAbnormal($color);
} }
/** /**
@ -72,15 +64,7 @@ class GlassArch extends MaterialsBase
*/ */
public function setFilmior($color) public function setFilmior($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->filmior = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->filmior = $color;
$this->filmior = Scene::testAbnormal($color);
} }
/** /**
@ -88,15 +72,7 @@ class GlassArch extends MaterialsBase
*/ */
public function setTransmission($color) public function setTransmission($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kt = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kt = $color;
$this->kt = Scene::testAbnormal($color);
} }
/** /**
@ -104,15 +80,7 @@ class GlassArch extends MaterialsBase
*/ */
public function setRefraction($color) public function setRefraction($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kr = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kr = $color;
$this->kr = Scene::testAbnormal($color);
} }
/** /**
@ -120,15 +88,7 @@ class GlassArch extends MaterialsBase
*/ */
public function setInteriorIor($color) public function setInteriorIor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->interiorior = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->interiorior = $color;
$this->interiorior = Scene::testAbnormal($color);
} }
} }

70
src/scene/materials/GlassRough.php

@ -64,15 +64,7 @@ class GlassRough extends MaterialsBase
*/ */
public function setUroughness($color) public function setUroughness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->uroughness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->uroughness = $color;
$this->uroughness = Scene::testAbnormal($color);
} }
/** /**
@ -80,15 +72,7 @@ class GlassRough extends MaterialsBase
*/ */
public function setVroughness($color) public function setVroughness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->vroughness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->vroughness = $color;
$this->vroughness = Scene::testAbnormal($color);
} }
/** /**
@ -96,15 +80,7 @@ class GlassRough extends MaterialsBase
*/ */
public function setFilmthickness($color) public function setFilmthickness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->filmthickness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->filmthickness = $color;
$this->filmthickness = Scene::testAbnormal($color);
} }
/** /**
@ -112,15 +88,7 @@ class GlassRough extends MaterialsBase
*/ */
public function setFilmior($color) public function setFilmior($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->filmior = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->filmior = $color;
$this->filmior = Scene::testAbnormal($color);
} }
/** /**
@ -128,15 +96,7 @@ class GlassRough extends MaterialsBase
*/ */
public function setTransmission($color) public function setTransmission($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kt = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kt = $color;
$this->kt = Scene::testAbnormal($color);
} }
/** /**
@ -144,15 +104,7 @@ class GlassRough extends MaterialsBase
*/ */
public function setRefraction($color) public function setRefraction($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kr = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kr = $color;
$this->kr = Scene::testAbnormal($color);
} }
/** /**
@ -160,15 +112,7 @@ class GlassRough extends MaterialsBase
*/ */
public function setInteriorIor($color) public function setInteriorIor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->interiorior = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->interiorior = $color;
$this->interiorior = Scene::testAbnormal($color);
} }
} }

70
src/scene/materials/Glossy.php

@ -68,15 +68,7 @@ class Glossy extends MaterialsBase
*/ */
public function setUroughness($color) public function setUroughness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->uroughness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->uroughness = $color;
$this->uroughness = Scene::testAbnormal($color);
} }
/** /**
@ -84,15 +76,7 @@ class Glossy extends MaterialsBase
*/ */
public function setVroughness($color) public function setVroughness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->vroughness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->vroughness = $color;
$this->vroughness = Scene::testAbnormal($color);
} }
/** /**
@ -100,15 +84,7 @@ class Glossy extends MaterialsBase
*/ */
public function setBaseColor($color) public function setBaseColor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kd = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kd = $color;
$this->kd = Scene::testAbnormal($color);
} }
/** /**
@ -116,15 +92,7 @@ class Glossy extends MaterialsBase
*/ */
public function setSpecular($color) public function setSpecular($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->ks = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->ks = $color;
$this->ks = Scene::testAbnormal($color);
} }
/** /**
@ -133,15 +101,7 @@ class Glossy extends MaterialsBase
*/ */
public function setAbsorption($color) public function setAbsorption($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->ka = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->ka = $color;
$this->ka = Scene::testAbnormal($color);
} }
/** /**
@ -149,15 +109,7 @@ class Glossy extends MaterialsBase
*/ */
public function setAbsorptionDepht($color) public function setAbsorptionDepht($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->d = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->d = $color;
$this->d = Scene::testAbnormal($color);
} }
/** /**
@ -165,15 +117,7 @@ class Glossy extends MaterialsBase
*/ */
public function setIor($color) public function setIor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->index = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->index = $color;
$this->index = Scene::testAbnormal($color);
} }
} }

72
src/scene/materials/GlossyCoating.php

@ -69,15 +69,7 @@ class GlossyCoating extends MaterialsBase
*/ */
public function setUroughness($color) public function setUroughness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->uroughness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->uroughness = $color;
$this->uroughness = Scene::testAbnormal($color);
} }
/** /**
@ -85,31 +77,15 @@ class GlossyCoating extends MaterialsBase
*/ */
public function setVroughness($color) public function setVroughness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->vroughness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->vroughness = $color;
$this->vroughness = Scene::testAbnormal($color);
} }
/** /**
* @param object $Material 接收一个材质对象,设置GlossyCoating材质的基会材质
* @param object $material 接收一个材质对象,设置GlossyCoating材质的基会材质
*/ */
public function setBase($material) public function setBase($material)
{ {
if( is_object($material) )
{
if( $material->registerId != null ) $this->base = $material->registerId;
else
{
throw new \Exception("You use an unregistered ".$material->getInstanceClassName()." object for the current property");
}
}
else $this->base = $material;
$this->base = $material;
} }
/** /**
@ -117,15 +93,7 @@ class GlossyCoating extends MaterialsBase
*/ */
public function setSpecular($color) public function setSpecular($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->ks = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->ks = $color;
$this->ks = Scene::testAbnormal($color);
} }
/** /**
@ -134,15 +102,7 @@ class GlossyCoating extends MaterialsBase
*/ */
public function setAbsorption($color) public function setAbsorption($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->ka = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->ka = $color;
$this->ka = Scene::testAbnormal($color);
} }
/** /**
@ -150,15 +110,7 @@ class GlossyCoating extends MaterialsBase
*/ */
public function setAbsorptionDepht($color) public function setAbsorptionDepht($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->d = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->d = $color;
$this->d = Scene::testAbnormal($color);
} }
/** /**
@ -166,15 +118,7 @@ class GlossyCoating extends MaterialsBase
*/ */
public function setIor($color) public function setIor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->index = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->index = $color;
$this->index = Scene::testAbnormal($color);
} }
} }

140
src/scene/materials/GlossyTranslucent.php

@ -113,15 +113,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setUroughness($color) public function setUroughness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->uroughness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->uroughness = $color;
$this->uroughness = Scene::testAbnormal($color);
} }
/** /**
@ -129,15 +121,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setVroughness($color) public function setVroughness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->vroughness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->vroughness = $color;
$this->vroughness = Scene::testAbnormal($color);
} }
/** /**
@ -145,15 +129,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setBaseColor($color) public function setBaseColor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kd = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kd = $color;
$this->kd = Scene::testAbnormal($color);
} }
/** /**
@ -161,15 +137,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setSpecular($color) public function setSpecular($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->ks = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->ks = $color;
$this->ks = Scene::testAbnormal($color);
} }
/** /**
@ -177,15 +145,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setTransmission($color) public function setTransmission($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kt = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kt = $color;
$this->kt = Scene::testAbnormal($color);
} }
/** /**
@ -194,15 +154,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setAbsorption($color) public function setAbsorption($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->ka = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->ka = $color;
$this->ka = Scene::testAbnormal($color);
} }
/** /**
@ -210,15 +162,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setAbsorptionDepht($color) public function setAbsorptionDepht($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->d = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->d = $color;
$this->d = Scene::testAbnormal($color);
} }
/** /**
@ -226,15 +170,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setIor($color) public function setIor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->index = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->index = $color;
$this->index = Scene::testAbnormal($color);
} }
@ -246,15 +182,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setUroughness_BF($color) public function setUroughness_BF($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->uroughness_bf = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->uroughness_bf = $color;
$this->uroughness_bf = Scene::testAbnormal($color);
} }
/** /**
@ -262,15 +190,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setVroughness_BF($color) public function setVroughness_BF($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->vroughness_bf = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->vroughness_bf = $color;
$this->vroughness_bf = Scene::testAbnormal($color);
} }
/** /**
@ -278,15 +198,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setSpecular_BF($color) public function setSpecular_BF($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->ks_bf = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->ks_bf = $color;
$this->ks_bf = Scene::testAbnormal($color);
} }
/** /**
@ -295,15 +207,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setAbsorption_BF($color) public function setAbsorption_BF($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->ka_bf = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->ka_bf = $color;
$this->ka_bf = Scene::testAbnormal($color);
} }
/** /**
@ -311,15 +215,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setAbsorptionDepht_BF($color) public function setAbsorptionDepht_BF($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->d_bf = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->d_bf = $color;
$this->d_bf = Scene::testAbnormal($color);
} }
/** /**
@ -327,15 +223,7 @@ class GlossyTranslucent extends MaterialsBase
*/ */
public function setIor_BF($color) public function setIor_BF($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->index_bf = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->index_bf = $color;
$this->index_bf = Scene::testAbnormal($color);
} }
} }

65
src/scene/materials/MaterialsBase.php

@ -2,6 +2,7 @@
namespace Blobt\Luxcore\scene\materials; namespace Blobt\Luxcore\scene\materials;
use Blobt\Luxcore\scene\BaseCfg; use Blobt\Luxcore\scene\BaseCfg;
use Blobt\Luxcore\scene\Scene;
@ -109,15 +110,7 @@ class MaterialsBase extends BaseCfg
*/ */
public function setTransparencyFront($color) public function setTransparencyFront($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->transparencyFront = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->transparencyFront = $color;
$this->transparencyFront = Scene::testAbnormal($color);
} }
/** /**
@ -125,15 +118,7 @@ class MaterialsBase extends BaseCfg
*/ */
public function setTransparencyBack($color) public function setTransparencyBack($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->transparencyBack = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->transparencyBack = $color;
$this->transparencyBack = Scene::testAbnormal($color);
} }
/** /**
@ -141,15 +126,7 @@ class MaterialsBase extends BaseCfg
*/ */
public function setBumptex($color) public function setBumptex($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->bumptex = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->bumptex = $color;
$this->bumptex = Scene::testAbnormal($color);
} }
/** /**
@ -157,15 +134,7 @@ class MaterialsBase extends BaseCfg
*/ */
public function setEmission($color,Emission $emissionCfg = null,Visibility $visibility = null) public function setEmission($color,Emission $emissionCfg = null,Visibility $visibility = null)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->emission = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->emission = $color;
$this->emission = Scene::testAbnormal($color);
if( $emissionCfg != null ) $this->emissionCfg = $emissionCfg; if( $emissionCfg != null ) $this->emissionCfg = $emissionCfg;
else $this->emissionCfg = new Emission(); else $this->emissionCfg = new Emission();
@ -174,35 +143,19 @@ class MaterialsBase extends BaseCfg
} }
/** /**
* @param object $color 接收一个贴图对象或小数形式的色值,设置材质的内部体积属性
* @param object $volumeInterior 接收一个体积对象,设置材质的内部体积属性
*/ */
public function setVolumeInterior($volumeInterior) public function setVolumeInterior($volumeInterior)
{ {
if( is_object( $volumeInterior ) )
{
if( $volumeInterior->registerId != null ) $this->volumeInterior = $volumeInterior->registerId;
else
{
throw new \Exception("You use an unregistered ".$volumeInterior->getInstanceClassName()." object for the current property");
}
}
else $this->volumeInterior = $volumeInterior;
$this->volumeInterior = Scene::testAbnormal($volumeInterior);
} }
/** /**
* @param object $color 接收一个贴图对象或小数形式的色值,设置材质的外部体积属性
* @param object $volumeExterior 接收一个体积对象,设置材质的外部体积属性
*/ */
public function setVolumeExterior($volumeExterior) public function setVolumeExterior($volumeExterior)
{ {
if( is_object( $volumeExterior ) )
{
if( $volumeExterior->registerId != null ) $this->volumeExterior = $volumeExterior->registerId;
else
{
throw new \Exception("You use an unregistered ".$volumeExterior->getInstanceClassName()." object for the current property");
}
}
else $this->volumeExterior = $volumeExterior;
$this->volumeExterior = Scene::testAbnormal($volumeExterior);
} }
} }

10
src/scene/materials/Matte.php

@ -32,15 +32,7 @@ class Matte extends MaterialsBase
*/ */
public function setBaseColor($color) public function setBaseColor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kd = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kd = $color;
$this->kd = Scene::testAbnormal($color);
} }
} }

20
src/scene/materials/MatteRough.php

@ -37,15 +37,7 @@ class MatteRough extends MaterialsBase
*/ */
public function setBaseColor($color) public function setBaseColor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kd = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kd = $color;
$this->kd = Scene::testAbnormal($color);
} }
/** /**
@ -53,15 +45,7 @@ class MatteRough extends MaterialsBase
*/ */
public function setSigma($color) public function setSigma($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->sigma = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->sigma = $color;
$this->sigma = Scene::testAbnormal($color);
} }
} }

20
src/scene/materials/MatteTranslucent.php

@ -37,15 +37,7 @@ class Roughmatte extends MaterialsBase
*/ */
public function setRefraction($color) public function setRefraction($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kr = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kr = $color;
$this->kr = Scene::testAbnormal($color);
} }
/** /**
@ -53,15 +45,7 @@ class Roughmatte extends MaterialsBase
*/ */
public function setTransmission($color) public function setTransmission($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kt = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kt = $color;
$this->kt = Scene::testAbnormal($color);
} }
} }

30
src/scene/materials/Metal.php

@ -44,15 +44,7 @@ class Metal extends MaterialsBase
*/ */
public function setFresnel($color) public function setFresnel($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->fresnel = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->fresnel = $color;
$this->fresnel = Scene::testAbnormal($color);
} }
@ -61,15 +53,7 @@ class Metal extends MaterialsBase
*/ */
public function setUroughness($color) public function setUroughness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->uroughness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->uroughness = $color;
$this->uroughness = Scene::testAbnormal($color);
} }
/** /**
@ -77,15 +61,7 @@ class Metal extends MaterialsBase
*/ */
public function setVroughness($color) public function setVroughness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->vroughness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->vroughness = $color;
$this->vroughness = Scene::testAbnormal($color);
} }
} }

10
src/scene/materials/Mirror.php

@ -32,15 +32,7 @@ class Mirror extends MaterialsBase
*/ */
public function setRefraction($color) public function setRefraction($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kr = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kr = $color;
$this->kr = Scene::testAbnormal($color);
} }
} }

38
src/scene/materials/Mix.php

@ -37,35 +37,19 @@ class Mix extends MaterialsBase
} }
/** /**
* @param object $Material 接收一个材质对象,设置混合材质的第一个材质通道
* @param object $material 接收一个材质对象,设置混合材质的第一个材质通道
*/ */
public function setMaterial1($Material)
public function setMaterial1($material)
{ {
if( is_object( $Material ) )
{
if( $Material->registerId != null ) $this->material1 = $Material->registerId;
else
{
throw new \Exception("You use an unregistered ".$Material->getInstanceClassName()." object for the current property");
}
}
else $this->material1 = $Material;
$this->material1 = Scene::testAbnormal($material);
} }
/** /**
* @param object $Material 接收一个材质对象,设置混合材质的第一个材质通道
* @param object $material 接收一个材质对象,设置混合材质的第一个材质通道
*/ */
public function setMaterial2($Material)
public function setMaterial2($material)
{ {
if( is_object( $Material ) )
{
if( $Material->registerId != null ) $this->material2 = $Material->registerId;
else
{
throw new \Exception("You use an unregistered ".$Material->getInstanceClassName()." object for the current property");
}
}
else $this->material2 = $Material;
$this->material2 = Scene::testAbnormal($material);
} }
/** /**
@ -73,15 +57,7 @@ class Mix extends MaterialsBase
*/ */
public function setAmount($color) public function setAmount($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->amount = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->amount = $color;
$this->amount = Scene::testAbnormal($color);
} }
} }

28
src/scene/materials/TwoSided.php

@ -33,35 +33,19 @@ class TwoSided extends MaterialsBase
} }
/** /**
* @param object $Material 接收一个材质对象,设置双面材质的正面材质通道
* @param object $material 接收一个材质对象,设置双面材质的正面材质通道
*/ */
public function setMaterial1($Material)
public function setMaterial1($material)
{ {
if( is_object( $Material ) )
{
if( $Material->registerId != null ) $this->frontmaterial = $Material->registerId;
else
{
throw new \Exception("You use an unregistered ".$Material->getInstanceClassName()." object for the current property");
}
}
else $this->frontmaterial = $Material;
$this->frontmaterial = Scene::testAbnormal($material);
} }
/** /**
* @param object $Material 接收一个材质对象,设置双面材质的背面材质通道
* @param object $material 接收一个材质对象,设置双面材质的背面材质通道
*/ */
public function setMaterial2($Material)
public function setMaterial2($material)
{ {
if( is_object( $Material ) )
{
if( $Material->registerId != null ) $this->backmaterial = $Material->registerId;
else
{
throw new \Exception("You use an unregistered ".$Material->getInstanceClassName()." object for the current property");
}
}
else $this->backmaterial = $Material;
$this->backmaterial = Scene::testAbnormal($material);
} }
} }

50
src/scene/materials/Velvet.php

@ -51,15 +51,7 @@ class Velvet extends MaterialsBase
*/ */
public function setBaseColor($color) public function setBaseColor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->kd = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->kd = $color;
$this->kd = Scene::testAbnormal($color);
} }
/** /**
@ -67,15 +59,7 @@ class Velvet extends MaterialsBase
*/ */
public function setP1($color) public function setP1($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->p1 = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->p1 = $color;
$this->p1 = Scene::testAbnormal($color);
} }
/** /**
@ -83,15 +67,7 @@ class Velvet extends MaterialsBase
*/ */
public function setP2($color) public function setP2($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->p2 = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->p2 = $color;
$this->p2 = Scene::testAbnormal($color);
} }
/** /**
@ -99,15 +75,7 @@ class Velvet extends MaterialsBase
*/ */
public function setP3($color) public function setP3($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->p3 = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->p3 = $color;
$this->p3 = Scene::testAbnormal($color);
} }
/** /**
@ -115,15 +83,7 @@ class Velvet extends MaterialsBase
*/ */
public function setThickness($color) public function setThickness($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->thickness = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->thickness = $color;
$this->thickness = Scene::testAbnormal($color);
} }
} }

10
src/scene/objects/Objects.php

@ -52,15 +52,7 @@ class Objects extends BaseCfg
*/ */
public function setMaterial($material) public function setMaterial($material)
{ {
if( is_object( $material ) )
{
if( $material->registerId != null ) $this->material = $material->registerId;
else
{
throw new \Exception("You use an unregistered ".$material->getInstanceClassName()." object for the current property");
}
}
else $this->material = $material;
$this->material = Scene::testAbnormal($material);
} }
} }

3
src/scene/texture/procedural/Blend.php

@ -57,7 +57,8 @@ class Blend extends TextureBase
public $mapping; public $mapping;
/** /**
* @param $mapping 如需自定义铺贴参数,必须传入一个 Mapping类对象,否则使用一个默认的铺贴参数
* @param array $config 接收一个数组,可以初始化当前实例化对象的各种属性
* @param object $mapping 如需自定义铺贴参数,必须传入一个 Mapping类对象,否则使用一个默认的铺贴参数
*/ */
public function __construct($config = [],Mapping $mapping = null) public function __construct($config = [],Mapping $mapping = null)
{ {

30
src/scene/texture/procedural/Brick.php

@ -99,15 +99,7 @@ class Brick extends TextureBase
*/ */
public function setBricktex($color) public function setBricktex($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->bricktex = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->bricktex = $color;
$this->bricktex = Scene::testAbnormal($color);
} }
/** /**
@ -115,15 +107,7 @@ class Brick extends TextureBase
*/ */
public function setBrickmodtex($color) public function setBrickmodtex($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->brickmodtex = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->brickmodtex = $color;
$this->brickmodtex = Scene::testAbnormal($color);
} }
/** /**
@ -131,15 +115,7 @@ class Brick extends TextureBase
*/ */
public function setMortartex($color) public function setMortartex($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->mortartex = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->mortartex = $color;
$this->mortartex = Scene::testAbnormal($color);
} }
} }

3
src/scene/texture/procedural/Clouds.php

@ -69,7 +69,8 @@ class Clouds extends TextureBase
public $mapping; public $mapping;
/** /**
* @param $mapping 如需自定义铺贴参数,必须传入一个 Mapping类对象,否则使用一个默认的铺贴参数
* @param array $config 接收一个数组,可以初始化当前实例化对象的各种属性
* @param object $mapping 如需自定义铺贴参数,必须传入一个 Mapping类对象,否则使用一个默认的铺贴参数
*/ */
public function __construct($config = [],Mapping $mapping = null) public function __construct($config = [],Mapping $mapping = null)
{ {

1
src/scene/texture/procedural/ImageMap.php

@ -47,6 +47,7 @@ class ImageMap extends TextureBase
public $mapping; public $mapping;
/** /**
* @param array $config 接收一个数组,可以初始化当前实例化对象的各种属性
* @param object $mapping 如需自定义铺贴参数,必须传入一个 Mapping类对象,否则使用一个默认的铺贴参数 * @param object $mapping 如需自定义铺贴参数,必须传入一个 Mapping类对象,否则使用一个默认的铺贴参数
*/ */
public function __construct($config = [],Mapping $mapping = null) public function __construct($config = [],Mapping $mapping = null)

3
src/scene/texture/transform/NormalMap.php

@ -24,6 +24,9 @@ class ImageMap extends TextureBase
*/ */
public $scale = 1; public $scale = 1;
/**
* @param array $config 接收一个数组,可以初始化当前实例化对象的各种属性
*/
public function __construct($config = []) public function __construct($config = [])
{ {
$this->type = self::TYPE_NORMALMAP; $this->type = self::TYPE_NORMALMAP;

29
src/scene/volumes/HeteroGeneous.php

@ -34,6 +34,9 @@ class HomoGeneous extends VolumesBase
*/ */
public $stepsMaxcount = 1024; public $stepsMaxcount = 1024;
/**
* @param array $config 接收一个数组,可以初始化当前实例化对象的各种属性
*/
public function __construct($config = []) public function __construct($config = [])
{ {
$this->type = self::TYPE_HETEROGENEOUS; $this->type = self::TYPE_HETEROGENEOUS;
@ -41,30 +44,20 @@ class HomoGeneous extends VolumesBase
core\Base::__construct($config); core\Base::__construct($config);
} }
/**
* @param object $color 接收一个贴图对象或小数形式的色值,设置体积材质的非均匀颜色
*/
public function setAsymmetry($color) public function setAsymmetry($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->asymmetry = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->asymmetry = $color;
$this->asymmetry = Scene::testAbnormal($color);
} }
/**
* @param object $color 接收一个贴图对象或小数形式的色值,设置体积材质的散射颜色
*/
public function setScattering($color) public function setScattering($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->scattering = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->scattering = $color;
$this->scattering = Scene::testAbnormal($color);
} }
} }

29
src/scene/volumes/HomoGeneous.php

@ -24,6 +24,9 @@ class HomoGeneous extends VolumesBase
*/ */
public $multiscattering = false; public $multiscattering = false;
/**
* @param array $config 接收一个数组,可以初始化当前实例化对象的各种属性
*/
public function __construct($config = []) public function __construct($config = [])
{ {
$this->type = self::TYPE_HOMOGENEOUS; $this->type = self::TYPE_HOMOGENEOUS;
@ -31,30 +34,20 @@ class HomoGeneous extends VolumesBase
core\Base::__construct($config); core\Base::__construct($config);
} }
/**
* @param object $color 接收一个贴图对象或小数形式的色值,设置体积材质的非均匀颜色
*/
public function setAsymmetry($color) public function setAsymmetry($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->asymmetry = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->asymmetry = $color;
$this->asymmetry = Scene::testAbnormal($color);
} }
/**
* @param object $color 接收一个贴图对象或小数形式的色值,设置体积材质的散射颜色
*/
public function setScattering($color) public function setScattering($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->scattering = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->scattering = $color;
$this->scattering = Scene::testAbnormal($color);
} }
} }

40
src/scene/volumes/VolumesBase.php

@ -2,6 +2,7 @@
namespace Blobt\Luxcore\scene\volumes; namespace Blobt\Luxcore\scene\volumes;
use Blobt\Luxcore\scene\BaseCfg; use Blobt\Luxcore\scene\BaseCfg;
use Blobt\Luxcore\scene\Scene;
class VolumesBase extends BaseCfg class VolumesBase extends BaseCfg
{ {
@ -56,44 +57,29 @@ class VolumesBase extends BaseCfg
*/ */
public $id; public $id;
/**
* @param object $color 接收一个贴图对象或小数形式的色值,设置体积材质的自发光颜色
*/
public function setEmission($color,$emissionId = 0) public function setEmission($color,$emissionId = 0)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->emission = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->emission = $color;
$this->emission = Scene::testAbnormal($color);
$this->emissionId = $emissionId; $this->emissionId = $emissionId;
} }
/**
* @param object $color 接收一个贴图对象或小数形式的色值,设置体积材质的吸收颜色
*/
public function setAbsorption($color) public function setAbsorption($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->absorption = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->absorption = $color;
$this->absorption = Scene::testAbnormal($color);
} }
/**
* @param object $color 接收一个贴图对象或小数形式的色值,设置体积材质的折射率
*/
public function setIor($color) public function setIor($color)
{ {
if( is_object($color) )
{
if( $color->registerId != null ) $this->ior = $color->registerId;
else
{
throw new \Exception("You use an unregistered ".$color->getInstanceClassName()." object for the current property");
}
}
else $this->ior = $color;
$this->ior = Scene::testAbnormal($color);
} }
} }

Loading…
Cancel
Save