Skip to content

editor › Globals › CombineOperation

Class: CombineOperation

This class describes how two SVG plates are combined with each other. originMesh and destinationMesh are the Meshes of the plates. Configuration contains information about the point where the plates are connected (center of the joints) and the rotation between the plates at the joint. Type is the type of joint connection (FingerJoint, CrossJoint or TeeJoint).

Hierarchy

  • CombineOperation

Index

Constructors

Properties

Methods

Constructors

constructor

+ new CombineOperation(match: JointMatch, originMeshes: IAssemblingSvgSurface[], referenceOriginMeshIndex: number, destinationMeshes: IAssemblingSvgSurface[], referenceDestinationMeshIndex: number, configuration: IMatchConfiguration): CombineOperation

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:33

Parameters:

Name Type
match JointMatch
originMeshes IAssemblingSvgSurface[]
referenceOriginMeshIndex number
destinationMeshes IAssemblingSvgSurface[]
referenceDestinationMeshIndex number
configuration IMatchConfiguration

Returns: CombineOperation

Properties

coalignmentResult

• coalignmentResult: ICoalignmentResult

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:28


configuration

• configuration: IMatchConfiguration

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:26


destinationMeshes

• destinationMeshes: IAssemblingSvgSurface[]

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:24


match

• match: JointMatch

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:21


originMeshes

• originMeshes: IAssemblingSvgSurface[]

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:22


referenceDestinationMeshIndex

• referenceDestinationMeshIndex: number

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:25


referenceOriginMeshIndex

• referenceOriginMeshIndex: number

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:23


Optional rotation

• rotation? : Quaternion

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:31


Private score

• score: number = null

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:33


Optional translation

• translation? : Vector3

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:32

Methods

assemble

▸ assemble(): void

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:142

Returns: void


getCombinedProbability

▸ getCombinedProbability(): number

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:86

Return the match probability based on the similarity of all combined joints

Returns: number


getDestinationAssembly

▸ getDestinationAssembly(): Assembly

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:68

Returns: Assembly


getOriginAssembly

▸ getOriginAssembly(): Assembly

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:72

Returns: Assembly


getReferenceDestinationMesh

▸ getReferenceDestinationMesh(): IAssemblingSvgSurface

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:64

Returns the destination mesh that holds match.otherJoint and where the cached rotation / translation of this operation should be applied.

Returns: IAssemblingSvgSurface


getReferenceOriginMesh

▸ getReferenceOriginMesh(): IAssemblingSvgSurface

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:56

Returns the origin mesh that holds match.thisJoint.

Returns: IAssemblingSvgSurface


isSameAfterCoalignmentAs

▸ isSameAfterCoalignmentAs(other: CombineOperation): boolean

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:132

Given that "this" and "other" have coalignment results, check whether they are actually the same thing. (which means, that, once applied, the result of both would look the same) Expects the coalignmentResult.matches to be in a deterministic order.

Parameters:

Name Type
other CombineOperation

Returns: boolean


isSensible

▸ isSensible(): boolean

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:79

Returns if the configuration makes sense, i.e. plates will not be stuck inside each other.

Returns: boolean


markConnectedJoints

▸ markConnectedJoints(): void

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:107

Returns: void


unmarkConnectedJoints

▸ unmarkConnectedJoints(): void

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:118

Returns: void


virtualizeMeshes

▸ virtualizeMeshes(): void

Defined in src/modules/kyub.core.plateImport/src/types/CombineOperation.ts:91

Returns: void