Skip to content

editorGlobalsTeeJoint

Class: TeeJoint

A Joint that connects a surface with a section on edge.

Hierarchy

TeeJoint

IntersectionAvoidanceTeeJoint

Index

Constructors

Properties

Methods

Constructors

constructor

+ new TeeJoint(jointPossibilityA?: JointPossibility, jointPossibilityB?: JointPossibility): TeeJoint

Inherited from Joint.constructor

Defined in src/model/data/Joints/Joints/Joint.ts:72

Either supply joint possibilities in constructor, or defer it and do it later with assign()

Parameters:

Name Type
jointPossibilityA? JointPossibility
jointPossibilityB? JointPossibility

Returns: TeeJoint

Properties

Protected Readonly collidingTeeJoints

collidingTeeJoints: TeeJoint[] = []

Defined in src/model/data/Joints/Joints/TeeJoint.ts:261


Protected Readonly destroyEventEmitter

destroyEventEmitter: EventEmitter‹void› = new EventEmitter()

Inherited from Joint.destroyEventEmitter

Defined in src/model/data/Joints/Joints/Joint.ts:72


Protected isDestroyed

isDestroyed: boolean = false

Inherited from Joint.isDestroyed

Defined in src/model/data/Joints/Joints/Joint.ts:71


Protected isExternalDimension

isExternalDimension: boolean = false

Defined in src/model/data/Joints/Joints/TeeJoint.ts:260


Protected joinedSection

joinedSection: OutlineSection

Defined in src/model/data/Joints/Joints/TeeJoint.ts:258


Protected joinedSurfacePlate

joinedSurfacePlate: Plate

Defined in src/model/data/Joints/Joints/TeeJoint.ts:259


Protected objectA

objectA: PhysicalObject

Inherited from Joint.objectA

Defined in src/model/data/Joints/Joints/Joint.ts:69


Protected objectB

objectB: PhysicalObject

Inherited from Joint.objectB

Defined in src/model/data/Joints/Joints/Joint.ts:70


Private startingAtCollision

startingAtCollision: boolean | null = null

Defined in src/model/data/Joints/Joints/TeeJoint.ts:263

Methods

_ensureAssigned

_ensureAssigned(): void | never

Inherited from Joint._ensureAssigned

Defined in src/model/data/Joints/Joints/Joint.ts:122

Returns: void | never


Protected _onObjectShapeChange

_onObjectShapeChange(changedObject: PhysicalObject): void

Inherited from Joint._onObjectShapeChange

Defined in src/model/data/Joints/Joints/Joint.ts:219

Method that is called when the shapes of one of the joined objects change. Can be overwritten in subclass.

Parameters:

Name Type
changedObject PhysicalObject

Returns: void


Protected _onObjectTransformsChange

_onObjectTransformsChange(): void

Overrides Joint._onObjectTransformsChange

Defined in src/model/data/Joints/Joints/TeeJoint.ts:420

Returns: void


addCollidingTeeJoint

addCollidingTeeJoint(joint: TeeJoint): void

Defined in src/model/data/Joints/Joints/TeeJoint.ts:393

Parameters:

Name Type
joint TeeJoint

Returns: void


assign

assign(jointPossibilityA: typeof EdgeJointPossibility, jointPossibilityB: typeof SurfaceJointPossibility): void

Overrides Joint.assign

Defined in src/model/data/Joints/Joints/TeeJoint.ts:265

Parameters:

Name Type
jointPossibilityA typeof EdgeJointPossibility
jointPossibilityB typeof SurfaceJointPossibility

Returns: void


createTemporaryClone

createTemporaryClone(): Joint

Inherited from Joint.createTemporaryClone

Defined in src/model/data/Joints/Joints/Joint.ts:183

This method creates a new Joint with the two physicalObjects of this joint instance. This is useful for operations where you need a temporary joint to keep an assembly from falling apart (e.g. Joint.recreate).

Returns: Joint

the temporary joint


destroy

destroy(): void

Overrides Joint.destroy

Defined in src/model/data/Joints/Joints/TeeJoint.ts:376

Returns: void


determineJointDirection

determineJointDirection(): PlateSide

Defined in src/model/data/Joints/Joints/TeeJoint.ts:294

Returns: PlateSide


getDestroyEventEmitter

getDestroyEventEmitter(): IPublicEventEmitterInterface‹void›

Inherited from Joint.getDestroyEventEmitter

Defined in src/model/data/Joints/Joints/Joint.ts:86

Returns: IPublicEventEmitterInterface‹void›


getIsAssigned

getIsAssigned(): boolean

Inherited from Joint.getIsAssigned

Defined in src/model/data/Joints/Joints/Joint.ts:118

Returns: boolean

true, if the joint has been assigned to two objects


getIsExternalDimension

getIsExternalDimension(): boolean

Defined in src/model/data/Joints/Joints/TeeJoint.ts:305

Returns: boolean


getJoinedSection

