Skip to content

editor › Globals › TeeJoint

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

▸ assignFromSectionAndSurface‹JointType›(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

▸ createFromSectionAndSurface‹JointType›(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

▸ createFromSectionAndSurface‹JointType›(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

▸ getJointsBetween‹T›(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