跳到主要内容
版本:v10.0

M3D / M3D / Viewport

Class: Viewport

M3D.Viewport

Memberof

M3D

Implements

Utility.Subscriber

Description

视口基类

Hierarchy

Implements

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new Viewport(tag, canvas): Viewport

Parameters

NameTypeDescription
tagnumber
canvasHTMLCanvasElementHTMLCanvasElement标签

Returns

Viewport

Description

构造函数

Overrides

M3DObject.constructor

new Viewport(tag, canvas, scene): Viewport

Parameters

NameTypeDescription
tagnumber
canvasHTMLCanvasElementHTMLCanvasElement标签
sceneScene场景对象

Returns

Viewport

Description

构造函数getRenderContext

Overrides

M3DObject.constructor

new Viewport(tag, canvas, scene, camera): Viewport

Parameters

NameTypeDescription
tagnumber
canvasHTMLCanvasElementHTMLCanvasElement标签
sceneScene场景对象
cameraCamera相机对象

Returns

Viewport

Description

构造函数getRenderContext

Overrides

M3DObject.constructor

Properties

backColor

backColor: Color


getFramePickShape

getFramePickShape: any

Description

框选模型

Param

Param

Param

Param

Param


id

id: number

Inherited from

M3DObject.id


input

input: Input


isStatic

isStatic: boolean


tag

tag: number


count

Static count: number

Inherited from

M3DObject.count

Methods

cancelTranslucency

cancelTranslucency(): void

Returns

void

Description

取消模型的透明模式


clear

clear(): void

Returns

void

Description

视口清空


clearCamera

clearCamera(): void

Returns

void

Description

清空相机对象


closeFile

closeFile(): void

Returns

void

Description

关闭文件


cullingInvisible

cullingInvisible(vecShape): void

Parameters

NameType
vecShapeShape[]

Returns

void

Description

查询可视化对象集合


displayAll

displayAll(): void

Returns

void

Description

将Shape对象全部显示


displayInCenter

displayInCenter(): BoundingBox

Returns

BoundingBox

Description

将全部模型居中显示

displayInCenter(shapes): any

Parameters

NameTypeDescription
shapesShape[]居中显示的模型对象数组

Returns

any

Description

将多个Shape对象居中显示

displayInCenter(shape): any

Parameters

NameTypeDescription
shapeShapeShape对象,可为模型、批注等可见对象

Returns

any

Description

将某个Shape居中显示


exchangeHidden

exchangeHidden(): any

Returns

any

Description

显隐交替,将隐藏的Shape显示,显示的Shape隐藏

exchangeHidden(shape): any

Parameters

NameType
shapeShape

Returns

any

Description

显隐交替

exchangeHidden(shape): any

Parameters

NameType
shapeShape[]

Returns

any

Description

显隐交替


fitScreen

fitScreen(box): void

Parameters

NameType
boxBoundingBox

Returns

void

Description

自适应屏幕大小


frameSelectShape

frameSelectShape(leftTop, rightBottom, shapeType, geoType, framePickType): Shape[]

Parameters

NameType
leftTopVector2
rightBottomVector2
shapeTypenumber
geoTypenumber
framePickTypenumber

Returns

Shape[]

Description

框选模型


getBackColor

getBackColor(): Color

Returns

Color

Description

获取背景颜色


getBaseView

getBaseView(): BaseViewType

Returns

BaseViewType

Description

获取基本视图类型


getCamera

getCamera(): Camera

Returns

Camera

Description

获取相机对象


getCanvas

getCanvas(): Canvas

Returns

Canvas

Description

获取画布


getCullHelper

getCullHelper(): CullerHelper

Returns

CullerHelper

Description

获取剔除帮助


getDrawMode

getDrawMode(): DrawMode

Returns

DrawMode

Description

获取渲染模式


getEvents

getEvents(): M3DEvent[]

Returns

M3DEvent[]

Description

获得事件列表

Inherited from

M3DObject.getEvents


getHudCamera

getHudCamera(): Camera

Returns

Camera

Description

获取HudCamera


getId

getId(): number

Returns

number

Description

获取id

Inherited from

M3DObject.getId


getImage

getImage(): void

Returns

void

Description

截图


getInput

getInput(): Input

Returns

Input

Description

获取是否需要更新视图


getIsOpenCullerHelper

getIsOpenCullerHelper(): boolean

Returns

boolean

Description

获取是否开启小件剔除


getIsStatic

getIsStatic(): boolean

Returns

boolean

Description

获取是否需要更新视图


getParameter

getParameter(): ViewPortParameters

Returns

ViewPortParameters

Description

获取视口配置项


getPickFeaturePoint