getJoinedSection(): OutlineSection

Defined in src/model/data/Joints/Joints/TeeJoint.ts:286

Returns: OutlineSection


getJoinedSurfacePlate

getJoinedSurfacePlate(): Plate

Defined in src/model/data/Joints/Joints/TeeJoint.ts:290

Returns: Plate


getOtherPhysicalObject

getOtherPhysicalObject(thisPhysicalObject: PhysicalObject): PhysicalObject | never

Inherited from Joint.getOtherPhysicalObject

Defined in src/model/data/Joints/Joints/Joint.ts:131

Convenience function to get the 'other' physical object that is connected to this joint

Parameters:

Name Type
thisPhysicalObject PhysicalObject

Returns: PhysicalObject | never


getPhysicalObjects

getPhysicalObjects(): [PhysicalObject, PhysicalObject]

Inherited from Joint.getPhysicalObjects

Defined in src/model/data/Joints/Joints/Joint.ts:146

Returns: [PhysicalObject, PhysicalObject]


getRemovalDirection

getRemovalDirection(plate: any): IDirectionSpace

Defined in src/model/data/Joints/Joints/TeeJoint.ts:404

Parameters:

Name Type
plate any

Returns: IDirectionSpace


hasCollidingTeeJoints

hasCollidingTeeJoints(): boolean

Defined in src/model/data/Joints/Joints/TeeJoint.ts:400

Returns: boolean

true if instance has minimum one colliding TeeJoint


isPhysicallyConnected

isPhysicallyConnected(): boolean | never

Overrides Joint.isPhysicallyConnected

Defined in src/model/data/Joints/Joints/TeeJoint.ts:388

Returns: boolean | never


isStartingAtCollision

isStartingAtCollision(): boolean

Defined in src/model/data/Joints/Joints/TeeJoint.ts:412

Returns: boolean


recreate

recreate(): TeeJoint

Overrides Joint.recreate

Defined in src/model/data/Joints/Joints/TeeJoint.ts:316

Destroys this TeeJoint and recreates it with the same section and surface

Returns: TeeJoint


recreateWithDifferentObject

recreateWithDifferentObject(plateToBeReplaced: Plate, otherPlate: Plate): TeeJoint | never

Defined in src/model/data/Joints/Joints/TeeJoint.ts:326

Destroys this TeeJoint and instantiates a new TeeJoint with a different plate at the same outline section.

Parameters:

Name Type Description
plateToBeReplaced Plate the plate to be replaced
otherPlate Plate the new plate

Returns: TeeJoint | never

the newly created TeeJoint


recreateWithDifferentSection

recreateWithDifferentSection(otherSection: OutlineSection): TeeJoint | never

Defined in src/model/data/Joints/Joints/TeeJoint.ts:343

Destroys this TeeJoint and instantiates a new TeeJoint with a different outline section.

Parameters:

Name Type Description
otherSection OutlineSection the new outline section to be set as joinedSection

Returns: TeeJoint | never

the newly created TeeJoint


recreateWithDifferentSurface

recreateWithDifferentSurface(otherSurfacePlate: Plate): TeeJoint | never

Defined in src/model/data/Joints/Joints/TeeJoint.ts:362

Destroys this TeeJoint and instantiates a new TeeJoint with a different surface.

Parameters:

Name Type Description
otherSurfacePlate Plate the new plate to be set as joinedSurfacePlate

Returns: TeeJoint | never

the newly created TeeJoint


setIsExternalDimension

setIsExternalDimension(value: boolean): void

Defined in src/model/data/Joints/Joints/TeeJoint.ts:309

Parameters:

Name Type
value boolean

Returns: void


setStartingAtCollision

setStartingAtCollision(value: boolean): void

Defined in src/model/data/Joints/Joints/TeeJoint.ts:416

Parameters:

Name Type
value boolean

Returns: void


Static Private _isAnyOutlineSectionOnOtherPlate

_isAnyOutlineSectionOnOtherPlate(plateA: Plate, plateB: Plate): boolean

Defined in src/model/data/Joints/Joints/TeeJoint.ts:195

Parameters:

Name Type
plateA Plate
plateB Plate

Returns: boolean


Static Private _isOutlineSectionOnOtherPlate

_isOutlineSectionOnOtherPlate(section: OutlineSection, otherPlate: Plate): boolean

Defined in src/model/data/Joints/Joints/TeeJoint.ts:206

Parameters:

Name Type
section OutlineSection
otherPlate Plate

Returns: boolean


Static Private _isOutlineSectionOnOtherPlatesOutline

_isOutlineSectionOnOtherPlatesOutline(section: OutlineSection, otherPlate: Plate, maximumDistance: number): boolean

Defined in src/model/data/Joints/Joints/TeeJoint.ts:222

Parameters:

Name Type Default Description
section OutlineSection - -
otherPlate Plate - -
maximumDistance number 1 the max distance between a section's point and the other plate's outline to be still considered "on outline"

