ht.graph3d.Graph3dView(dataModel)

new Graph3dView(dataModel)

3D渲染引擎组件,可视化呈现数据模型的三维环境场景

Parameters:
Name Type Attributes Description
dataModel ht.DataModel <optional>

Members

shadowMap :any

阴影信息

Methods

acquireProgram() → {void}

Returns:
void

addCamera(camera) → {void}

添加摄像头

Parameters:
Name Type Description
camera any
Returns:
void

addInteractorListener(listener, scope, ahead) → {void}

增加交互事件监听器

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

ahead boolean <optional>

是否将当前监听器插入到监听器列表开头

Returns:
void
Example
//示例:
graph3dView.addInteractorListener(function(event) {
		//event格式:
		{
			kind: 'clickData',//事件类型
			data: data,//事件相关的数据元素
			part: "part",//事件的区域,icon、label等
			event: e//html原生事件
		}
});

addPropertyChangeListener(listener, scope, ahead) → {void}

增加自身属性变化事件监听器

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

ahead boolean <optional>

是否将当前监听器插入到监听器列表开头

Returns:
void

addToDOM(parentNode) → {void}

将组件加入到指定的 DOM 元素底下,不指定则加入到 document.body 下

Parameters:
Name Type Attributes Description
parentNode HTMLDivElement <optional>

父 DOM,默认为 document.body

Returns:
void

addViewListener(listener, scope, ahead) → {void}

监听视图事件,如布局、刷新等

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

ahead boolean <optional>

是否将当前监听器插入到监听器列表开头

Returns:
void

bindEnvMap(gl) → {void}

Parameters:
Name Type Description
gl WebGLRenderingContext
Returns:
void

checkDoubleClickOnNote(event, data, part) → {boolean}

检测事件是否在 note 位置上

Parameters:
Name Type Description
event MouseEvent

鼠标事件

data ht.Data

节点

part string
Returns:
boolean

checkDoubleClickOnRotation(event, data, part) → {boolean}

检测事件是否旋转

Parameters:
Name Type Description
event MouseEvent

鼠标事件

data ht.Data

节点

part string
Returns:
boolean

countFrame() → {number}

统计帧率

Returns:
number

createTexture(textureInfo) → {Object}

创建 gl texture

Parameters:
Name Type Description
textureInfo Object
Returns:
Object
Since:
  • 7.7.0
Example
// 使用举例
   texture = gv.createTexture({
       data : myDataBuffer, // Float32Array
       width : width,
       height : height,
       type : ht.WebGLConstants.FLOAT,
       filter : ht.WebGLConstants.NEAREST,
       clampToEdge : true
   });

deleteTexture(name) → {void}

删除指定贴图

Parameters:
Name Type Description
name string
Returns:
void

deserialize(url, params) → {void}

反序列化

Parameters:
Name Type Attributes Description
url string | Object

反序列化内容,可为 JSON 对象,JSON 格式字符串,JSON 路径

params deserializeParams | deserializeFinishFunc <optional>

params可为对象,包含如下属性,或者为回调函数;
setId: boolean, 保持 Node id 不变
finishFunc: function, 反序列化完成后的回调函数
justDatas: boolean, 只序列化节点
disableOnPreDeserialize: boolean, 取消执行 onPreDeserialize 方法
disableInit: boolean, 取消执行 init 方法
disableOnPostDeserialize: boolean, 取消执行 onPostDeserialize 方法
reset: boolean, 重置场景状态

Returns:
void
Example
view.deserialize('previews/index.json', function(json, dm, view, datas){

});

disableOIT() → {boolean}

禁用 OIT

Returns:
boolean
Since:
  • 7.7.0

disableShaderCompileParallel() → {void}

禁止 Shader 并行编译

Returns:
void
Since:
  • 7.7.0

disableShadow() → {void}

关闭阴影功能

Returns:
void

disableToolTip() → {void}

关闭ToolTip功能

Returns:
void

dispose() → {void}

销毁场景

Returns:
void
Since:
  • 7.7.0

disposeAllPrograms() → {void}

销毁所有程序

Returns:
void
Since:
  • 7.7.0

dm() → {ht.DataModel}

获取getDataModel的缩写

Returns:
ht.DataModel

drawImmediately(glFrame) → {void}

默认 g3d 捕获到 invalidate 后会统一聚合到下一帧做绘制,特殊情况下应用需要马上绘制则可以使用该方法驱动, glFrame 不传入则使用当前主画布进行绘制。

Parameters:
Name Type Attributes Description
glFrame any <optional>
Returns:
void

drawReflectors(gl) → {void}

绘制反射

Parameters:
Name Type Description
gl any

画笔对象

Returns:
void

drawSky(gl, prg, pickColorMap) → {void}

绘制天空

Parameters:
Name Type Description
gl any

画笔对象

prg any

WebGLProgram

pickColorMap any

选择颜色映射

Returns:
void

enableOIT() → {boolean}

开启 OIT

Returns:
boolean
Since:
  • 7.7.0

enablePostProcessing(keys, enable) → {void}

开启或关闭后处理

Parameters:
Name Type Description
keys string

关键词 Bloom | Blur | Dof | HueSaturation,多个可以用英文逗号分割

enable boolean

是否开启

Returns:
void

enableShaderCompileParallel() → {void}

允许 Shader 并行编译

Returns:
void
Since:
  • 7.7.0

enableShadow(shadow) → {void}

开启阴影功能,可传入阴影的参数对象,也可以不传

Parameters:
Name Type Attributes Description
shadow any <optional>
Returns:
void
Example
g3d.enableShadow({
   quality: 'ultra', // 质量
   intensity: 0.3, // 强度
   bias: -0.01, // 偏移
   type: 'soft', // 柔化类型
   radius: 0, // 柔化半径
   degreeX: -82, // X 轴方向上的角度
   degreeZ: 23, // Z 轴方向上的角度
   bounding: '' // 阴影区域
})

enableToolTip() → {void}

启用ToolTip

Returns:
void

fi(event) → {void}

派发交互器事件

Parameters:
Name Type Description
event any
Returns:
void

fireInteractorEvent(event) → {void}

派发交互器事件

Parameters:
Name Type Description
event any
Returns:
void

firePropertyChange(property, oldValue, newValue, equalFunc, params) → {void}

派发属性变化事件,可使用fp的简写方式

Parameters:
Name Type Attributes Description
property string

属性

oldValue any

旧值

newValue any

新值

equalFunc function <optional>

相等判断函数

params any <optional>

其它参数

Returns:
void

fireViewEvent(event) → {void}

派发视图事件

Parameters:
Name Type Description
event any
Returns:
void

flyTo(target, options) → {any}

相机看向具体的节点或者节点列表

Parameters:
Name Type Attributes Description
target ht.Data | Array.<ht.Data> <optional>

数据模型

options FlyToOption <optional>

可选属性,属性包括有:
animation:默认false,是否使用动画,可以设置为true或者false或者animation动画对象
center:默认undefined,新的场景center点,形如 [0,0,0](空的话,target为一个则看向node中心,target为列表则看向根据节点列表计算出来的中心)
direction:默认undefined,眼睛处于目标的方向(相对目标,受到目标自身旋转影响),例如[0,1,5]在目标正面的斜向上
worldDirection :默认undefined,眼睛处于目标的方向(相对场景,不受目标旋转影响),例如[0,1,5]在目标所在位置的斜向上
distance :默认undefined(未定义的话则使用下面的ratio模式计算距离),浮点类型,表示眼睛跟中心的固定距离
ratio:默认0.8,浮点类型,表示眼睛跟中心的距离动态计算(例如 0.8 表示眼睛在上述方向上动态计算距离以将目标包围盒的8个角全部适配到屏幕80%范围内)

Returns:
any

fp(property, oldValue, newValue, equalFunc, params) → {void}

派发属性变化事件,firePropertyChange 方法的简写

Parameters:
Name Type Attributes Description
property string

属性

oldValue any

旧值

newValue any

新值

equalFunc function <optional>

相等判断函数

params any <optional>

其它参数

Returns:
void

getAspect() → {number}

获取截头锥体的宽高比

Returns:
number

getAxisXColor() → {string}

获取x轴线颜色

Returns:
string

getAxisYColor() → {string}

获取y轴线颜色

Returns:
string

getAxisZColor() → {string}

获取z轴线颜色

Returns:
string

getBatchInfo(batchName) → {Object}

根据批量名称获取批量信息

Parameters:
Name Type Description
batchName string

批量名称

Returns:
Object

getBatchInfoMap() → {Object}

获取批量信息对象

Returns:
Object

getBodyColor(data) → {string}

获得节点染色值,默认返回 style 中的 body.color 属性,可重载自定义

Parameters:
Name Type Description
data ht.Data

节点

Returns:
string

getBoundaries() → {Array.<Object>}

获取碰撞边界

Returns:
Array.<Object>

getBoundingBox(nodeList) → {any}

获得传入节点的包围盒,若无传入节点则返回当前选中的节点的

Parameters:
Name Type Attributes Description
nodeList ht.Node | Array.<ht.Node> <optional>
Returns:
any -

