Babylon.js Apis – common 通用接口

common 通用接口

在记录过程中会发现其实很多接口在绝大多数类中都存在,因此这篇的目的就是为了

将这些通用或比较普遍的接口给统计出来。

接口规律

current.xxxInPlace(other: DeepImmutable): A

这种类型的接口作用都是根据 xxx 指定的运算规则将 current 和 other 的值进行运算,然后用结果的值

去更新 current 里的属性值,然后将更新之后的 current 对象进行返回。

比如:

  1. Color4.addInPlace
  2. Vector4.divideInPlace

current.xxxToRef(other: DeepImmutable, result: A): A

这种接口的作用和 xxxInPlace 功能一样,将 current 和 other 对象按照 xxx 描述的运算规则

进行运算,不同点在于:

  1. 计算之后的结果放到 result 对象中,并覆盖其中的属性值;
  2. 返回值也是 current 但是这个 current 的内容是没有发生变化的。

current.xxxToFloats(a: A, b: A, c: A, d: A, …): boolean

这种接口一般是左判断使用,是将 current 的属性值和传入的参数 a, b, c, d, …等等一一进行

严格比较,如果都相等,则返回 true, 否则返回 false。

用来做判断用的。

current.getClassName(): string

几乎每个对象都有这么一个函数,用来返回该对象的构造函数名称。

比如

  1. vector4.getClassName() 返回的是 “Vector4”
  2. color4.getClassName() 返回的是 “Color4”

current.getHashCode(): number

current.xxxAndyyyToRef(value: T, result: A): A

这种一般是需要将 current 对象的属性值先根据第一个运算方法 xxx 将其值与第一个参数

value 进行一次运算,然后根据 yyy 提供的运算方式将 current 和 result 进行运算,

因为后面有 ToRef ,因此最后的结果会覆盖掉 result 里的值,返回值将是未发生改变的 current 对象。

  1. current [xxx] value => newResult
  2. newResult [yyy] result => result
  3. return current

current.toArray(array: T, index?: number): T

toString(): string

将 current 里面的值放到 array 数组中去。

asArray(): number[]

  1. Color4
  2. Vector4

clone(): ClassName

本文标题:Babylon.js Apis – common 通用接口

文章作者:ZhiCheng Lee

发布时间:2019年05月06日 - 23:23:51

最后更新:2019年05月06日 - 23:23:57

原始链接:http://blog.gcl666.com/2019/05/06/babylon_api_common/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%