editor › Globals › RoundEdgeDescriptor
Class: RoundEdgeDescriptor
Represents a round edge, realized by RoundEdgeDescriptorRealizer. Saves things like radius, edgeanchor, controlpoints
The round edge is symmetric by default and approximates a segment of a circle. This can be customized by changing radius start or radius end.
see ../../src/model/data/Concepts/RoundEdgeDescriptor_documentation.svg
Hierarchy
- RoundEdgeDescriptor
Implements
Index
Constructors
Properties
Methods
- _onAnchorChange
- clone
- consumedLengthOnEdge
- decreaseRadius
- destroy
- getAnchor
- getAssembly
- getChangeEventEmitter
- getEdge
- getElementsThisDependsOn
- getIsValid
- getNameOfCloserEnd
- getNameOfCloserEndFromPoint
- getPossibleRadius
- getRadius
- increaseRadius
- scale
- setAnchor
- setAssembly
- setRadius
- _isEdgeConcave
- canEdgeBeBent
- wouldCreateLivingHinge
Constructors
constructor
+ new RoundEdgeDescriptor(radiusStart: number, radiusEnd: number): RoundEdgeDescriptor
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:76
Parameters:
| Name | Type | Default |
|---|---|---|
radiusStart |
number | - |
radiusEnd |
number | radiusStart |
Returns: RoundEdgeDescriptor
Properties
Private anchor
• anchor: MeshEdgeAnchor = null
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:72
Private assembly
• assembly: Assembly = null
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:70
Private Readonly changeEventEmitter
• changeEventEmitter: EventEmitter‹IModelElementEvent› = new EventEmitter
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:74
Private radius
• radius: object
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:76
Type declaration:
-
end: number
-
start: number
Static radiusStep
▪ radiusStep: number = 25
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:29
Methods
Private _onAnchorChange
▸ _onAnchorChange(changeEvent: IAnchorChangeEvent): void
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:353
Parameters:
| Name | Type |
|---|---|
changeEvent |
IAnchorChangeEvent |
Returns: void
clone
▸ clone(): RoundEdgeDescriptor
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:349
Returns: RoundEdgeDescriptor
consumedLengthOnEdge
▸ consumedLengthOnEdge(edge: MeshHalfEdge, radius?: number): number
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:114
Parameters:
| Name | Type |
|---|---|
edge |
MeshHalfEdge |
radius? |
number |
Returns: number
the length (in mm) this round edge consumes / would consume with radius on edge.
decreaseRadius
▸ decreaseRadius(): void
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:314
Returns: void
destroy
▸ destroy(): void
Implementation of IModelElement
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:191
Returns: void
getAnchor
▸ getAnchor(): MeshEdgeAnchor
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:158
Returns: MeshEdgeAnchor
getAssembly
▸ getAssembly(): Assembly
Implementation of IModelElement
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:82
Returns: Assembly
getChangeEventEmitter
▸ getChangeEventEmitter(): IPublicEventEmitterInterface‹IModelElementEvent›
Implementation of IModelElement
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:187
Returns: IPublicEventEmitterInterface‹IModelElementEvent›
getEdge
▸ getEdge(): MeshHalfEdge
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:154
Returns: MeshHalfEdge
getElementsThisDependsOn
▸ getElementsThisDependsOn(): IModelElement[]
Implementation of IModelElement
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:180
Returns: IModelElement[]
getIsValid
▸ getIsValid(): boolean
Implementation of IModelElement
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:150
Returns: boolean
getNameOfCloserEnd
▸ getNameOfCloserEnd(meshSurface: MeshSurface): "start" | "end"
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:341
Parameters:
| Name | Type |
|---|---|
meshSurface |
MeshSurface |
Returns: "start" | "end"
getNameOfCloserEndFromPoint
▸ getNameOfCloserEndFromPoint(point: Vector3): "start" | "end"
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:326
Parameters:
| Name | Type | Description |
|---|---|---|
point |
Vector3 | Point in mesh coordinates |
Returns: "start" | "end"
getPossibleRadius
▸ getPossibleRadius(startOrEnd: "start" | "end", byRatio: boolean, useCurrentRadius: boolean): number
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:208
Calculates the maximal radius this round edge can have (at most its current radius) limited by boxels/holes on adjacent plates and other round edges.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
startOrEnd |
"start" | "end" | - | Which side to get the possible radius from. |
byRatio |
boolean | false | (optional) Wheter the free space is proportional shared with other round edges or not. |
useCurrentRadius |
boolean | true | (optional) Wheter the possible radius is capped by the current radius or not |
Returns: number
The maximal possible radius (as in would be this radius on an edge leaving at 90deg) under the given constraints.
getRadius
▸ getRadius(startOrEnd: "start" | "end"): number
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:86
Parameters:
| Name | Type |
|---|---|
startOrEnd |
"start" | "end" |
Returns: number
increaseRadius
▸ increaseRadius(): void
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:299
Returns: void
scale
▸ scale(scale: number): void
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:105
Scale both radii by the scale parameter
Parameters:
| Name | Type | Description |
|---|---|---|
scale |
number | - |
Returns: void
setAnchor
▸ setAnchor(newAnchor: MeshEdgeAnchor): void
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:165
Parameters:
| Name | Type | Description |
|---|---|---|
newAnchor |
MeshEdgeAnchor | the anchor that defines the point on surface |
Returns: void
setAssembly
▸ setAssembly(assembly: Assembly): void
Implementation of IModelElement
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:195
Parameters:
| Name | Type |
|---|---|
assembly |
Assembly |
Returns: void
setRadius
▸ setRadius(startOrEnd: "start" | "end", radius: number): void
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:93
Sets the radius in mm.
Parameters:
| Name | Type |
|---|---|
startOrEnd |
"start" | "end" |
radius |
number |
Returns: void
Static Private _isEdgeConcave
▸ _isEdgeConcave(edge: MeshHalfEdge): boolean
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:65
Parameters:
| Name | Type |
|---|---|
edge |
MeshHalfEdge |
Returns: boolean
Static canEdgeBeBent
▸ canEdgeBeBent(edge: MeshHalfEdge, roundEdges: RoundEdgeDescriptor[]): boolean
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:48
Checks wheter there is a rounding or concave corner at an adjacent edge.
Parameters:
| Name | Type |
|---|---|
edge |
MeshHalfEdge |
roundEdges |
RoundEdgeDescriptor[] |
Returns: boolean
Static wouldCreateLivingHinge
▸ wouldCreateLivingHinge(edge: MeshHalfEdge, mesh: Mesh, existingRoundEdges: RoundEdgeDescriptor[]): any
Defined in src/model/data/Concepts/RoundEdgeDescriptor.ts:34
Checks whether the two surfaces at edge are already connected through existingRoundEdges.
Parameters:
| Name | Type |
|---|---|
edge |
MeshHalfEdge |
mesh |
Mesh |
existingRoundEdges |
RoundEdgeDescriptor[] |
Returns: any