{min:[x,y,z],max:[x,y,z]}

getBrightness(data) → {number}

获取图元最终亮度,默认为1,大于1变亮,小于1变暗

Parameters:
Name Type Description
data ht.Data

图元

Returns:
number

getCamera() → {any}

获取摄像头

Returns:
any

getCanvas() → {HTMLCanvasElement}

获取渲染的画布

Returns:
HTMLCanvasElement -

画布

getCenter() → {Array.<number>}

获取拓扑中心点

Returns:
Array.<number> -

中心点坐标,格式:[x, y, z]

getCenterInfo() → {Object}

获取场景中心信息,返回信息如 { length, width, height }

Returns:
Object

getClass() → {function}

获取类声明(构造函数)

Returns:
function -

类声明(构造函数)

getClassName() → {string}

获取类全名,继承Data并希望序列化时应该重写此方法返回子类的类名字符串

Returns:
string

getCoreInteractor() → {any}

Returns:
any

getCurrentShadowBounding() → {Array.<number>}

获取当前的阴影区域,默认是 [1.4, 0, 0, 443.40500673763256]

Returns:
Array.<number> -

阴影区域

getCurrentSubGraph() → {ht.SubGraph}

获取当前子网

Returns:
ht.SubGraph -

子网对象

getData3dUI(data) → {any}

获得节点三维绘制信息

Parameters:
Name Type Description
data ht.Data

节点

Returns:
any

getDataAt(event) → {ht.Data}

获得对应交互事件位置的节点,前提是节点必须可选中

Parameters:
Name Type Description
event MouseEvent

鼠标事件

Returns:
ht.Data

getDataHighlightMode(data) → {string|boolean}

返回节点是否在高亮状态下,四种状态 true(是)、false(否)、selected(选中)、hover(移入)

Parameters:
Name Type Description
data ht.Data

节点

Returns:
string | boolean

getDataInfoAt(pointOrEvent) → {Object}

传入逻辑坐标点或者交互event事件参数,返回当前点下的图元及part信息

Parameters:
Name Type Description
pointOrEvent Object

逻辑坐标点或交互事件对象(如鼠标事件对象)

Returns:
Object -

图元和part信息

getDataModel() → {ht.DataModel}

获取绑定的数据模型

Returns:
ht.DataModel -

数据模型

getDatasInRect(rect) → {ht.List}

获取矩形区域内的图元

Parameters:
Name Type Description
rect Rect

逻辑坐标区域

Returns:
ht.List

getDebugTip() → {HTMLDivElement}

获取调试面板的 dom 元素

Returns:
HTMLDivElement

getDevicePixelRatio() → {number}

获取设备像素比

Returns:
number

getDisabledDiv() → {HTMLElement}

返回禁用遮罩层 div

Returns:
HTMLElement

getEditableFunc() → {function}

获取编辑过滤器函数

Returns:
function

getEditSizeColor() → {string}

获取大小编辑控制条的颜色

Returns:
string

getEnvmap() → {string}

获取环境光贴图

Returns:
string

getEnvmapType() → {string}

获取环境光模式。两种模式:new|legacy

Returns:
string

getEye() → {Array.<number>}

获取眼睛(或Camera)所在位置,默认值为[0, 300, 1000]

Returns:
Array.<number> -

眼睛位置坐标,格式[x, y, z]

getFaceBlend(data, face) → {string}

获取节点指定面的染色值,可重载自定义

Parameters:
Name Type Description
data ht.Data
face string
Returns:
string
Example
// 默认实现如下
function (data, face) {
       returns data.s(face + '.blend') || data.s('all.blend');
   }

getFaceBlendImage(data, face) → {string}

获取节点指定面的染色图贴,可重载自定义

Parameters:
Name Type Description
data ht.Data

节点

face string

Returns:
string
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.blend.image') || data.s('all.blend.image');
   }

getFaceColor(data, face) → {string}

获取节点指定面的颜色,可重载自定义

Parameters:
Name Type Description
data ht.Data
face string
Returns:
string
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.color') || data.s('all.color');
   }

getFaceDiscardSelectable(data, face) → {boolean}

获取节点指定面被剔除后是否可选中,可重载自定义

Parameters:
Name Type Description
data ht.Data
face string
Returns:
boolean
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.discard.selectable') || data.s('all.discard.selectable');
   }

getFaceImage(data, face) → {string}

获取节点指定面贴图,可重载自定义

Parameters:
Name Type Description
data ht.Data
face string
Returns:
string
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.image') || data.s('all.image');
   }

getFaceLight(data, face) → {boolean}

获取节点指定面是否受光影响,可重载自定义

Parameters:
Name Type Description
data ht.Data
face string
Returns:
boolean
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.light') || data.s('all.light');
   }

getFaceOpacity(data, face) → {number}

获取节点指定面透明度,可重载自定义

Parameters:
Name Type Description
data ht.Data
face string
Returns:
number
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.opacity') || data.s('all.opacity');
   }

getFaceReverseColor(data, face) → {string}

获取节点指定面反面颜色,可重载自定义

Parameters:
Name Type Description
data ht.Data
face string
Returns:
string
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.reverse.color') || data.s('all.reverse.color');
   }

getFaceReverseCull(data, face) → {boolean}

获取节点指定面反面是否可见,即背裁切,可重载自定义

Parameters:
Name Type Description
data ht.Data
face string
Returns:
boolean
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.reverse.cull') || data.s('all.reverse.cull');
   }

getFaceReverseFlip(data, face) → {boolean}

获取节点指定面反面是否展示正面内容,即背拷贝,可重载自定义

Parameters:
Name Type Description
data ht.Data
face string
Returns:
boolean
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.reverse.flip') || data.s('all.reverse.flip');
   }

getFaceTransparent(data, face) → {boolean}

获取节点指定面反面是否透明,即背拷贝,可重载自定义

Parameters:
Name Type Description
data ht.Data
face string
Returns:
boolean
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.transparent') || data.s('all.transparent');
   }

getFaceUv(data, face) → {Array.<number>}

获取节点指定面uv 定义,默认值[0,0, 0,1, 1,1, 1,0],左旋转90度[1,0, 0,0, 0,1, 1,1],右旋转90度[0,1, 1,1, 1,0, 0,0],右旋转180度[1,1, 1,0, 0,0, 0,1],左旋转180度:[0,1, 0,0, 1,0, 1,1],可重载自定义

Parameters:
Name Type Description
data ht.Data
face string
Returns:
Array.<number>
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.uv') || data.s('all.uv');
   }

getFaceUvOffset(data, face) → {Array.<number>}

获取节点指定面uv偏移,格式为[0.5,0.5]

Parameters:
Name Type Description
data ht.Data
face string
Returns:
Array.<number>
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.uv.offset') || data.s('all.uv.offset');
   }

getFaceUvScale(data, face) → {Array.<number>}

获取节点指定面uv缩放,格式为[0.5,0.5]

Parameters:
Name Type Description
data ht.Data
face string
Returns:
Array.<number>
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.uv.scale') || data.s('all.uv.scale');
   }

getFaceVisible(data, face) → {boolean}

获取节点指定面是否可见

Parameters:
Name Type Description
data ht.Data
face string
Returns:
boolean
Example
// 默认实现如下
 function (data, face) {
       returns data.s(face + '.visible') || data.s('all.visible');
   }

getFar() → {number}

获取远端截面位置,默认值为10000

Returns:
number

getFlowBlendMode() → {string}

获取流光染色模式。模式有:叠加RGB(addRGB);叠加RGBA(addRGBA);覆盖A(overrideA);覆盖RGB(overrideRGB);覆盖RGBA(overrideRGBA);相乘RGB(multiplyRGB);相乘RGBA(multiplyRGBA)

Returns:
string -

模式

getFogColor() → {string}

获取雾化颜色值, 默认值为:white

Returns:
string

getFogDensity() → {number}

获取雾化强度,默认值为:0.0005

Returns:
number

getFogFar() → {number}

获取雾化远端距离

Returns:
number

getFogMode() → {string}

获取雾化模式,可设置为线性linear、标准exp2两种模式

Returns:
string

getFogNear() → {number}

获取雾化近端距离

Returns:
number

getFovy() → {number}

获取垂直方向的视觉张角弧度,默认值为Math.PI/4

Returns:
number

getFrustum() → {any}

获取视锥体

Returns:
any

getGL() → {any}

获取当前使用的 GL

Returns:
any

getGridColor() → {string}

获取网格线颜色

Returns:
string

getGridGap() → {number}

获取网格线间距

Returns:
number

getGridSize() → {number}

获取网格行列数,默认为40

Returns:
number

getHeadlightAmbientIntensity() → {number}

获取头灯环境光比例,默认为0.7,即无论灯的角度,头灯都会贡献70%的环境光,剩下30%根据灯的角度决定强弱

Returns:
number

getHeadlightColor() → {string}

获取头灯的颜色

Returns:
string

getHeadlightDirection() → {string|Array.<number>}

获取头灯方向,跟随相机: camera,跟随阴影方向:shadow,任意方向:某一个点例如[0, -1, 0]。默认跟随相机 camera

Returns:
string | Array.<number>