getPickFeaturePoint(screenPnt): [Vector3, number]

Parameters

NameType
screenPntVector2

Returns

[Vector3, number]

[position:M3D.M3DMath.Vector3,isFeature:number]isFeature:1为正常点,2为特征点,3为剖切面上的点

Description

拾取边界线的特征点


getPickNormal

getPickNormal(scenePnt): Vector3

Parameters

NameType
scenePntVector2

Returns

Vector3

Description

获取拾取法向


getPickPoint

getPickPoint(x, y, inModel, inExcludeEdge): Vector3

Parameters

NameTypeDescription
xnumber屏幕坐标X
ynumber屏幕坐标Y
inModelbooleantrue:选择模型上的点 false:可以选择任意点
inExcludeEdgebooleantrue:选择边上的点 false:可以选择任意点

Returns

Vector3

空间中点三维坐标

Description

获得拾取到的点坐标

getPickPoint(ray, pnt, inModel): boolean

Parameters

NameTypeDescription
rayRay射线
pntVector3
inModelboolean是否选择模型上的点

Returns

boolean

Description

根据射线和拾取类型,获取视图的点

getPickPoint(screenPnt, pnt, inModel): boolean

Parameters

NameTypeDescription
screenPntVector2-
pntVector3返回值,拾取的三维点
inModelbooleantrue:选择模型上的点 false:可以选择任意点

Returns

boolean

是否拾取成功

Description

根据屏幕点和拾取类型,返回拾取对象

getPickPoint(screenPnt, pnt, inModel, inExcludeEdge): boolean

Parameters

NameTypeDescription
screenPntVector2屏幕二维点
pntVector3拾取的三维点
inModelbooleantrue:选择模型上的点 false:可以选择任意点
inExcludeEdgebooleantrue:选择边上的点 false:可以选择任意点

Returns

boolean

Description

根据屏幕点和拾取类型,返回拾取对象


getPickShape

getPickShape(screentPnt, shapeType, geoType?): Shape

Parameters

NameTypeDescription
screentPntVector2屏幕二维点
shapeTypeShapeTypeShpape类型
geoType?GeoFeatureEnum几何特征类型

Returns

Shape

空间中点三维坐标

Description

根据屏幕点和拾取类型,返回拾取对象

getPickShape(screentPnt, shapeType, geoType, nearPoint): Shape

Parameters

NameType
screentPntVector2
shapeTypeShapeType
geoTypeGeoFeatureEnum
nearPointVector3

Returns

Shape

Description

根据屏幕点和拾取类型,返回拾取对象

getPickShape(screentPnt): Shape

Parameters

NameType
screentPntVector2

Returns

Shape

Description

根据屏幕点和拾取类型,返回拾取对象

getPickShape(x, y, shapeType): Shape

Parameters

NameType
xnumber
ynumber
shapeTypeShapeType

Returns

Shape

Description

根据屏幕点和拾取类型,返回拾取对象


getPickShapePoint

getPickShapePoint(point, screentPnt, isUseClipPlane, shapeType, geoType?): Shape

Parameters

NameType
pointVector3
screentPntVector2
isUseClipPlaneboolean
shapeTypeShapeType
geoType?GeoFeatureEnum

Returns

Shape

Description

根据屏幕点和拾取类型,返回拾取对象和点


getRect

getRect(): Rect

Returns

Rect

Description

获取视口显示区域


getRenderContext

getRenderContext(): any

Returns

any

Description

获取渲染上下文


getScene

getScene(): Scene

Returns

Scene

Description

获取场景对象


getScreenRay

getScreenRay(x, y): Ray

Parameters

NameTypeDescription
xnumber屏幕点x坐标
ynumber屏幕点y坐标

Returns

Ray

Description

获取射线


getTag

getTag(): number

Returns

number

Description

获取视口标识


getWalkThroughState

getWalkThroughState(): void

Returns

void

Deprecated

Description

获取是否开启漫游


hide

hide(): any

Returns

any

Description

将显示的Shape隐藏

hide(shape): any

Parameters

NameType
shapeShape

Returns

any

Description

将显示的Shape隐藏

hide(shape): any

Parameters

NameType
shapeShape[]

Returns

any

Description

将显示的Shape隐藏


hideOther

hideOther(): any

Returns

any

Description

将隐藏指定shape外的其他shape对象

hideOther(shape): any

Parameters

NameTypeDescription
shapeShape需要显示的Shape对象

Returns

any

Description

仅显示某个Shape

hideOther(shapes): any

Parameters

NameTypeDescription
shapesShape[]需要显示的Shape对象数组

Returns

any

Description

仅显示部分Shape


initHudCamera

