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

M3D / M3D / Collision / CollisionDetection

Class: CollisionDetection

M3D.Collision.CollisionDetection

Memberof

M3D.Collision

Description

干涉检查算法

Author

zyc

Date

2023-7-21

Version

1.0

Table of contents

Constructors

Methods

Constructors

constructor

new CollisionDetection(collisionManager): CollisionDetection

Parameters

NameType
collisionManagerCollisions

Returns

CollisionDetection

Description

构造函数

Methods

calculate

calculate(model1, model2): void

Parameters

NameType
model1Model
model2Model

Returns

void

Description

干涉检查计算


clear

clear(): void

Returns

void

Description

数据清空


clearChildrenCountMap

clearChildrenCountMap(): void

Returns

void

Description

清空模型子模型数量Map


getBufferById

getBufferById(faceId): Float32Array

Parameters

NameType
faceIdnumber

Returns

Float32Array


getChildrenCount

getChildrenCount(model): number

Parameters

NameType
modelModel

Returns

number

Description

获取子模型数量


getGap

getGap(): number

Returns

number

Description

获取间隙


getIdToBuffer

getIdToBuffer(): Float32Array[]

Returns

Float32Array[]


getIdToTriangleData

getIdToTriangleData(): TriangleData[]

Returns

TriangleData[]

Description

获取id对应数据对象Map


getIdToVectors

getIdToVectors(): Vector3[][]

Returns

Vector3[][]


getInsTriangles

getInsTriangles(model, triangles, sub?): void

Parameters

NameType
modelModel
trianglesTriangleData[]
sub?boolean

Returns

void

Description

获取模型三角面片数据


getShapeDataById

getShapeDataById(id): InstanceData

Parameters

NameType
idnumber

Returns

InstanceData

Description

根据模型id获取对应数据


getTolerance

getTolerance(): number

Returns

number

Description

获取精确度


getTriangleDataById

getTriangleDataById(id): TriangleData

Parameters

NameType
idnumber

Returns

TriangleData

Description

根据id获取数据对象(子线程使用)


getVectorsById

getVectorsById(faceId): Vector3[]

Parameters

NameType
faceIdnumber

Returns

Vector3[]


instanceDataInnerIntersectionTesting

instanceDataInnerIntersectionTesting(instanceData1, instanceData2, index): boolean

Parameters

NameType
instanceData1InstanceData
instanceData2InstanceData
indexnumber[]

Returns

boolean

Description

判断一个实体是否在另一个实体内部


setGap

setGap(gap): void

Parameters

NameType
gapnumber

Returns

void

Description

设置间隙


setTolerance

setTolerance(tolerance): void

Parameters

NameType
tolerancenumber

Returns

void

Description

设置精确度


workerCalculate

workerCalculate(model1, model2): void

Parameters

NameType
model1Model
model2Model

Returns

void

Description

干涉检查计算(子线程)