getHeadlightGroup() → {string|number}

获取头灯所在的灯光组, 默认是0

Returns:
string | number -

灯光组

getHeadlightIntensity() → {number}

获取头灯强度,默认为1,大于1增强,小于1减弱

Returns:
number

getHeadlightRange() → {number}

获取头灯影响范围,默认为0代表可照射到无穷远处,如果设置了值则光照射效果随物体远离光影而衰减

Returns:
number

getHeadlightRatioForPhysicalMaterial() → {number}

获取头灯材质系数,默认值为 0.5

Returns:
number
Since:
  • 7.7.0

getHeight() → {number}

获取拓扑组件的布局高度

Returns:
number

getHighlightColor() → {string}

获取当前高亮的颜色,默认为rgba(190, 210, 250, 1)

Returns:
string

getHighlightGlow() → {string}

获取当前高亮的边缘模糊,默认为 0.8

Returns:
string

getHighlightHelper() → {any}

获取当前高亮辅助类对象

Returns:
any

getHighlightMode() → {string}

获取当前高亮的模式,默认为style。包括:disabled关闭高亮,selected选中高亮,hover悬浮高亮,style风格设置高亮

Returns:
string

getHighlightStrength() → {string}

获取高亮强度,默认是 2

Returns:
string -

高亮强度

getHighlightType() → {string}

获取高亮类型

Returns:
string -

hard: 硬, soft 软

getHighlightWidth() → {number}

获取当前高亮的线宽,默认为0.8

Returns:
number

getHitFaceInfo(event) → {Object}

返回交互事件位置的面信息,返回信息,返回格式如 { node, face } ,face 可能是六面信息,也可能是 body note label

Parameters:
Name Type Description
event MouseEvent

鼠标事件

Returns:
Object

getHitPosition(eventOrPoint, ponit, normal) → {Array.<number>}

计算鼠标射线与三维场景中由 point 和 normal 定义的平面的交点

Parameters:
Name Type Attributes Description
eventOrPoint any

鼠标事件或屏幕坐标点

ponit Array.<number> <optional>

平面上的任意一点,默认为[0,0,0]

normal number <optional>

平面法向量,默认为[0,1,0]

Returns:
Array.<number>

getHoverDelay() → {number}

获取悬停延迟时间,若无设置使用 ht.Default.hoverDelay

Returns:
number

getInteractors() → {ht.List}

获取交互器

Returns:
ht.List

getLabel(data) → {string}

获取图元的label,用于在拓扑上显示文字信息,可重载返回自定义文字

Parameters:
Name Type Description
data ht.Data

图元

Returns:
string -

图元label文字,默认返回data.s('label')||data.getName();

getLabel2(data) → {string}

获取图元的第二个label,用于在拓扑上显示文字,可重载返回自定义文字

Parameters:
Name Type Description
data ht.Data

图元

Returns:
string -

图元第二个label的文字,默认返回data.s('label2')

getLabel2Background(data) → {string}

获取图元的第二个label的背景色,可重载返回自定义颜色

Parameters:
Name Type Description
data ht.Data

图元

Returns:
string -

图元第二个label的背景色,默认返回data.s('label2.background')

getLabel2Color(data) → {string}

获取图元的第二个label的文字颜色,可重载返回自定义颜色

Parameters:
Name Type Description
data ht.Data

图元

Returns:
string -

图元第二个label的文字颜色,默认返回data.s('label2.color')

getLabelBackground(data) → {string}

获取图元label的背景色,可重载返回自定义颜色

Parameters:
Name Type Description
data ht.Data

图元

Returns:
string -

图元label的背景色,默认返回data.s('label.background')

getLabelColor(data) → {string}

获取图元label的文字颜色,可重载返回自定义颜色

Parameters:
Name Type Description
data ht.Data

图元

Returns:
string -

图元label的文字颜色,默认返回data.s('label.color')

getLineLength(edgeOrPolyline) → {number}

获得管线长度

Parameters:
Name Type Description
edgeOrPolyline ht.Edge | ht.Shape

管线节点

Returns:
number

getLineOffset(edgeOrPolyline, offset) → {any}

获得管线指定偏移值位置

Parameters:
Name Type Description
edgeOrPolyline ht.Edge | ht.Shape

管线

offset number

偏移值,可用 getLineLength 获取总长度,范围为 0 ~ 总长

Returns:
any

getLogicalPoint(event) → {Point}

将屏幕坐标转换为视图坐标

Parameters:
Name Type Description
event MouseEvent

HTML事件对象

Returns:
Point

getMat() → {any}

Returns:
any

getMovableFunc() → {function}

获取移动过滤器函数

Returns:
function

getMoveMode(event, data) → {string}

获取图元在3d的移动范围,可取值xyz|xy|xz|yz|x|y|z

Parameters:
Name Type Description
event MouseEvent

鼠标事件

data ht.Data

节点

Returns:
string

getMoveStep() → {number}

获取移动漫游步进

Returns:
number

getNear() → {number}

获取近端截面位置,默认值为10

Returns:
number

getNote(data) → {string}

获取图元的note,用于在拓扑上显示标注信息,可重载返回自定义文字

Parameters:
Name Type Description
data ht.Data

图元

Returns:
string -

图元note文字,默认返回data.s('note')

getNote2(data) → {string}

获取图元的第二个note,用于在拓扑上显示标注信息,可重载返回自定义文字

Parameters:
Name Type Description
data ht.Data

图元

Returns:
string -

图元第二个note文字,默认返回data.s('note2')

getNote2Background(data) → {string}

获取图元的第二个note的背景色,可重载返回自定义颜色

Parameters:
Name Type Description
data ht.Data

图元

Returns:
string -

图元第二个note的背景色,默认返回data.s('note2.background')

getNoteBackground(data) → {string}

获取图元note的文字颜色,可重载返回自定义颜色

Parameters:
Name Type Description
data ht.Data

图元

Returns:
string -

图元note的文字颜色,默认返回data.s('note.background')

getOITPassCount(count) → {number}

获取 OIT 的 render pass 数量

Parameters:
Name Type Description
count number
Returns:
number

getOpacity(data) → {number}

获取图元的透明度,可重载返回自定义透明度

Parameters:
Name Type Description
data ht.Data

图元

Returns:
number -

图元透明度,默认返回data.s('opacity')

getOrthoWidth() → {number}

获取正交投影宽度,默认为2000

Returns:
number

getPickerResolution() → {number}

获取当前 Picker 的绘制精度

Returns:
number

getPositionInfo(position) → {any}

获取位置信息 { height, length, width }

Parameters:
Name Type Description
position any
Returns:
any

getPostProcessing() → {any}

获取后处理对象

Returns:
any

getPostProcessingModule(name) → {any}

获取后处理模块

Parameters:
Name Type Attributes Description
name string <optional>
Returns:
any

getPostProcessingValue(module, name) → {any}

获取后处理具体模块的属性值

Parameters:
Name Type Description
module string
name string
Returns:
any

getPVMatrix() → {any}

获取 Project View Matrix

Returns:
any

getRaycaster() → {any}

获取当前场景的 Raycaster 射线检测器

Returns:
any

getRectSelectBackground() → {string}

获取框选选择框的背景色

Returns:
string

getRenderInfo() → {any}

当前渲染信息,建议通过g3d.showDebugTip 来获取

Returns:
any

getRenderLayerInfo(layerName) → {Object}

根据层级名称获取层级信息

Parameters:
Name Type Description
layerName string

级名称

Returns:
Object -

Object

getRenderLayerInfoMap() → {Object}

获取层级信息

Returns:
Object -

Object

getRotateMaxPhi() → {number}

获取 g3d 的最大旋转度数

Returns:
number

getRotateMinPhi() → {number}

获取 g3d 的最小旋转度数

Returns:
number

getRotateStep() → {number}

获取旋转步进

Returns:
number

getRotationEditableFunc() → {function}

获取旋转编辑过滤器函数

Returns:
function

getSelectableFunc() → {function}

获取选择过滤器函数

Returns:
function

getSelectionModel() → {ht.SelectionModel}

获取选中模型

getShaderErrorLog() → {any}

获取当前 Shader 报错日志

Returns:
any
Since:
  • 7.7.0

getShadowBias() → {number}

获取阴影 bias 偏移,默认是 -0.005

Returns:
number -

bias 偏移

getShadowBounding() → {Array.<number>}

获取阴影区域,默认是 [1.4, 0, 0, 443.40500673763256]

Returns:
Array.<number> -

阴影区域

getShadowDegreeX() → {number}

获取阴影 X 轴角度, 默认是 30

Returns:
number

getShadowDegreeZ() → {number}

获取阴影 Y 轴角度,默认是 -10

Returns:
number

getShadowIntensity(intensity) → {number}

获取阴影强度, 默认是0.3

Parameters:
Name Type Description
intensity any
Returns:
number -

获取阴影强度

getShadowMap() → {any}

获取阴影信息

Returns:
any
Since:
  • 7.7.0

getShadowQuality() → {string}

获取阴影质量 low:低,medium:中,high:高,ultra:极高,默认是 high

Returns:
string

getShadowRadius() → {number}