Returns: boolean


Static Private _sectionOverlaps

_sectionOverlaps(section: OutlineSection, otherPlate: Plate): boolean

Defined in src/model/data/Joints/Joints/TeeJoint.ts:251

Parameters:

Name Type
section OutlineSection
otherPlate Plate

Returns: boolean


Static assignFromSectionAndSurface

assignFromSectionAndSurfaceJointType›(outlineSection: OutlineSection, surfacePlate: Plate, jointInstance: JointType): void

Defined in src/model/data/Joints/Joints/TeeJoint.ts:103

Type parameters:

JointType: TeeJoint

Parameters:

Name Type Description
outlineSection OutlineSection that wants to be joined / assigned
surfacePlate Plate that wants to be joined / assigned
jointInstance JointType newly created TeeJoint to be assigned

Returns: void


Static canBeJoined

canBeJoined(objectA: PhysicalObject, objectB: PhysicalObject): boolean

Overrides Joint.canBeJoined

Defined in src/model/data/Joints/Joints/TeeJoint.ts:23

Parameters:

Name Type
objectA PhysicalObject
objectB PhysicalObject

Returns: boolean


Static canSectionAndSurfaceBeJoined

canSectionAndSurfaceBeJoined(outlineSection: OutlineSection, surfacePlate: Plate): boolean

Defined in src/model/data/Joints/Joints/TeeJoint.ts:68

Checks whether outlineSection is on other plate and does not overlap with an outlineSection of other plate.

Parameters:

Name Type Description
outlineSection OutlineSection that wants to be joined
surfacePlate Plate that wants to be joined

Returns: boolean

true if outlineSection and other plate can be joined


Static createFromPhysicalObjects

createFromPhysicalObjects(sectionPlate: Plate, surfacePlate: Plate, TeeJointClass: TeeJoint): TeeJoint[]

Overrides Joint.createFromPhysicalObjects

Defined in src/model/data/Joints/Joints/TeeJoint.ts:44

Convenience method to create a joint based on two PhysicalObjects that are already in the same assembly and correctly positioned. Override in subclass.

Parameters:

Name Type Default Description
sectionPlate Plate - plate on section
surfacePlate Plate - plate at surface
TeeJointClass TeeJoint TeeJoint (optional) the sub-class of TeeJoint to create, default is TeeJoint

Returns: TeeJoint[]

all created TeeJoints


Static createFromSectionAndSurface

createFromSectionAndSurfaceJointType›(outlineSection: OutlineSection, surfacePlate: Plate, TeeJointClass?: Constructor‹JointType›): JointType

Defined in src/model/data/Joints/Joints/TeeJoint.ts:79

Creates an TeeJoint instance based on an OutlineSection and a Plate.

Type parameters:

JointType: TeeJoint

Parameters:

Name Type Description
outlineSection OutlineSection that wants to be joined
surfacePlate Plate that wants to be joined
TeeJointClass? Constructor‹JointType› -

Returns: JointType

the created TeeJoint

createFromSectionAndSurfaceJointType›(outlineSection: OutlineSection, surfacePlate: Plate): TeeJoint

Defined in src/model/data/Joints/Joints/TeeJoint.ts:84

Type parameters:

JointType: TeeJoint

Parameters:

Name Type
outlineSection OutlineSection
surfacePlate Plate

Returns: TeeJoint


Static getJointsBetween

getJointsBetweenT›(plateA: Plate, plateB: Plate, type: Constructor‹T›): T[]

Inherited from Joint.getJointsBetween

Defined in src/model/data/Joints/Joints/Joint.ts:11

Type parameters:

T: Joint

Parameters:

Name Type
plateA Plate
plateB Plate
type Constructor‹T›

Returns: T[]


Static getRequiredPossibilities

getRequiredPossibilities(): [EdgeJointPossibility, SurfaceJointPossibility]

Overrides Joint.getRequiredPossibilities

Defined in src/model/data/Joints/Joints/TeeJoint.ts:121

Returns: [EdgeJointPossibility, SurfaceJointPossibility]


Static getSpansAcrossAssemblies

getSpansAcrossAssemblies(): boolean

Inherited from Joint.getSpansAcrossAssemblies

Defined in src/model/data/Joints/Joints/Joint.ts:65

Returns: boolean

whether joints of this class span across assemblies. In that case, physical objects will be linked with physics constraints rather than merging assemblies during joining


Static performPreJoinTransformation

performPreJoinTransformation(edgeJointPossibility: EdgeJointPossibility, surfaceJointPossibility: SurfaceJointPossibility): void

Overrides Joint.performPreJoinTransformation

Defined in src/model/data/Joints/Joints/TeeJoint.ts:129

Aligns the section provided by edgeJointPossibility with the position and orientation provided by surfaceJointPossibility.

Parameters:

Name Type
edgeJointPossibility EdgeJointPossibility
surfaceJointPossibility SurfaceJointPossibility

Returns: void