Class: TeeJoint
A Joint that connects a surface with a section on edge.
Hierarchy
↳ TeeJoint
↳ IntersectionAvoidanceTeeJoint
Index
Constructors
Properties
- collidingTeeJoints
- destroyEventEmitter
- isDestroyed
- isExternalDimension
- joinedSection
- joinedSurfacePlate
- objectA
- objectB
- startingAtCollision
Methods
- _ensureAssigned
- _onObjectShapeChange
- _onObjectTransformsChange
- addCollidingTeeJoint
- assign
- createTemporaryClone
- destroy
- determineJointDirection
- getDestroyEventEmitter
- getIsAssigned
- getIsExternalDimension
- getJoinedSection
- getJoinedSurfacePlate
- getOtherPhysicalObject
- getPhysicalObjects
- getRemovalDirection
- hasCollidingTeeJoints
- isPhysicallyConnected
- isStartingAtCollision
- recreate
- recreateWithDifferentObject
- recreateWithDifferentSection
- recreateWithDifferentSurface
- setIsExternalDimension
- setStartingAtCollision
- _isAnyOutlineSectionOnOtherPlate
- _isOutlineSectionOnOtherPlate
- _isOutlineSectionOnOtherPlatesOutline
- _sectionOverlaps
- assignFromSectionAndSurface
- canBeJoined
- canSectionAndSurfaceBeJoined
- createFromPhysicalObjects
- createFromSectionAndSurface
- getJointsBetween
- getRequiredPossibilities
- getSpansAcrossAssemblies
- performPreJoinTransformation
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
Defined in src/model/data/Joints/Joints/Joint.ts:69
Protected objectB
• objectB: PhysicalObject
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
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
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
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