获取阴影柔化半径,默认 0.1

Returns:
number

getShadowType() → {string}

获取阴影柔化类型 none:无,hard:硬,软:soft,默认是 hard

Returns:
string

getShape3dText(data) → {string}

返回图元 3D 文字内容, 默认 returns data.getStyle('shape3d.text') || this.getLabel(data);

Parameters:
Name Type Description
data ht.Data
Returns:
string

getSizeEditableFunc() → {function}

获取大小编辑过滤器

Returns:
function

getSkyBox() → {ht.Node}

返回天空球节点

Returns:
ht.Node

getSortFunc() → {function}

获取透明排序函数

Returns:
function

getSuperClass() → {function}

获取父类声明(构造函数),继承类时可以用来调用父类构造或函数

Returns:
function

getTexture(name, data, part) → {any}

获取贴图信息

Parameters:
Name Type Description
name string

名称

data ht.Data

节点

part string
Returns:
any

getTextureMap() → {Object}

获取组件内部的贴图映射表

Returns:
Object

getToneMapping() → {string}

获取色调映射,默认为:undefined。有4种类型:线性(linear),reinhard,cineon,aces

Returns:
string
Since:
  • 7.7.0

getToneMappingExposure() → {number}

获取色调映射曝光度

Returns:
number
Since:
  • 7.7.0

getToolTip(e) → {string}

获取ToolTip文字,可重载返回自定义的toolTip文字

Parameters:
Name Type Description
e Object

鼠标或Touch事件对象

Returns:
string -

toolTip文字,默认取出鼠标下的图元,然后返回其getToolTip()

getUp() → {Array.<number>}

获取摄像头正上方向,该参数一般较少改动,默认值为[0, 1, 0]

Returns:
Array.<number> -

格式:[x, y, z]

getView() → {HTMLDivElement}

获取拓扑组件的根层div

Returns:
HTMLDivElement

getViewport() → {Array.<number>}

获取视图端口

Returns:
Array.<number>

getViewRatio(view) → {number}

获取视图比率

Parameters:
Name Type Description
view Array.<number>

区域, 例如:[100,100,100]

Returns:
number

getVisibleFunc() → {function}

获取可见过滤器函数

Returns:
function

getWidth() → {number}

获取拓扑组件的布局宽度

Returns:
number

getWireframe(data) → {Object}

定义图元立体线框效果

Parameters:
Name Type Description
data ht.Data

数据元素

Returns:
Object
Example
//示例:
g3d.getWireframe(data){
    var visible = data.s('wf.visible');
    if(visible === true || (visible === 'selected' && this.isSelected(data))){
        returns {
            color: data.s('wf.color'),
            width: data.s('wf.width'),
            short: data.s('wf.short'),
            mat: data.s('wf.mat')
        };
    }
},

getWireframeGeometry(data) → {Object}

返回图元线框信息

Parameters:
Name Type Description
data ht.Data
Returns:
Object
Example
{
                    color: data.s('wf.color'),
                    width: data.s('wf.width'),
                    mat: data.s('wf.mat'),
                    geometry: true
                }

getZoomToCenter() → {boolean}

当前滚轮缩放是否按照Center来缩放,true为按照Center缩放,false按照鼠标缩放

Returns:
boolean

handleClick(e, data, part) → {void}

图元点击回调,可重载自定义

Parameters:
Name Type Description
e MouseEvent
data ht.Data
part string
Returns:
void

handleDataModelChange(event) → {void}

处理数据节点变化,可重载自定义

Parameters:
Name Type Description
event any
Returns:
void

handleDataModelPropertyChange(event) → {void}

处理数据节点属性变化,可重载自定义

Parameters:
Name Type Description
event any
Returns:
void

handleDataPropertyChange(event) → {void}

处理数据属性变化,可重载自定义

Parameters:
Name Type Description
event any
Returns:
void

handleDelete(event) → {void}

处理按下 delete 按键的动作,可重载自定义

Parameters:
Name Type Description
event any
Returns:
void

handleDoubleClick(e, data, part) → {void}

图元双击回调,可重载自定义

Parameters:
Name Type Description
e MouseEvent
data ht.Data
part string
Returns:
void

handleHierarchyChange(event) → {void}

处理层次结构更改,可重载自定义

Parameters:
Name Type Description
event any
Returns:
void

handleKeyDown(event) → {void}

案件键盘事件,可重载自定义

Parameters:
Name Type Description
event KeyboardEvent
Returns:
void

handlePinch(event) → {void}

处理 touch 设备上的双指操作交互,可重载自定义

Parameters:
Name Type Description
event TouchEvent
Returns:
void

handleScroll(event) → {void}

处理鼠标滚轮操作交互,可重载自定义

Parameters:
Name Type Description
event MouseEvent
Returns:
void

handleSelectionChange(event) → {void}

处理选中变化事件

Parameters:
Name Type Description
event any
Returns:
void

handleTick() → {void}

处理 wsda 交互

Returns:
void

hideDebugTip() → {void}

隐藏调试面板

Returns:
void

intersectObject(event, data) → {Object}

计算鼠标射线与节点的交点,

Parameters:
Name Type Description
event any

鼠标事件或屏幕坐标点

data ht.Data

被检测的节点

Returns:
Object -

返回 {local, normal, part, uv, world, worldNormal } 这样的对象,其中 local 是相对坐标,normal 是相对法线,part 是当前位置所在部分,uv 是当前位置的贴图 uv 信息,world 是世界坐标,worldNormal 是世界法线

intersectObjects(pointOrEventOrRay, nodes, filter) → {Object}

返回 Nodes 中的第一个撞击到的 Node 位置

Parameters:
Name Type Attributes Description
pointOrEventOrRay any
nodes Array.<ht.Node>
filter function <optional>
Returns:
Object

invalidate(delay) → {void}

无效拓扑,并调用延时刷新

Parameters:
Name Type Attributes Description
delay number <optional>

延迟刷新的间隔事件(单位:ms)

Returns:
void

invalidateAll() → {void}

无效拓扑中的所有图元

Returns:
void

invalidateBatch(name) → {void}

无效批量

Parameters:
Name Type Description
name string
Returns:
void

invalidateCachedGeometry(data) → {void}

无效线框

Parameters:
Name Type Description
data ht.Data
Returns:
void

invalidateCachedTexture(data, force) → {void}

无效贴图

Parameters:
Name Type Attributes Description
data ht.Data
force boolean <optional>

决定是否强行做 data iv 操作,考虑兼容性该值默认 true

Returns:
void

invalidateData(data) → {void}

无效拓扑中的图元

Parameters:
Name Type Description
data ht.Data

要无效的图元

Returns:
void

invalidateEnvmap(data) → {void}

无效环境光

Parameters:
Name Type Description
data ht.Data
Returns:
void

invalidateLight(data) → {void}

无效灯光

Parameters:
Name Type Description
data ht.Data
Returns:
void

invalidateMeshAttribute(attr) → {void}

Parameters:
Name Type Description
attr string
Returns:
void

invalidateSelection() → {void}

无效选中模型中的图元

Returns:
void

invalidateShape3dAttribute(data, name) → {void}

无效 Shape3d 的属性

Parameters:
Name Type Description
data ht.Data

节点

name string

属性

Returns:
void

invalidateShape3dCachedImage(data) → {void}

废弃方法,请使用 invalidateCachedTexture

Parameters:
Name Type Description
data ht.Data
Returns:
void
Deprecated:
  • undefined

invalidateTransmissionObjects(data, obj) → {void}

无效透射材质属性

Parameters:
Name Type Description
data ht.Data
obj Object
Returns:
void
Since:
  • 7.7.0

inViewSpace(p3) → {boolean}

判断坐标点是否在视线范围内

Parameters:
Name Type Description
p3 undefined
Returns:
boolean

isAutoMakeVisible() → {boolean}

Returns:
boolean

isBatchBlendDisabled() → {boolean}

批量染色是否启用

Returns:
boolean

isBatchBrightnessDisabled() → {boolean}

批量亮度是否启用

Returns:
boolean

isBatchColorDisabled() → {boolean}

批量颜色是否启用

Returns:
boolean

isBatchInstancedDisabled() → {boolean}

批量同质是否启用

Returns:
boolean

isBlockSelectable() → {boolean}

获取 block 可被选中

Returns:
boolean

isCenterAxisVisible() → {boolean}

是否显示中心点轴线

Returns:
boolean

isDashDisabled() → {boolean}

虚线是否禁用

Returns:
boolean

isDebugTipShowing() → {boolean}

调试面板是否显示

Returns:
boolean

isDisabled() → {boolean}

组件是否处于不可用状态,处于此状态时不能进行任何操作并且会遮挡一层蒙板

Returns:
boolean

isEditable(data) → {boolean}

判断图元是否可被编辑

Parameters:
Name Type Description
data ht.Data

图元

Returns:
boolean

isEditHelperDisabled() → {boolean}

获取当前 EditHelper 是否关闭

Returns:
boolean

isFirstPersonMode() → {boolean}

是否是第一人称模式

Returns:
boolean

isFogDisabled() → {boolean}

雾化功能是否禁用