initHudCamera(): void

Returns

void

Description

初始化HudCamera


isDirty

isDirty(): boolean

Returns

boolean

Description

获取脏标记


markDirty

markDirty(value?): void

Parameters

NameType
value?boolean

Returns

void

Description

标记Viewport脏标记为true


post

post(msg): void

Parameters

NameTypeDescription
msgM3DMessage消息信息

Returns

void

Description

发送消息


registerEvent

registerEvent(event): void

Parameters

NameTypeDescription
eventM3DEventM3D事件

Returns

void

Description

注册事件

Inherited from

M3DObject.registerEvent


removeEvent

removeEvent(): void

Returns

void

Description

删除事件

Inherited from

M3DObject.removeEvent


resetModel

resetModel(): any

Returns

any

Description

复位所有模型

resetModel(model): any

Parameters

NameTypeDescription
modelModelModel对象

Returns

any

Description

复位某个模型

resetModel(models): any

Parameters

NameTypeDescription
modelsModel[]Model对象的数组

Returns

any

Description

复位多个模型


resizeRect

resizeRect(left, width, top, height): void

Parameters

NameType
leftnumber
widthnumber
topnumber
heightnumber

Returns

void

Description

重新设置显示区域


restore

restore(): void

Returns

void

Description

复位


screenPoint2Normalize

screenPoint2Normalize(inScreen): Vector2

Parameters

NameType
inScreenVector2

Returns

Vector2

Description

屏幕坐标规范化


screenToWorldPoint

screenToWorldPoint(x, y, depth): Vector3

Parameters

NameTypeDescription
xnumber
ynumber
depthnumber深度

Returns

Vector3

Description

屏幕点转三维点


send

send(msg): void

Parameters

NameTypeDescription
msgM3DMessage消息信息

Returns

void

Description

发送消息


setBackColor

setBackColor(b?): void

Parameters

NameType
b?Color

Returns

void

Description

设置背景颜色


setBaseView

setBaseView(viewType): void

Parameters

NameType
viewTypeBaseViewType

Returns

void

Description

设置基本视图类型


setCamera

setCamera(v): void

Parameters

NameTypeDescription
vCamera相机对象

Returns

void

Description

设置相机


setChildrenSize

setChildrenSize(width, height): void

Parameters

NameType
widthnumber
heightnumber

Returns

void

Description

设置子件尺寸


setDrawMode

setDrawMode(value): void

Parameters

NameType
valueDrawMode

Returns

void

Description

设置渲染模式


setHudCamera

setHudCamera(camera): void

Parameters

NameType
cameraCamera

Returns

void

Description

设置HudCamera


setId

setId(v): void

Parameters

NameTypeDescription
vnumberShapeId

Returns

void

Description

设置id

Inherited from

M3DObject.setId


setInput

setInput(i): void

Parameters

NameType
iInput

Returns

void

Description

设置是否需要更新视图


setIsOpenCullerHelper

setIsOpenCullerHelper(val): void

Parameters

NameType
valboolean

Returns

void

Description

设置是否开启小件剔除


setIsStatic

setIsStatic(value): void

Parameters

NameType
valueboolean

Returns

void

Description

设置是否需要更新视图


setIsUseWorkerRenderProcess

setIsUseWorkerRenderProcess(value): void

Parameters

NameType
valueboolean

Returns

void

Description

开启子线程渲染与处理


setPerspective

setPerspective(viewType): void

Parameters

NameType
viewTypenumber

Returns

void

Description

设置基本视图模式


setRect

setRect(v): void

Parameters

NameTypeDescription
vRect矩形区域

Returns

void

Description

设置显示区域


setScene

setScene(v): void

Parameters

NameTypeDescription
vScene场景对象

Returns

void

Description

设置场景


setTransParency

setTransParency(): any

Returns

any

Description

设置模型的透明

setTransParency(shapes): any

Parameters

NameType
shapesShape[]

Returns

any

Description

设置模型的透明


setTranslucency

setTranslucency(): void

Returns

void

Description

设置模型的半透明模式


setUpDirection

setUpDirection(up): void

Parameters

NameType
upVector3

Returns

void

Description

设置向上方向


setWalkThroughState

setWalkThroughState(): void

Returns

void

Deprecated

Description

设置是否开启漫游


update

update(msg): void

Parameters

NameType
msgM3DMessage

Returns

void

Description

更新消息(方法未实现)

Implementation of

Subscriber.update


worldToScreenPoint

worldToScreenPoint(worldPos): Vector2

Parameters

NameTypeDescription
worldPosVector3世界坐标点

Returns

Vector2

Description

世界坐标点转换为二维屏幕点