editor › Globals › CellMembrane
Class: CellMembrane
A Cell Membrane is used if a plate is too big for the Laser Cutter.
The Plate will be split into two plates, joined by a CellMembraneJoint
and connected with alternating TeeJoints to a orthogonal plate (cell membrane).
The Membrane gives support to both plates and prevents them from separating.
Realization
For the visualization Ornaments are placed by the CellOrnamentFactory.
The membrane plate will be added by the CellDescriptorRealizer when the cell is placed.
Export
The actual shape of the joints is calculated by the CellShapeGenerator
and applied for the TeeJoints and Membrane by the CellExporter
and for the CellMembraneJoints by the CellMembraneJointRenderer.
Generation
Cell Membranes will be applied automatically when needed by the {@link CellModule}
and build by the CellFactory.
The {@link AddCellTool} allows placing cell membranes by hand.
Storage
All cell membranes for an assembly are stored in a CellDescriptor
and serialized by a CellDescriptorSerializer
Hierarchy
- CellMembrane
Index
Constructors
Properties
Methods
- destroy
- getAnchor
- getAssembly
- getAxis
- getCuttingPlane
- getMiddleSurfaceDescriptor
- getPlates
- getPosition
- getPosition3D
- getRealizer
- getSurfaces
- setAnchor
- setMiddleSurfaceDescriptor
- setSurfaces
Constructors
constructor
+ new CellMembrane(cuttingPlane: Plane, position: PointOnEdgeAnchor, assembly: Assembly): CellMembrane
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:73
Parameters:
| Name | Type |
|---|---|
cuttingPlane |
Plane |
position |
PointOnEdgeAnchor |
assembly |
Assembly |
Returns: CellMembrane
Properties
Private anchor
• anchor: IPositioningAnchor
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:49
Private Readonly assembly
• assembly: Assembly
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:73
Private Readonly cuttingPlane
• cuttingPlane: Plane
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:64
Where to place the membrane and split the Plates. This property alone does not sufficiently describe the cell, because a cutting plane can create multiple cells. So the position describes which cut (cycle) to take Example: ------- ------- | | | | X~~~~~~~~~~~~~~~~~~~ <- cutting plane creates two cell membranes, X = position | | | | | ------ | | |
Private middleSurfaceDescriptor
• middleSurfaceDescriptor: SingleSurfaceDescriptor
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:42
Describes the membrane. Is set by the CellFactory, but actual plate will be realizes only after {@link CellDescriptorRealizer#realize}
Private Readonly position
• position: PointOnEdgeAnchor
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:71
Since multiple outline cycles can be in the cuttingPlane we need a point to reference one of the cycles (the one closest to the point)
see cuttingPlane
Private surfaces
• surfaces: MeshSurfaceAnchor[]
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:47
The surfaces touching the membrane
Methods
destroy
▸ destroy(): void
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:137
Returns: void
getAnchor
▸ getAnchor(): IPositioningAnchor
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:105
Returns: IPositioningAnchor
getAssembly
▸ getAssembly(): Assembly
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:93
Returns: Assembly
getAxis
▸ getAxis(): Axis
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:130
Returns: Axis
getCuttingPlane
▸ getCuttingPlane(): Plane
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:81
Returns: Plane
getMiddleSurfaceDescriptor
▸ getMiddleSurfaceDescriptor(): SingleSurfaceDescriptor
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:97
Returns: SingleSurfaceDescriptor
getPlates
▸ getPlates(): Plate[]
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:121
Returns: Plate[]
getPosition
▸ getPosition(): PointOnEdgeAnchor
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:85
Returns: PointOnEdgeAnchor
getPosition3D
▸ getPosition3D(): Vector3
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:89
Returns: Vector3
getRealizer
▸ getRealizer(): IModelElementRealizer‹SingleSurfaceDescriptor›
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:126
Returns: IModelElementRealizer‹SingleSurfaceDescriptor›
getSurfaces
▸ getSurfaces(): MeshSurfaceAnchor[]
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:113
Returns: MeshSurfaceAnchor[]
setAnchor
▸ setAnchor(anchor: IPositioningAnchor): void
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:109
Parameters:
| Name | Type |
|---|---|
anchor |
IPositioningAnchor |
Returns: void
setMiddleSurfaceDescriptor
▸ setMiddleSurfaceDescriptor(middleSurfaceDescriptor: SingleSurfaceDescriptor): void
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:101
Parameters:
| Name | Type |
|---|---|
middleSurfaceDescriptor |
SingleSurfaceDescriptor |
Returns: void
setSurfaces
▸ setSurfaces(surfaces: MeshSurfaceAnchor[]): void
Defined in src/modules/kyub.core.cell/src/CellMembrane.ts:117
Parameters:
| Name | Type |
|---|---|
surfaces |
MeshSurfaceAnchor[] |
Returns: void