CellexalVR  1.1.0
A virtual reality platform for the exploration and analysis of single-cell gene expression data
CellexalVR.Spatial.SlicerBox Class Reference

This class handles the box used for spatial graphs. Handles culling, slicing and reference mesh and mesh generation. As of now only used on spatial graphs but could be applicable to other data sets as well. More...

Inheritance diagram for CellexalVR.Spatial.SlicerBox:

Public Member Functions

void UpdateCullingBox ()
 Using the position of the culling sliders it sets the values of the culling box in the visual effects graph. And in that way decides which points are visible. More...
 
void UpdateCullingBox (Vector3 pos1, Vector3 pos2)
 Update the values in the visual effects graph that decides which points are visible. More...
 
void BoxAnimation (int axis, int toggle)
 Plays an animation to indicate a slicing of the graph was initiated and is running. More...
 
void SetHandlePositions ()
 Set the position of the handles for the culling walls. More...
 
void SingleSliceViewMode (int axis=-1)
 Sets the graph to only view one slice of points at a time. More...
 
void SliceBySliceAnimation ()
 Animates the culling to get a slice by slice view of the graph. More...
 
void SliceGraphManual ()
 Slice the graph with the plane using the SliceGraphSystem. The normal and position of the plane is used to divide the graph. More...
 
void SliceGraphFromSelection ()
 Slice the graph based on which points are selected. More...
 
void SliceGraphAutomatic (int axis, int nrOfSlices)
 Slicing the graph based on an axis. Dividing upp the graph into equally big. More...
 
void MorphToOtherGraph ()
 Morph to other graph to highlight differences between the two representations. Animates the position of each point to its corresponding position in the other. More...
 
void ToggleReferenceOrgan (bool toggle)
 Activates the reference glass organ and places it on top of the graph points. More...
 
void ToggleManualSlicer (bool toggle)
 Toggle the manual slicing plane used to divide up the graph. More...
 
void ChangeAxis (int axis)
 Change the axis used to slice the graph. More...
 
Plane GetPlane ()
 Retrieve the plane used to slice the graph. More...
 

Public Attributes

GameObject blade
 
GameObject plane
 
GameObject box
 
GameObject sliceInteractable
 
Transform menuPosition
 
Transform buttonPosition
 
SlicingMenu slicingMenu
 
VisualEffect slicingAnimation
 
bool sliceAnimationActive
 
GameObject cullingCube
 
GameObject cullingCube2
 
CullingWall[] cullingWalls = new CullingWall[6]
 
GameObject cullingWallsParent
 
Vector3 cullPos1 = new Vector3(.5f, .5f, .5f)
 
Vector3 cullPos2 = new Vector3(.5f, .5f, .5f)
 

Properties

bool? Active [get, set]
 
int Axis [get, set]
 
bool Automatic [get, set]
 

Detailed Description

This class handles the box used for spatial graphs. Handles culling, slicing and reference mesh and mesh generation. As of now only used on spatial graphs but could be applicable to other data sets as well.

Member Function Documentation

◆ BoxAnimation()

void CellexalVR.Spatial.SlicerBox.BoxAnimation ( int  axis,
int  toggle 
)

Plays an animation to indicate a slicing of the graph was initiated and is running.

Parameters
axis
toggle

◆ ChangeAxis()

void CellexalVR.Spatial.SlicerBox.ChangeAxis ( int  axis)

Change the axis used to slice the graph.

Parameters
axis

◆ GetPlane()

Plane CellexalVR.Spatial.SlicerBox.GetPlane ( )

Retrieve the plane used to slice the graph.

Returns

◆ MorphToOtherGraph()

void CellexalVR.Spatial.SlicerBox.MorphToOtherGraph ( )

Morph to other graph to highlight differences between the two representations. Animates the position of each point to its corresponding position in the other.

◆ SetHandlePositions()

void CellexalVR.Spatial.SlicerBox.SetHandlePositions ( )

Set the position of the handles for the culling walls.

◆ SingleSliceViewMode()

void CellexalVR.Spatial.SlicerBox.SingleSliceViewMode ( int  axis = -1)

Sets the graph to only view one slice of points at a time.

Parameters
axisDecides in which direction to divide up the graph when viewing.

◆ SliceBySliceAnimation()

void CellexalVR.Spatial.SlicerBox.SliceBySliceAnimation ( )

Animates the culling to get a slice by slice view of the graph.

◆ SliceGraphAutomatic()

void CellexalVR.Spatial.SlicerBox.SliceGraphAutomatic ( int  axis,
int  nrOfSlices 
)

Slicing the graph based on an axis. Dividing upp the graph into equally big.

Parameters
axisThe axis used to divide up the graph.
nrOfSlicesThe nr of slices to make.

◆ SliceGraphFromSelection()

void CellexalVR.Spatial.SlicerBox.SliceGraphFromSelection ( )

Slice the graph based on which points are selected.

◆ SliceGraphManual()

void CellexalVR.Spatial.SlicerBox.SliceGraphManual ( )

Slice the graph with the plane using the SliceGraphSystem. The normal and position of the plane is used to divide the graph.

◆ ToggleManualSlicer()

void CellexalVR.Spatial.SlicerBox.ToggleManualSlicer ( bool  toggle)

Toggle the manual slicing plane used to divide up the graph.

Parameters
toggle

◆ ToggleReferenceOrgan()

void CellexalVR.Spatial.SlicerBox.ToggleReferenceOrgan ( bool  toggle)

Activates the reference glass organ and places it on top of the graph points.

Parameters
toggle

◆ UpdateCullingBox() [1/2]

void CellexalVR.Spatial.SlicerBox.UpdateCullingBox ( )

Using the position of the culling sliders it sets the values of the culling box in the visual effects graph. And in that way decides which points are visible.

◆ UpdateCullingBox() [2/2]

void CellexalVR.Spatial.SlicerBox.UpdateCullingBox ( Vector3  pos1,
Vector3  pos2 
)

Update the values in the visual effects graph that decides which points are visible.

Parameters
pos1
pos2

The documentation for this class was generated from the following file: