new Utils()
Methods
-
static addColorToModelByXYZData(param) → {Object}
基于离散的XYZ数据为3D模型表面进行着色
-
Parameters:
Name Type Description paramObject 参数对象 Properties
Name Type Attributes Default Description entityObject 实体对象 texture3DTHING.T3D.Texture3D 体纹理 如果传texture3D会忽略data,直接使用 dataArray 数据数组 data extent minMaxValue gridSize都是为了计算texture3D 如果已经传了texture3D 后面的参数可以不传 gradientObject <optional>
{ 0.0: "rgb(0,255,0)", 0.5: "rgb(255,255,0)", 1: "rgb(255,0,0)" } 色带 extentObject <optional>
场数据的范围(如果不传,基于模型包围盒自动计算) 包含字段minX,maxX,minY,maxY,minZ,maxZ minMaxValueObject <optional>
最小最大值对象(如果不传,基于data自动计算) 包含字段min,max gridSizeNumber <optional>
网格大小,即基于离散数据生产的场数据每个网格的尺寸(单位:米),如果不传则根据数据范围自动计算,以模型包围盒三个维度最小尺寸的1/10 blendingBoolean <optional>
false 是否混合 depthWriteBoolean <optional>
false 是否写入深度,默认为false drawSideNumber <optional>
THING.T3D.DRAW_SIDE.DOUBLE 绘制面,默认为THING.T3D.DRAW_SIDE.DOUBLE opacityNumber <optional>
0.5 透明度,默认为0.5 powerNumber <optional>
2 透明度衰减系数 glowInverseBoolean <optional>
false 是否反向发光,默认为false Returns:
Object - 包含材质和原始材质缓存的对象 -
static computeScalarData(data) → {Object}
计算给定三维数组的每个点的标量值 标量值的计算公式是 Math.sqrt(u*u+v*v+w*w)
-
Parameters:
Name Type Description dataObject {u,v,w} 三维数组 Returns:
Object - {data,minValue,maxValue} 根据三个方向分量计算出的的标量,标量最小值,标量最大值 -
static generateImage(matrix, minVal, maxVal, mcolorMap) → {HTMLCanvasElement}
生成表示矩阵数据的图像。
-
此函数通过归一化矩阵数据,将其映射到指定的色带上,然后将结果渲染为一个Canvas图像。通过计算每个矩阵元素的颜色并填充到相应的像素位置,从而生成一个图像。
Parameters:
Name Type Description matrixArray.<Array.<number>> 输入的二维矩阵数据。 minValnumber 矩阵数据的最小值,用于归一化。 maxValnumber 矩阵数据的最大值,用于归一化。 mcolorMapObject 用于映射归一化值到颜色的色带。 Returns:
HTMLCanvasElement - - 包含生成图像的Canvas元素。 -
static getGradientTexture(grad) → {Texture2D}
根据给定的渐变对象生成一个256x1的渐变纹理。
-
Parameters:
Name Type Description gradObject 包含渐变颜色停止点的对象 例如:{0:"rgb(0,255,0)",0.5:"{255,255,0}",1:"rgb(255,0,0)"} Returns:
Texture2D - 一个256x1的T3D渐变纹理。 -
static getGridData(data) → {Object}
计算给定3D网格的x,y,z方向的唯一坐标数据 每个方向的坐标数据是从min到max,间隔为delta
-
Parameters:
Name Type Description dataObject {minX,maxX,minY,maxY,minZ,maxZ,dimX,dimY,dimZ} 3D网格的数据 Returns:
Object - {x,y,z} 3D网格的x,y,z方向的唯一坐标数据 -
static getImageTextureFromVectorFieldData(windData, gradient, encoding) → {ImageTexture}
根据风场数据和颜色渐变生成一个图像纹理对象
-
Parameters:
Name Type Description windDataObject 风场数据 gradientObject 颜色渐变 encodingImageEncodingType 图像编码方式 Returns:
ImageTexture - 生成的图像纹理对象 -
static getMax(arr) → {number}
返回给定数组中的最大元素,该方法支持长度很大的数组。
-
Parameters:
Name Type Description arrArray.<number> 要查找最大值的数组。 Returns:
number - 数组中的最大元素。 -
static getMin(arr) → {number}
返回给定数组中的最小元素,该方法支持长度很大的数组。
-
Parameters:
Name Type Description arrArray.<number> 要查找最小值的数组。 Returns:
number - 数组中的最小元素。 -
static nextPowerOfTwo(value) → {number}
返回比给定值的大的下一个2的n次幂。
-
Parameters:
Name Type Description valuenumber 输入值。 Returns:
number - 下一个2的幂。 -
static revertModelMaterial(entity, originMaterialCache) → {void}
还原模型中所有对象的材质为原始材质。
-
Parameters:
Name Type Description entityTHING.Entity 模型对象 originMaterialCacheObject 原始材质的缓存。 Returns:
void