editor › Globals › IntersectionAvoidanceTeeJoint
Class: IntersectionAvoidanceTeeJoint
This joint ensures that two plates with one joined edge and one joined surface do not intersect.
Hierarchy
↳ TeeJoint
↳ IntersectionAvoidanceTeeJoint
Index
Constructors
Properties
- collidingTeeJoints
- destroyEventEmitter
- isDestroyed
- isExternalDimension
- joinedSection
- joinedSurfacePlate
- objectA
- objectB
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
- assignFromSectionAndSurface
- canBeJoined
- canSectionAndSurfaceBeJoined
- createFromPhysicalObjects
- createFromSectionAndSurface
- getJointsBetween
- getRequiredPossibilities
- getSpansAcrossAssemblies
- performPreJoinTransformation
Constructors
constructor
+ new IntersectionAvoidanceTeeJoint(jointPossibilityA?: JointPossibility, jointPossibilityB?: JointPossibility): IntersectionAvoidanceTeeJoint
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: IntersectionAvoidanceTeeJoint
Properties
Protected Readonly collidingTeeJoints
• collidingTeeJoints: TeeJoint[] = []
Inherited from TeeJoint.collidingTeeJoints
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
Inherited from TeeJoint.isExternalDimension
Defined in src/model/data/Joints/Joints/TeeJoint.ts:260
Protected joinedSection
• joinedSection: OutlineSection
Inherited from TeeJoint.joinedSection
Defined in src/model/data/Joints/Joints/TeeJoint.ts:258
Protected joinedSurfacePlate
• joinedSurfacePlate: Plate
Inherited from TeeJoint.joinedSurfacePlate
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
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
Inherited from TeeJoint._onObjectTransformsChange
Overrides Joint._onObjectTransformsChange
Defined in src/model/data/Joints/Joints/TeeJoint.ts:420
Returns: void
addCollidingTeeJoint
▸ addCollidingTeeJoint(joint: TeeJoint): void
Inherited from TeeJoint.addCollidingTeeJoint
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
Inherited from TeeJoint.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
Inherited from TeeJoint.destroy
Defined in src/model/data/Joints/Joints/TeeJoint.ts:376
Returns: void
determineJointDirection
▸ determineJointDirection(): PlateSide
Inherited from TeeJoint.determineJointDirection
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
Inherited from TeeJoint.getIsExternalDimension
Defined in src/model/data/Joints/Joints/TeeJoint.ts:305
Returns: boolean
getJoinedSection
▸ getJoinedSection(): OutlineSection
Inherited from TeeJoint.getJoinedSection
Defined in src/model/data/Joints/Joints/TeeJoint.ts:286
Returns: OutlineSection
getJoinedSurfacePlate
▸ getJoinedSurfacePlate(): Plate
Inherited from TeeJoint.getJoinedSurfacePlate
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
Inherited from TeeJoint.getRemovalDirection
Defined in src/model/data/Joints/Joints/TeeJoint.ts:404
Parameters:
| Name | Type |
|---|---|
plate |
any |
Returns: IDirectionSpace
hasCollidingTeeJoints
▸ hasCollidingTeeJoints(): boolean
Inherited from TeeJoint.hasCollidingTeeJoints
Defined in src/model/data/Joints/Joints/TeeJoint.ts:400
Returns: boolean
true if instance has minimum one colliding TeeJoint
isPhysicallyConnected
▸ isPhysicallyConnected(): boolean | never
Inherited from TeeJoint.isPhysicallyConnected
Overrides Joint.isPhysicallyConnected
Defined in src/model/data/Joints/Joints/TeeJoint.ts:388
Returns: boolean | never
isStartingAtCollision
▸ isStartingAtCollision(): boolean
Inherited from TeeJoint.isStartingAtCollision
Defined in src/model/data/Joints/Joints/TeeJoint.ts:412
Returns: boolean
recreate
▸ recreate(): IntersectionAvoidanceTeeJoint‹›
Defined in src/model/data/Joints/Joints/IntersectionAvoidanceTeeJoint.ts:26
Returns: IntersectionAvoidanceTeeJoint‹›
recreateWithDifferentObject
▸ recreateWithDifferentObject(plateToBeReplaced: Plate, otherPlate: Plate): TeeJoint | never
Inherited from TeeJoint.recreateWithDifferentObject
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
Inherited from TeeJoint.recreateWithDifferentSection
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
Inherited from TeeJoint.recreateWithDifferentSurface
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
Inherited from TeeJoint.setIsExternalDimension
Defined in src/model/data/Joints/Joints/TeeJoint.ts:309
Parameters:
| Name | Type |
|---|---|
value |
boolean |
Returns: void
setStartingAtCollision
▸ setStartingAtCollision(value: boolean): void
Inherited from TeeJoint.setStartingAtCollision
Defined in src/model/data/Joints/Joints/TeeJoint.ts:416
Parameters:
| Name | Type |
|---|---|
value |
boolean |
Returns: void
Static assignFromSectionAndSurface
▸ assignFromSectionAndSurface‹JointType›(outlineSection: OutlineSection, surfacePlate: Plate, jointInstance: JointType): void
Inherited from TeeJoint.assignFromSectionAndSurface
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
Inherited from TeeJoint.canBeJoined
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
Inherited from TeeJoint.canSectionAndSurfaceBeJoined
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(objectA: any, objectB: any): TeeJoint‹›[]
Overrides TeeJoint.createFromPhysicalObjects
Defined in src/model/data/Joints/Joints/IntersectionAvoidanceTeeJoint.ts:9
Parameters:
| Name | Type |
|---|---|
objectA |
any |
objectB |
any |
Returns: TeeJoint‹›[]
Static createFromSectionAndSurface
▸ createFromSectionAndSurface‹JointType›(section: OutlineSection, plate: Plate): IntersectionAvoidanceTeeJoint
Overrides TeeJoint.createFromSectionAndSurface
Defined in src/model/data/Joints/Joints/IntersectionAvoidanceTeeJoint.ts:13
Type parameters:
▪ JointType: IntersectionAvoidanceTeeJoint
Parameters:
| Name | Type |
|---|---|
section |
OutlineSection |
plate |
Plate |
Returns: IntersectionAvoidanceTeeJoint
▸ createFromSectionAndSurface‹JointType›(section: OutlineSection, plate: Plate, IntersectionAvoidanceEdgeJointClass?: Constructor‹JointType›): JointType | IntersectionAvoidanceTeeJoint
Overrides TeeJoint.createFromSectionAndSurface
Defined in src/model/data/Joints/Joints/IntersectionAvoidanceTeeJoint.ts:17
Type parameters:
▪ JointType: IntersectionAvoidanceTeeJoint
Parameters:
| Name | Type |
|---|---|
section |
OutlineSection |
plate |
Plate |
IntersectionAvoidanceEdgeJointClass? |
Constructor‹JointType› |
Returns: JointType | IntersectionAvoidanceTeeJoint
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]
Inherited from TeeJoint.getRequiredPossibilities
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
Inherited from TeeJoint.performPreJoinTransformation
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