Returns:
boolean

isGridVisible() → {boolean}

是否显示网格

Returns:
boolean

isHeadlightDisabled() → {boolean}

头灯是否禁用

Returns:
boolean

isInteractive(data) → {boolean}

判断节点是否可交互,默认由 style 中的 interactive 决定,可重载自定义,如禁用所有交互 gv.isInteractive = () => false;

Parameters:
Name Type Description
data ht.Data
Returns:
boolean

isLabelVisible(data) → {boolean}

判断图元label是否可见,默认当拓扑缩放值大于0.15时可见

Parameters:
Name Type Description
data ht.Data

图元

Returns:
boolean

isMouseRoamable() → {boolean}

是否使用鼠标漫游,默认为true, 如果改为false, 则鼠标左键右键都不支持前进后退的操作功能,
但左键可拖拽编辑图元,右键可改变视角方向,采用这样的方式一般会结合键盘w|s|a|d按键进行漫游操作

Returns:
boolean

isMovable(data) → {boolean}

判断图元是否可移动

Parameters:
Name Type Description
data ht.Data

图元

Returns:
boolean

isNoteVisible(data) → {boolean}

判断图元note是否可见,默认当拓扑缩放值大于0.15时可见

Parameters:
Name Type Description
data ht.Data

图元

Returns:
boolean

isOITEnabled() → {boolean}

是否开启 OIT (OIT: 用于正确解决多物体互相遮挡的正确透明绘制问题)

Returns:
boolean -

是否开启

Since:
  • 7.7.0

isOriginAxisVisible() → {boolean}

是否显示坐标原点[0,0,0]轴线

Returns:
boolean -

是否显示

isOrtho() → {boolean}

是否使用正交投影

Returns:
boolean -

是否使用

isPannable() → {boolean}

是否允许平移操作

Returns:
boolean -

是否允许

isPicking() → {boolean}

当前是否正在绘制 Pick 场景

Returns:
boolean
Since:
  • 7.7.0

isRectOverlapping(data) → {boolean}

是否允许正交重叠

Parameters:
Name Type Description
data ht.Data
Returns:
boolean -

是否允许

isRectSelectable() → {boolean}

是否允许框选操作

Returns:
boolean -

是否允许

isRenderSceneForBloom() → {boolean}

是否正在绘制 Bloom 使用的场景

Returns:
boolean
Since:
  • 7.7.0

isResettable() → {boolean}

判断是否允许通过空格将拓扑复位

Returns:
boolean

isRotatable() → {boolean}

是否可旋转

Returns:
boolean

isRotationEditable(data) → {boolean}

判断图元是否可编辑旋转

Parameters:
Name Type Description
data ht.Data

图元

Returns:
boolean

isSelectable(data) → {boolean}

判断图元是否可被选中

Parameters:
Name Type Description
data ht.Data

图元

Returns:
boolean

isSelected(data) → {boolean}

判断图元是否被选中

Parameters:
Name Type Description
data ht.Data

图元

Returns:
boolean

isSelectedById(id) → {boolean}

根据id判断图元是否被选中

Parameters:
Name Type Description
id string | number

图元id

Returns:
boolean

isSelectionModelShared() → {boolean}

当前拓扑是否共享选中模型

Returns:
boolean

isShaderCompileParallel() → {boolean}

是否允许 Shader 并行编译

Returns:
boolean
Since:
  • 7.7.0

isSizeEditable(data) → {boolean}

图元是否可编辑大小

Parameters:
Name Type Description
data ht.Data

图元

Returns:
boolean

isSortable() → {boolean}

是否开启透明排序

Returns:
boolean

isToolTipEnabled() → {boolean}

返回提示功能是否可用

Returns:
boolean

isTransmissionEnabled() → {boolean}

是否允许透射材质,默认为true

Returns:
boolean

isTransparentMask(data) → {boolean}

判断图元是否开启透明遮罩(不可见但依然可交互)

Parameters:
Name Type Description
data ht.Data
Returns:
boolean

isUvClipEnabled() → {boolean}

是否开启 UV 裁切使能

Returns:
boolean

isVisible(data) → {boolean}

