Skip to content

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

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