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

A point cloud is graph that has the same functionality as Graph but is built using a visual effects graph. This because it can handle more points and animations used in slicing, spreading and streaming to reference organ. Positions and colors for the points are stored in textures. More...

Inheritance diagram for CellexalVR.AnalysisLogic.PointCloud:

Public Member Functions

void Initialize (int id)
 
void ToggleInfoText ()
 
void SetCollider (bool offset=false)
 
void SetCollider (Vector3 mid, Vector3 size)
 
void SetTargetTexture (Color[] newCols)
 The target texture is used when morphing the graph to animate the point positions. More...
 
void Morph (float animationTime=1f)
 Morph between the current position map and the target position map. More...
 
void SetAlphaClipThreshold (float val)
 The alpha clip threshold is used to determine what points to hide. The points under the threshold are hidden. More...
 
void SetAlphaClipThreshold (bool toggle)
 
IEnumerator CreatePositionTextureMap (List< Point > points, PointCloud parentPC)
 Creates the point cloud position map that determines the position of each point. More...
 
void CreatePositionTextureMap (List< float3 > pointPositions, List< string > names)
 Creates a position texture map based on the given positions. More...
 
void CreatePositionTextureMap (List< float3 > pointPositions, List< string > names, ref List< Point > slicePoints)
 Creates a position texture map based on the given positions. More...
 
void BlendToGlassOrgan ()
 Animate between the current position and the position in the reference glass organ. More...
 
void SpreadOutPoints (bool doSpread=true)
 Spread out the points from the center of the graph. Places every point on an equal distance from the center. More...
 
void SliceSpread (NativeArray< float3 > dirs)
 
void SpreadOutClusters ()
 Spread out the points from the center. The spreading is based on the center of the cluster each point belongs to. More...
 

Public Attributes

GameObject sliceImage
 
VisualEffectAsset pointCloudHighCap
 
VisualEffectAsset pointCloudQuad
 
Texture2D positionTextureMap
 
Texture2D orgPositionTextureMap
 
Texture2D colorTextureMap
 
Texture2D alphaTextureMap
 
Texture2D targetPositionTextureMap
 
Texture2D morphTexture
 
Texture2D clusterSpreadTexture
 
Texture2D pointSpreadTexture
 
float3 minCoordValues
 
float3 maxCoordValues
 
float3 longestAxis
 
float3 scaledOffset
 
float3 diffCoordValues
 
Dictionary< string, float3 > points = new Dictionary<string, float3>()
 
int pcID
 
Entity parent
 
List< float > zPositions = new List<float>()
 
GraphSlice graphSlice
 
GameObject infoParent
 
TextMeshPro graphNameText
 
TextMeshPro graphInfoText
 
string otherName
 
string originalName
 

Properties

string GraphName [get, set]
 

Detailed Description

A point cloud is graph that has the same functionality as Graph but is built using a visual effects graph. This because it can handle more points and animations used in slicing, spreading and streaming to reference organ. Positions and colors for the points are stored in textures.

Member Function Documentation

◆ BlendToGlassOrgan()

void CellexalVR.AnalysisLogic.PointCloud.BlendToGlassOrgan ( )

Animate between the current position and the position in the reference glass organ.

◆ CreatePositionTextureMap() [1/3]

void CellexalVR.AnalysisLogic.PointCloud.CreatePositionTextureMap ( List< float3 >  pointPositions,
List< string >  names 
)

Creates a position texture map based on the given positions.

Parameters
pointPositionsThe positions to store in the texture.
namesThe cell names.

◆ CreatePositionTextureMap() [2/3]

void CellexalVR.AnalysisLogic.PointCloud.CreatePositionTextureMap ( List< float3 >  pointPositions,
List< string >  names,
ref List< Point slicePoints 
)

Creates a position texture map based on the given positions.

Parameters
pointPositionsThe positions to store in the texture.
namesThe cell names.
slicePointsA reference to the list of points in the slice the points should belong to.

◆ CreatePositionTextureMap() [3/3]

IEnumerator CellexalVR.AnalysisLogic.PointCloud.CreatePositionTextureMap ( List< Point points,
PointCloud  parentPC 
)

Creates the point cloud position map that determines the position of each point.

Parameters
pointsThe points to create from.
parentPCThe parent points cloud. Means that the new point cloud is a subset (slice) of the parent.
Returns

◆ Morph()

void CellexalVR.AnalysisLogic.PointCloud.Morph ( float  animationTime = 1f)

Morph between the current position map and the target position map.

Parameters
animationTime

◆ SetAlphaClipThreshold()

void CellexalVR.AnalysisLogic.PointCloud.SetAlphaClipThreshold ( float  val)

The alpha clip threshold is used to determine what points to hide. The points under the threshold are hidden.

Parameters
val

◆ SetTargetTexture()

void CellexalVR.AnalysisLogic.PointCloud.SetTargetTexture ( Color[]  newCols)

The target texture is used when morphing the graph to animate the point positions.

Parameters
newColsNew colors in the position map essentially means new positions.

◆ SpreadOutClusters()

void CellexalVR.AnalysisLogic.PointCloud.SpreadOutClusters ( )

Spread out the points from the center. The spreading is based on the center of the cluster each point belongs to.

◆ SpreadOutPoints()

void CellexalVR.AnalysisLogic.PointCloud.SpreadOutPoints ( bool  doSpread = true)

Spread out the points from the center of the graph. Places every point on an equal distance from the center.

Parameters
doSpread

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