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

M3D / M3D / Collision / Collisions

Class: Collisions

M3D.Collision.Collisions

Memberof

M3D.Collision

Description

干涉检查管理类

Author

zyc

Date

2023-7-21

Version

1.0

Implements

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new Collisions(scene): Collisions

Parameters

NameType
sceneScene

Returns

Collisions

Description

构造函数

Properties

initWorker

initWorker: any

Description

初始化子线程


listCount

listCount: number

Methods

addExcludeInstance

addExcludeInstance(model): boolean

Parameters

NameType
modelModel

Returns

boolean

Description

添加不参与干涉检查模型


addInstance1

addInstance1(model): boolean

Parameters

NameType
modelModel

Returns

boolean

Description

添加模型组1


addInstance2

addInstance2(model): boolean

Parameters

NameType
modelModel

Returns

boolean

Description

添加模型组2


clearColisionShape

clearColisionShape(): void

Returns

void

Description

清空干涉检查生成的图形对象


clearExcludeInstance

clearExcludeInstance(): void

Returns

void

Description

清空不参与干涉检查模型


clearInstance1

clearInstance1(): void

Returns

void

Description

清空模型组1


clearInstance2

clearInstance2(): void

Returns

void

Description

清空模型组2


clearResult

clearResult(): void

Returns

void

Description

干涉检查结果清空


clearTempData

clearTempData(): void

Returns

void

Description

临时数据清空


getCollisionControlType

getCollisionControlType(): CollisionControlType

Returns

CollisionControlType

Description

获取干涉检查控制类型


getCollisionRangeType

getCollisionRangeType(): CollisionRangeType

Returns

CollisionRangeType

Description

获取干涉检查范围类型


getContactAccuracy

getContactAccuracy(): number

Returns

number

Description

获取接触检查精度


getCurrentResultId

getCurrentResultId(): number

Returns

number

Description

获取当前显示结果id


getGap

getGap(): number

Returns

number

Description

获取间隙


getGroupName

getGroupName(index?): string

Parameters

NameType
index?number

Returns

string

Description

获取模型所在组名


getIgnoreSame

getIgnoreSame(): boolean

Returns

boolean

Description

获取是否忽略相同模型


getInstanceList

getInstanceList(index?): Model[]

Parameters

NameType
index?number

Returns

Model[]

Description

获取干涉检查模型列表


getIsCancel

getIsCancel(): boolean

Returns

boolean

Description

获取是否取消干涉检查


getResultList

getResultList(): CollisionResult[]

Returns

CollisionResult[]

Description

获取干涉检查结果列表


getWorker

getWorker(): any

Returns

any

Description

获取干涉检查子线程


initCollisions

initCollisions(): void

Returns

void

Description

初始化干涉检查管理类


instanceIntersectionCB

instanceIntersectionCB(instanceData1, instanceData2, count, isIntersect): void

Parameters

NameType
instanceData1InstanceData
instanceData2InstanceData
countnumber
isIntersectboolean

Returns

void

Description

模型实例干涉检查回调


isExcludeInstance

isExcludeInstance(model): boolean

Parameters

NameType
modelModel

Returns

boolean

Description

判断当前模型是否在忽略计算实例列表中


post

post(): void

发送普通消息,不需要及时处理

Returns

void

Implementation of

Publisher.post


removeExcludeInstance

removeExcludeInstance(model): boolean

Parameters

NameType
modelModel

Returns

boolean

Description

移除不参与干涉检查模型


removeInstance1

removeInstance1(model): boolean

Parameters

NameType
modelModel

Returns

boolean

Description

移除模型组1中模型


removeInstance2

removeInstance2(model): boolean

Parameters

NameType
modelModel

Returns

boolean

Description

移除模型组2中模型


send

send(msg): void

Parameters

NameType
msgCollisionMessage

Returns

void

Description

发送消息

Implementation of

Publisher.send


setCollisionControlType

setCollisionControlType(type): void

Parameters

NameType
typeCollisionControlType

Returns

void

Description

设置干涉检查控制类型


setCollisionRangeType

setCollisionRangeType(type): void

Parameters

NameType
typeCollisionRangeType

Returns

void

Description

设置干涉检查范围类型


setContactAccuracy

setContactAccuracy(accuracy): void

Parameters

NameType
accuracynumber

Returns

void

Description

设置接触检查精度


setCurrentModel

setCurrentModel(model, index?): void

Parameters

NameType
modelModel
index?number

Returns

void

Description

设置当前进行干涉检查的模型


setCurrentResultId

setCurrentResultId(id): void

Parameters

NameType
idnumber

Returns

void

Description

记录当前显示结果id


setGap

setGap(gap): void

Parameters

NameType
gapnumber

Returns

void

Description

设置间隙


setIgnoreSame

setIgnoreSame(isIgnore): void

Parameters

NameType
isIgnoreboolean

Returns

void

Description

设置是否忽略相同模型


setIsCancel

setIsCancel(isCancel): void

Parameters

NameType
isCancelboolean

Returns

void

Description

设置是否取消干涉检查


startCollision

startCollision(): void

Returns

void

Description

开始干涉检查


statisticsResult

statisticsResult(): void

Returns

void

Description

静态干涉检查结果


triangleIntersectionCB

triangleIntersectionCB(p1, p2, distance): void

Parameters

NameType
p1TriangleData
p2TriangleData
distancenumber

Returns

void

Description

三角面片干涉检查回调


workerInstanceIntersectionCB

workerInstanceIntersectionCB(instanceData1, instanceData2, isIntersect, result): void

Parameters

NameType
instanceData1InstanceData
instanceData2InstanceData
isIntersectboolean
resultCollisionResult

Returns

void

Description

模型实例干涉检查回调(子线程)


workerStatisticsResult

workerStatisticsResult(currentResult): void

Parameters

NameType
currentResultCollisionResult

Returns

void

Description

静态干涉检查结果(子线程)


workerTriangleIntersectionCB

workerTriangleIntersectionCB(p1, p2, distance, collisionResult): void

Parameters

NameType
p1TriangleData
p2TriangleData
distancenumber
collisionResultCollisionResult

Returns

void

Description

三角面片干涉检查回调(子线程)