判断图元是否可见(

Parameters:
Name Type Description
data ht.Data

图元

Returns:
boolean

isWalkable() → {boolean}

是否可进退

Returns:
boolean

isWebGL2() → {boolean}

是否使用 WebGL2

Returns:
boolean -

boolean

isZoomable() → {boolean}

是否可缩放

Returns:
boolean

iv(delay) → {void}

无效拓扑,并调用延时刷新,invalidate的缩写

Parameters:
Name Type Attributes Description
delay number <optional>

延迟刷新的间隔事件(单位:ms)

Returns:
void

layout(x, y, width, height) → {void}

执行布局

Parameters:
Name Type Description
x number

x轴坐标

y number

y轴坐标

width number

区域宽度

height number

区域高度

Returns:
void

lp(pointOrEvent) → {Point3d}

传入HTML事件对象,将事件坐标转换为拓扑中的逻辑坐标,getLogicalPoint的缩写

Parameters:
Name Type Description
pointOrEvent UIEvent
Returns:
Point3d

makeVisible(data) → {void}

平移拓扑以确保该图元在可见区域内

Parameters:
Name Type Description
data ht.Data

图元

Returns:
void

mi(listener, scope, ahead) → {void}

增加交互事件监听器,addInteractorListener的缩写

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

ahead boolean <optional>

是否将当前监听器插入到监听器列表开头

Returns:
void
Example
//示例:
graph3dView.mi(function(event) {
		//event格式:
		{
			kind: 'clickData',//事件类型
			data: data,//事件相关的数据元素
			part: "part",//事件的区域,icon、label等
			event: e//html原生事件
		}
});

moveCamera(eye, center, anim) → {AnimInstance}

移动场景相机中心点位置

Parameters:
Name Type Attributes Description
eye Array.<number>

相机位置坐标

center Array.<number>

中心点位置坐标

anim boolean | AnimOption <optional>

默认false,是否使用动画,可以设置为true或者false或者animation动画对象

Returns:
AnimInstance

moveSelection(dx, dy, dz) → {void}

移动选中模型中图元的位置

Parameters:
Name Type Description
dx number

x轴方向移动值

dy number

y轴方向移动值

dz number

z轴方向移动值

Returns:
void

mp(listener, scope, ahead) → {void}

增加自身属性变化事件监听器,addPropertyChangeListener的缩写

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

ahead boolean <optional>

是否将当前监听器插入到监听器列表开头

Returns:
void

onAutoLayoutEnded() → {void}

自动布局动画结束后时回调,可重载做后续处理

Returns:
void

onBackgroundClicked(event) → {void}

单击拓扑背景时回调,可重载做后续处理

Parameters:
Name Type Description
event Object

事件对象

Returns:
void

onBackgroundDoubleClicked(event) → {void}

双击拓扑背景时回调,默认调用upSubGraph()进入上一层子网,可重载改变默认逻辑或做后续处理

Parameters:
Name Type Description
event Object

事件对象

Returns:
void

onCSGBoxDoubleClicked(csgBox, event, part) → {void}

双击 csgBox 模型时回调,可重载改变默认逻辑或做后续处理

Parameters:
Name Type Attributes Description
csgBox ht.CSGBox

csgBox 模型

event Object

事件对象

part string <optional>
Returns:
void

onDataClicked(data, e, part) → {void}

图元被点击时回调,可重载做后续处理

Parameters:
Name Type Description
data ht.Data

被点击的图元

e Object

事件对象

part Object

区域

Returns:
void

onDataDoubleClicked(data, e, part) → {void}

图元被双击时回调,可重载做后续处理

Parameters:
Name Type Description
data ht.Data

双击的图元

e Object

事件对象

part Object

区域

Returns:
void

onDoorWindowDoubleClicked(csgBox, event, part) → {void}

双击 DoorWindow 模型时回调,可重载改变默认逻辑或做后续处理

Parameters:
Name Type Attributes Description
csgBox ht.CSGBox

DoorWindow 模型

event Object

事件对象

part string <optional>
Returns:
void

onEdgeDoubleClicked(edge, e, part) → {void}

连线图元被双击时回调,默认调用edge.toggle(),可重载改变默认逻辑或做后续处理

Parameters:
Name Type Description
edge ht.Edge

连线

e Object

事件对象

part Object

区域

Returns:
void

onGroupDoubleClicked(group, e, part) → {void}

组类型图元被双击时回调,默认实现调用group.toggle(),可重载改变默认逻辑或做后续处理

Parameters:
Name Type Description
group ht.Group

Group对象

e Object

事件对象

part Object

区域

Returns:
void

onMoveEnded() → {void}

移动图元位置结束时回调,可重载做后续处理

Returns:
void

onPanEnded() → {void}

手抓图平移拓扑图结束时回调,可重载做后续处理

Returns:
void

onPinchEnded() → {void}

触屏进行双指缩放结束时回调,可重载做后续处理

Returns:
void

onPostFrame() → {void}

每帧绘制后调用,可重载

Returns:
void
Since:
  • 7.7.0

onPostRender() → {void}

场景渲染后调用

Returns:
void
Since:
  • 7.7.0

onPostRenderData(data, gl) → {void}

渲染物体之后调用

Parameters:
Name Type Description
data ht.Data
gl any

画笔对象

Returns:
void

onPostUpdate() → {void}

场景中逻辑更新后调用

Returns:
void
Since:
  • 7.7.0

onPreFrame() → {void}

每帧绘制前调用,可重载

Returns:
void
Since:
  • 7.7.0

onPreRender() → {void}

场景渲染前调用

Returns:
void
Since:
  • 7.7.0

onPreRenderData(data, gl) → {void}

渲染物体之前调用

Parameters:
Name Type Description
data ht.Data
gl any

画笔对象

Returns:
void

onPreUpdate() → {void}

场景中逻辑更新前调用

Returns:
void
Since:
  • 7.7.0

onPropertyChanged(event) → {void}

属性变化回调函数,可重载做后续处理

Parameters:
Name Type Description
event any

属性变化事件

Returns:
void
Example
//event格式:
{
	   property: 'name',//发生变化的属性
	   oldValue: 'oldValue',//旧值
	   newValue: 'newValue',''新值
	   data: data//发生变化的data
}

onRectSelectEnded() → {void}

框选结束时回调,可重载做后续处理

Returns:
void

onRotateEnded() → {void}

旋转结束时回调,可重载做后续处理

Returns:
void

onSelectionChanged(event) → {void}

选中变化时回调,默认实现会使得该选中图元出现在拓扑图上的可见范围

Parameters:
Name Type Description
event Object

选中变化事件对象

Returns:
void

onSelectionModelSharedChanged() → {void}

选择模型共享变化时回调

Returns:
void

onSubGraphDoubleClicked(subGraph, event, part) → {void}

子网图元被双击时回调,默认实现进入子网

Parameters:
Name Type Description
subGraph ht.SubGraph

子网对象

event Object

事件对象

part Object

区域

Returns:
void

onWalkEnded() → {void}

进退操作结束时回调,可重载做后续处理

Returns:
void

onZoomEnded() → {void}

缩放动画结束时回调

Returns:
void

pan(dx, dy, anim, firstPersonMode) → {void}

上下左右四个方向的平移,本质为eye和center同时做四个方向的相同偏移量,
dx左右偏移参数,dy上下偏移参数,dx和dy一般代表屏幕移动像素,
Graph3dView自动会换算成合理的3D空间逻辑坐标偏移量。

firstPersonMode参数为空时则默认采用Graph3dView#isFirstPersonMode()当前值,
如果为第一人称模式调用pan操作,该函数会考虑Graph3dView#getBoundaries()边界限制。

Parameters:
Name Type Attributes Description
dx number

x轴方向的偏移量

dy number

y轴方向的偏移量

anim boolean | AnimOption <optional>

默认false,是否使用动画,可以设置为true或者false或者animation动画对象

firstPersonMode boolean <optional>

是否第一人称模式

Returns:
void

preventDefaultWhenInteractive(data) → {boolean}

判断节点是否可交互时是否阻止默认场景交互行为

Parameters:
Name Type Description
data ht.Data
Returns:
boolean

redraw() → {void}

重绘拓扑

Returns:
void

refreshShadow() → {void}

刷新阴影

Returns:
void

removeInteractorListener(listener, scope) → {void}

删除交互事件监听器

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

Returns:
void

removePropertyChangeListener(listener, scope) → {void}

删除自身属性变化事件监听器

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

Returns:
void

removeSelection() → {void}

删除所有选中的图元

Returns:
void

removeViewListener(listener, scope) → {void}

删除视图事件监听器

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

Returns:
void

renderEnvToCube(width, height, side, textureWidth) → {void}

将 Env 转化为立方体

Parameters:
Name Type Description
width number
height number
side string
textureWidth number
Returns:
void

reset() → {void}

复位函数,调用该函数将eye、center和up三个变量设置为Default上对应的 graph3dViewCenter、graph3dViewEye和graph3dViewUp初始默认值。

Returns:
void

rotate(leftRight, upDown, anim, firstPersonMode) → {void}

上下左右四个方位旋转一定角度

Parameters:
Name Type Attributes Description
leftRight number

水平旋转弧度

upDown number

垂直旋转弧度

anim boolean | AnimOption <optional>

默认false,是否使用动画,可以设置为true或者false或者animation动画对象

firstPersonMode boolean <optional>

是否第一人称模式,为空时则采用Graph3dView#isFirstPersonMode(),该参数将影响旋转移动的参照标准,为默认非第一人称模式时, 旋转是以center为中心进行旋转,也就是围绕中心物体旋转,当为第一人称时旋转以eye为中心进行旋转,也就是旋转眼睛朝向方向。

Returns:
void

selectAll() → {void}

选中拓扑中所有图元

Returns:
void

serialize(space) → {string}

返回数据模型的序列化内容

Parameters:
Name Type Attributes Description
space number <optional>

缩进间隔

Returns:
string

setAspect(v) → {void}

设置截头锥体的宽高比,该参数默认自动根据屏幕的宽高比决定,一般不需要设置。

Parameters:
Name Type Description
v number
Returns:
void

setAutoMakeVisible(v) → {void}

设置当选中图元时,是否自动平移拓扑以确保该图元出现在可见区域内

Parameters:
Name Type Description
v boolean
Returns:
void

setAxisXColor(color) → {void}

设置x轴线颜色

Parameters:
Name Type Description
color string
Returns:
void

setAxisYColor(color) → {void}

设置y轴线颜色

Parameters:
Name Type Description
color string
Returns:
void

setAxisZColor(color) → {void}

设置z轴线颜色

Parameters:
Name Type Description
color string
Returns:
void

setBatchBlendDisabled(disabled) → {void}

设置批量染色是否禁用

Parameters:
Name Type Description
disabled boolean
Returns:
void

setBatchBrightnessDisabled(disabled) → {void}

设置批量亮度是否禁用

Parameters:
Name Type Description
disabled boolean
Returns:
void

setBatchColorDisabled(disabled) → {void}

设置批量颜色是否禁用

Parameters:
Name Type Description
disabled boolean
Returns:
void

setBatchInfoMap(name, info) → {void}

根据批量名称设置批量数据信息

Parameters:
Name Type Description
name string

批量名称

info Object

批量信息

Returns:
void
Example
g3d.setBatchInfo('firstBatch', {
       color: 'red',
       brightness: true,
       blend: true,
       alphaTest: 0.4,
   });

setBatchInstancedDisabled(disabled) → {void}

是否禁用批量同质

Parameters:
Name Type Description
disabled boolean
Returns:
void

setBlockSelectable(disabled) → {void}

设置 block 是否可选中

Parameters:
Name Type Description
disabled boolean
Returns:
void

setBoundaries(boundaries) → {void}

设置碰撞边界

Parameters:
Name Type Description
boundaries Array.<Array.<number>>

边界数组

Returns:
void
Example
//示例:
g3d.setBoundaries([
  [
      p0.x, p0.y,
      p1.x, p1.y,
      p2.x, p2.y,
      p3.x, p3.y
  ],
  [
      p4.x, p4.y,
      p5.x, p5.y,
      p6.x, p6.y
  ]
]);

setBufferGCInterval(interval) → {void}

设置 3D 中空的 Buffer 垃圾回收释放间隔

Parameters:
Name Type Description
interval number

间隔时间

Returns:
void

setCenter(center) → {void}

设置中心点

Parameters:
Name Type Description
center Array.<number>

中心点坐标,格式:[x, y, z]

Returns:
void

setCenterAxisVisible(v) → {void}

设置是否显示中心点轴线

Parameters:
Name Type Description
v boolean
Returns:
void

setCurrentSubGraph(subGraph) → {void}

设置当前子网

Parameters:
Name Type Description
subGraph ht.SubGraph

子网对象

Returns:
void

setCursor(style) → {void}

设置鼠标样式

Parameters:
Name Type Description
style string

鼠标样式

Returns:
void

setDashDisabled(disabled) → {void}

设置虚线是否禁用

Parameters:
Name Type Description
disabled boolean
Returns:
void

setDataModel(dataModel) → {void}

设置绑定的数据模型

Parameters:
Name Type Description
dataModel ht.DataModel
Returns:
void -

数据模型

setDevicePixelRatio(ratio) → {void}

设置设备像素比

Parameters:
Name Type Description
ratio number

像素比

Returns:
void

setDisabled(value, iconUrl) → {void}

设置组件是否处于不可用状态,处于不可用状态时不能进行任何操作并且会遮挡一层蒙板

Parameters:
Name Type Attributes Description
value boolean

是否禁用组件

iconUrl string <optional>

蒙板上显示的icon的路径

Returns:
void

setEditable(editable) → {void}

设置拓扑中的图元是否可编辑

Parameters:
Name Type Description
editable boolean
Returns:
void

setEditableFunc(func) → {void}

设置编辑过滤器函数

Parameters:
Name Type Description
func function

过滤器函数

Returns:
void

setEditHelperDisabled(disabled) → {void}

设置 EditHelper 是否禁用

Parameters:
Name Type Description
disabled boolean
Returns:
void

setEditSizeColor(color) → {void}

设置大小编辑控制条的颜色

Parameters:
Name Type Description
color string
Returns:
void

setEye(eye) → {void}

设置眼睛(或Camera)所在位置,默认值为[0, 300, 1000]

Parameters:
Name Type Description
eye Array.<number>

眼睛位置坐标,格式[x, y, z]

Returns:
void

setFar(far) → {void}

设置远端截面位置,默认值为10000

Parameters:
Name Type Description
far number
Returns:
void

setFirstPersonMode(mode) → {void}

设置第一人称模式

Parameters:
Name Type Description
mode boolean
Returns:
void

setFlowBlendMode(mode) → {void}

设置流光染色模式。模式有:叠加RGB(addRGB);叠加RGBA(addRGBA);覆盖A(overrideA);覆盖RGB(overrideRGB);覆盖RGBA(overrideRGBA);相乘RGB(multiplyRGB);相乘RGBA(multiplyRGBA) 。默认为: addRGB

Parameters:
Name Type Description
mode string

模式

Returns:
void

setFocus() → {void}

设置视图聚焦

Returns:
void

setFogColor(color) → {void}

设置雾化颜色,默认值为:white

Parameters:
Name Type Description
color string
Returns:
void

setFogDensity(density) → {void}

设置雾化强度,默认值为:0.0005

Parameters:
Name Type Description
density number

雾化强度

Returns:
void

setFogDisabled(disabled) → {void}

设置雾化是否禁用

Parameters:
Name Type Description
disabled boolean
Returns:
void

setFogFar(far) → {void}

设置雾化远端距离

Parameters:
Name Type Description
far number

远端距离

Returns:
void

setFogMode(mode) → {void}

设置雾化模式,可设置为线性linear、标准exp2两种模式

Parameters:
Name Type Description
mode linear | exp2
Returns:
void

setFogNear(near) → {void}

设置雾化近端距离

Parameters:
Name Type Description
near number

近端距离

Returns:
void

setFovy(fovy) → {void}

设置垂直方向的视觉张角弧度,默认值为Math.PI/4

Parameters:
Name Type Description
fovy number
Returns:
void

setGridColor(color) → {void}

设置网格线颜色

Parameters:
Name Type Description
color string
Returns:
void

setGridGap(gap) → {void}

设置网格线间距

Parameters:
Name Type Description
gap number
Returns:
void

setGridSize(size) → {void}

设置网格行列数,默认为40

Parameters:
Name Type Description
size number
Returns:
void

setGridVisible(v) → {void}

设置是否显示网格

Parameters:
Name Type Description
v boolean
Returns:
void

setHeadlightAmbientIntensity(AmbientIntensity) → {void}

设置头灯环境光比例,默认为0.7,即无论灯的角度,头灯都会贡献70%的环境光,剩下30%根据灯的角度决定强弱

Parameters:
Name Type Description
AmbientIntensity number

头灯环境光比例

Returns:
void

setHeadlightColor(color) → {void}

设置头灯的颜色

Parameters:
Name Type Description
color string
Returns:
void

setHeadlightDirection(direction) → {void}

设置头灯方向,跟随相机: camera,跟随阴影方向:shadow,任意方向:某一个点例如[0, -1, 0]。默认跟随相机 camera

Parameters:
Name Type Description
direction string | Array.<number>
Returns:
void

setHeadlightDisabled(disable) → {void}

设置是否禁用头灯

Parameters:
Name Type Description
disable boolean
Returns:
void

setHeadlightGroup(group) → {void}

将头灯设置到某个灯光组中

Parameters:
Name Type Description
group string
Returns:
void

setHeadlightIntensity(intensity) → {void}

设置头灯强度,默认为1,大于1增强,小于1减弱

Parameters:
Name Type Description
intensity number
Returns:
void

setHeadlightRange(range) → {void}

设置头灯影响范围,默认为0代表可照射到无穷远处,如果设置了值则光照射效果随物体远离光影而衰减

Parameters:
Name Type Description
range number
Returns:
void

setHeadlightRatioForPhysicalMaterial(ratio) → {void}

设置头灯材质系数,默认值为 0.5

Parameters:
Name Type Description
ratio number
Returns:
void
Since:
  • 7.7.0

setHeight(height) → {void}

设置布局高度

Parameters:
Name Type Description
height number

高度值

Returns:
void

setHighlightColor(color) → {void}

设置当前高亮的颜色,默认为rgba(190, 210, 250, 1)

Parameters:
Name Type Description
color string
Returns:
void

setHighlightGlow(glow) → {void}

设置高亮边缘模糊,默认为0.8

Parameters:
Name Type Description
glow number
Returns:
void

setHighlightMode(mode) → {void}

设置当前高亮的模式,默认为style。包括:disabled关闭高亮,selected选中高亮,hover悬浮高亮,style风格设置高亮

Parameters:
Name Type Description
mode string
Returns:
void

setHighlightStrength(strength) → {void}

设置高亮强度,默认是 2

Parameters:
Name Type Description
strength number
Returns:
void

setHighlightType(type) → {void}

设置高亮类型 hard: 硬, soft 软

Parameters:
Name Type Description
type hard | soft
Returns:
void

setHighlightWidth(width) → {void}

设置当前高亮的线宽,默认为0.8

Parameters:
Name Type Description
width number
Returns:
void

setHoverDelay(delay) → {void}

设置悬停触发延迟事件

Parameters:
Name Type Description
delay number
Returns:
void

setInteractors(interactors) → {void}

设置交互器

Parameters:
Name Type Description
interactors ht.List | Array.<ht.graph3d.Interactor>

交互器对象集合

Returns:
void

setMouseRoamable(v) → {void}

设置是否使用鼠标漫游,默认为true, 如果改为false, 则鼠标左键右键都不支持前进后退的操作功能,
但左键可拖拽编辑图元,右键可改变视角方向,采用这样的方式一般会结合键盘w|s|a|d按键进行漫游操作

Parameters:
Name Type Description
v boolean
Returns:
void

setMovableFunc(func) → {void}

设置移动过滤器函数

Parameters:
Name Type Description
func function

过滤器函数

Returns:
void

setMoveStep(v) → {void}

设置移动漫游步进

Parameters:
Name Type Description
v number
Returns:
void

setNear(v) → {void}

设置近端截面位置,默认值为10

Parameters:
Name Type Description
v number
Returns:
void

setOITPassCount(count) → {void}

设置 OIT 的 render pass 数量

Parameters:
Name Type Description
count number
Returns:
void
Since:
  • 7.7.0

setOpaqueSortable() → {boolean}

是否开启控制对不透明的物体启用排序功能

Returns:
boolean -

boolValue

Since:
  • 7.7.0

setOriginAxisVisible(v) → {void}

设置是否显示坐标原点[0,0,0]轴线

Parameters:
Name Type Description
v boolean
Returns:
void

setOrtho(v) → {void}

设置是否使用正交投影

Parameters:
Name Type Description
v boolean
Returns:
void

setOrthoWidth(width) → {void}

设置正交投影宽度,默认为2000

Parameters:
Name Type Description
width number
Returns:
void

setOrthoZoom(increment, anim) → {void}

设置正交相机的 Zoom

Parameters:
Name Type Attributes Description
increment number
anim boolean | AnimOption <optional>
Returns:
void

setPannable(v) → {void}

设置是否允许平移操作

Parameters:
Name Type Description
v boolean

是否可平移

Returns:
void

setPickerResolution(pickerResolution) → {void}

设置 Picker 的精度

Parameters:
Name Type Description
pickerResolution number
Returns:
void

setPostProcessingValue(module, name, value) → {void}

设置后处理模块的属性值

Parameters:
Name Type Description
module string
name string
value any
Returns:
void

setRectSelectable(v) → {void}

设置拓扑上是否允许框选操作

Parameters:
Name Type Description
v boolean
Returns:
void

setRectSelectBackground(color) → {void}

设置框选选择框的背景色

Parameters:
Name Type Description
color string

颜色值

Returns:
void

setRenderLayerInfo(layerName, info) → {void}

根据层级名称设置层级信息

Parameters:
Name Type Description
layerName string

层级名称

info Object

层级信息

Returns:
void
Example
g3d.setRenderLayerInfo('main',{
       "mask": 1,
       "priority": 10000, // 优先等级,数值类型,值越大表示越上层
       "clearDepth": false, //是否清除深度后绘制
       "ignore": false // 优先等级,数值类型,值越大表示越上层
   })

setRenderLayerInfoMap(layerInfo) → {void}

设置层级信息

Parameters:
Name Type Description
layerInfo Object

层级信息

Returns:
void
Example
g3d.setRenderLayerInfoMap({
       "main": {
           "mask": 1,
           "priority": 10000, // 优先等级,数值类型,值越大表示越上层
           "clearDepth": false, //是否清除深度后绘制
           "ignore": false // 优先等级,数值类型,值越大表示越上层
       }
   })

setResettable(v) → {void}

设置是否允许通过空格将拓扑复位

Parameters:
Name Type Description
v boolean
Returns:
void

setRotatable(v) → {void}

设置是否可旋转

Parameters:
Name Type Description
v boolean
Returns:
void

setRotateMaxPhi(rotate) → {void}

设置限制交互时的最大仰角

Parameters:
Name Type Description
rotate number

角度

Returns:
void

setRotateMinPhi(rotate) → {void}

设置限制交互时的最小仰角

Parameters:
Name Type Description
rotate number

角度

Returns:
void

setRotateStep(v) → {void}

设置旋转步进

Parameters:
Name Type Description
v number
Returns:
void

setRotationEditableFunc(func) → {void}

设置图元是否可编辑旋转过滤器

Parameters:
Name Type Description
func function
Returns:
void

setSelectableFunc(func) → {void}

设置选择过滤器函数

Parameters:
Name Type Description
func function

过滤器函数

Returns:
void

setSelectionModelShared(v) → {void}

设置拓扑是否共享选中模型

Parameters:
Name Type Description
v boolean
Returns:
void

setShaderGCInterval(frames) → {void}

一个 Shader 多少帧之后没有被激活会被 GC 垃圾回收掉

Parameters:
Name Type Description
frames number
Returns:
void
Since:
  • 7.7.0
Default Value:
  • 500

setShadowBias(bias) → {void}

设置阴影 bias 偏移

Parameters:
Name Type Description
bias number

bias 偏移

Returns:
void

setShadowBounding(bounding) → {void}

设置阴影区域

Parameters:
Name Type Description
bounding Array.<any>
Returns:
void
Example
//示例:
g3d.setShadowBounding([
  1, // 阴影区域 x 轴位置 
  0, // 阴影区域 y 轴位置 
  0, // 阴影区域 z 轴位置 
  443 // 阴影区域大小
])

setShadowDegreeX(x) → {void}

设置阴影 X 轴角度

Parameters:
Name Type Description
x any

X 轴角度

Returns:
void

setShadowDegreeZ(z) → {void}

设置阴影 Y 轴角度

Parameters:
Name Type Description
z number

Y 轴角度

Returns:
void

setShadowIntensity(intensity) → {void}

设置阴影强度

Parameters:
Name Type Description
intensity any
Returns:
void

setShadowQuality(quality) → {void}

设置阴影质量 low:低,medium:中,high:高,ultra:极高

Parameters:
Name Type Description
quality any
Returns:
void

setShadowRadius(radius) → {void}

设置阴影柔化半径

Parameters:
Name Type Description
radius number
Returns:
void

setShadowType(type) → {void}

设置阴影柔化类型 none:无,hard:硬,软:soft

Parameters:
Name Type Description
type any
Returns:
void

setSizeEditableFunc(func) → {void}

设置大小编辑过滤器

Parameters:
Name Type Description
func function
Returns:
void

setSkyBox(skyBox) → {void}

设置天空球节点

Parameters:
Name Type Description
skyBox ht.Data
Returns:
void

setSortable(isSort) → {void}

设置是否开启透明排序

Parameters:
Name Type Description
isSort boolean
Returns:
void

setSortFunc(func) → {void}

设置透明排序函数

Parameters:
Name Type Description
func function

排序函数

Returns:
void
Example
g3d.setSortFunc((a, b) => {})

setTexture(name, data, part) → {any}

设置贴图信息

Parameters:
Name Type Description
name string

名称

data ht.Data

节点

part string
Returns:
any

setToneMapping(tone) → {void}

获取色调映射,默认为:undefined。有4种类型:线性(linear),reinhard,cineon,aces

Parameters:
Name Type Attributes Description
tone string <optional>
Returns:
void
Since:
  • 7.7.0

setToneMappingExposure(exposure) → {void}

设置色调映射曝光度

Parameters:
Name Type Attributes Description
exposure number <optional>
Returns:
void
Since:
  • 7.7.0

setToolTipEnabled(enable) → {void}

设置提示是否可用

Parameters:
Name Type Description
enable boolean
Returns:
void

setTransmissionEnabled(enable) → {void}

设置是否开启透射材质

Parameters:
Name Type Description
enable boolean
Returns:
void

setUp(up) → {void}

设置摄像头正上方向,该参数一般较少改动,默认值为[0, 1, 0]

Parameters:
Name Type Description
up Array.<number>

格式:[x, y, z]

Returns:
void

setUvClipEnabled(enable) → {void}

设置是否开启 UV 裁切使能

Parameters:
Name Type Description
enable boolean
Returns:
void

setViewport(gl, x, y, width, height) → {void}

设置视图端口

Parameters:
Name Type Description
gl any

画笔对象

x number
y number
width number
height number
Returns:
void

setVisibleFunc(func) → {void}

设置可见过滤器

Parameters:
Name Type Description
func function

过滤器函数

Returns:
void

setWalkable(walkable) → {void}

设置是否可进退

Parameters:
Name Type Description
walkable boolean
Returns:
void

setWidth(width) → {void}

设置布局宽度

Parameters:
Name Type Description
width number
Returns:
void

setZoom(increment, anim) → {void}

缩放操作,默认操作模式意味着eye离center的远近变化,如果在Graph3dView#isOrtho()为true的正交投影情况下,缩放意味着改变Graph3dView#setOrthoWidth(width)的可视宽度范围。

Parameters:
Name Type Attributes Description
increment number

步进的比例,调用zoomIn(anim)和zoomOut(anim),等同于调用了setZoom(1.3, anim)和setZoom(1/1.3, anim)。

anim boolean | AnimOption <optional>

默认false,是否使用动画,可以设置为true或者false或者animation动画对象

Returns:
void

setZoomable(v) → {void}

设置是否可缩放

Parameters:
Name Type Description
v boolean
Returns:
void

setZoomToCenter(zoomToCenter) → {void}

设置当前滚轮缩放是否按照Center来缩放,true为按照Center缩放,false按照鼠标缩放

Parameters:
Name Type Description
zoomToCenter boolean
Returns:
void

showDebugTip() → {void}

显示调试面板

Returns:
void

sm() → {ht.SelectionModel}

获取选中模型,getSelectionModel的缩写

textureToCanvas(textureOrName, isLinearaColorSpace, width, height) → {HTMLCanvasElement}

将 texture 输出到一张 canvas 上

Parameters:
Name Type Description
textureOrName string | Object
isLinearaColorSpace boolean
width number
height number
Returns:
HTMLCanvasElement
Since:
  • 7.7.0

toCanvas(background, width, height) → {HTMLCanvasElement}

将拓扑导出为canvas

Parameters:
Name Type Attributes Description
background string <optional>

背景色

width number <optional>

宽度

height number <optional>

高度

Returns:
HTMLCanvasElement

toDataURL(background, type) → {string}

将拓扑导出为base64格式字符串

Parameters:
Name Type Attributes Description
background string <optional>

背景色

type string <optional>

图片格式,默认 image/png

Returns:
string

toJSON() → {Object}

将序列化数据转化成JSON格式对象

Returns:
Object

toViewPosition(p3) → {Point}

传入三维场景中的逻辑坐标,将逻辑坐标转换为屏幕坐标

Parameters:
Name Type Description
p3 Array.<number>

三维坐标数组,格式为[x, y, z]

Returns:
Point -

屏幕坐标,格式为 { x:x,y:y,z:z },z为深度,一般可忽略

umi(listener, scope) → {void}

删除交互事件监听器,removeInteractorListener的缩写

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

Returns:
void

ump(listener, scope) → {void}

删除自身属性变化事件监听器,removePropertyChangeListener的缩写

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

Returns:
void

unproject(pointOrEvent, z) → {void}

Parameters:
Name Type Description
pointOrEvent MouseEvent | Point

逻辑坐标点或交互事件对象(如鼠标事件对象)

z number
Returns:
void

updateDOMAppendMatrix() → {void}

更新 DOM 追加矩阵,如果是对 gv 所在 div 一路上去的所有路径上的 div 设置过 css transform 需要设置

Returns:
void

upSubGraph() → {void}

退出当前一级 subGraph 到上一级

Returns:
void

validate() → {void}

立刻刷新拓扑

Returns:
void

walk(step, anim, firstPersonMode) → {void}

同时改变eye和center的位置,也就是eye和center在两点建立的矢量方向上同时移动相同的偏移量。
如果为第一人称模式调用walk操作,该函数会考虑Graph3dView#getBoundaries()边界限制

Parameters:
Name Type Attributes Description
step number

偏移的矢量长度值

anim boolean | AnimOption <optional>

默认false,是否使用动画,可以设置为true或者false或者animation动画对象

firstPersonMode boolean <optional>

是否是第一人称模式,为空时则采用Graph3dView#isFirstPersonMode()

Returns:
void

zoomIn(anim) → {void}

相当于调用setZoom(1.3, anim)

Parameters:
Name Type Attributes Description
anim boolean | AnimOption <optional>

默认false,是否使用动画,可以设置为true或者false或者animation动画对象

Returns:
void

zoomOut(anim) → {void}

相当于调用setZoom(1/1.3, anim)

Parameters:
Name Type Attributes Description
anim boolean | AnimOption <optional>

默认false,是否使用动画,可以设置为true或者false或者animation动画对象

Returns:
void