UnityMol  0.9.6-875
UnityMol viewer / In developement
LineManager.cs
Go to the documentation of this file.
1 using UnityEngine;
2 using UnityEngine.Rendering;
3 
4 using System.Collections;
5 using System.Collections.Generic;
6 using UI;
7 using Molecule.Model;
8 
9 public class LineManager : GenericManager {
10  private LineUpdate[] lines;
11  LineRenderer lineRenderer;
12 
13  // Use this for initialization
14  public override void Init () {
15  lines = GameObject.FindObjectsOfType(typeof(LineUpdate)) as LineUpdate[];
17  enabled = true;
18  isInit = true;
19 
20  }
21 
22  public override void DestroyAll() {
23  isInit = false;
24 
25  }
26 
27  public override void SetColor(Color col, List<string> atoms, string residue = "All", string chain = "All"){}
28  public override void SetColor(Color col, int atomNum){}
29  public override void SetRadii(List<string> atoms, string residue = "All", string chain = "All"){}
30  public override void SetRadii(int atomNum){}
31 
32  public override GameObject GetBall(int id){
33  return null;
34  }
35 
36  public override void ToggleDistanceCueing(bool enabling) {
37 
38  }
39 
40  private void ResetColors() {
41  if(UIData.bondtype == UIData.BondType.line){
42  foreach(LineUpdate lu in lines) {
43  lineRenderer = lu.GetComponent<LineRenderer>();
45  // lineRenderer.SetColors(lu.atompointer1.GetComponent<Renderer>().material.GetColor("_Color"), lu.atompointer2.GetComponent<Renderer>().material.GetColor("_Color"));
46 // lu.oldatomcolor1 = lu.atompointer1.renderer.material.GetColor("_Color");
47  }
49  }
50  }
51 
52  private void AdjustWidths() {
53  float width = LineUpdate.width;
54  foreach(LineUpdate lu in lines) {
55  lineRenderer = lu.GetComponent<LineRenderer>();
56  lineRenderer.SetWidth(width, width);
57  }
58  LineUpdate.oldWidth = width;
59  }
60 
61  public override void EnableRenderers() {
63  foreach(LineUpdate lu in lines)
64  lu.GetComponent<Renderer>().enabled = true;
65  enabled = true;
66  }
67 
68  public override void DisableRenderers() {
69  foreach(LineUpdate lu in lines)
70  lu.GetComponent<Renderer>().enabled = false;
71  enabled = false;
72  }
73 
74 
75  public override void EnableShadows(){
76  foreach(LineUpdate lu in lines){
77  lu.GetComponent<Renderer>().shadowCastingMode = ShadowCastingMode.On;
78  lu.GetComponent<Renderer>().receiveShadows = true;
79  }
80  }
81  public override void DisableShadows(){
82  foreach(LineUpdate lu in lines){
83  lu.GetComponent<Renderer>().shadowCastingMode = ShadowCastingMode.Off;
84  lu.GetComponent<Renderer>().receiveShadows = false;
85  }
86  }
87  public override void ResetRadii(){
88 
89  }
90 
91 
92  // Update is called once per frame
93  void Update () {
94  if(UIData.bondtype != UIData.BondType.line) {
95  enabled = false;
96  return;
97  }
99  ResetColors();
100 
102  AdjustWidths();
103  }
104 
105  public override void ResetPositions() {
106  lines = GameObject.FindObjectsOfType(typeof(LineUpdate)) as LineUpdate[];
107  for (int i=0; i< lines.Length; i++) {
108  lineRenderer = lines[i].GetComponent<LineRenderer>();
109  lineRenderer.SetPosition(0, lines[i].posAtom1);
110  lineRenderer.SetPosition(1, lines[i].posAtom2);
111  }
112  }
113 
114  public override void ResetIMDSimulationPositions() {
115  lines = GameObject.FindObjectsOfType(typeof(LineUpdate)) as LineUpdate[];
116  for (int i=0; i< lines.Length; i++) {
117  lineRenderer = lines[i].GetComponent<LineRenderer>();
118  lineRenderer.SetPosition(0, MoleculeModel.atomsIMDSimulationLocationlist[lines[i].atomnumber1]);
119  lineRenderer.SetPosition(1, MoleculeModel.atomsIMDSimulationLocationlist[lines[i].atomnumber2]);
120  }
121  }
122  public override void showHydrogens(bool hide){
123  for (int i=0; i< lines.Length; i++) {
124  if(MoleculeModel.atomsTypelist[lines[i].atomnumber1].type == "H" || MoleculeModel.atomsTypelist[lines[i].atomnumber2].type == "H"){
125  lines[i].GetComponent<Renderer>().enabled = !hide;
126  }
127  }
128 
129  }
130 }
131 
132 
133 /*
134  if((oldatomposition1!=atompointer1.transform.position)||(oldatomposition2!=atompointer2.transform.position))
135  {
136  lineRenderer.SetPosition(0, atompointer1.transform.position);
137  lineRenderer.SetPosition(1, atompointer2.transform.position);
138  oldatomposition1=atompointer1.transform.position;
139  oldatomposition2=atompointer2.transform.position;
140  }
141 */
override void showHydrogens(bool hide)
Definition: LineManager.cs:122
override void ResetIMDSimulationPositions()
Definition: LineManager.cs:114
override void ToggleDistanceCueing(bool enabling)
Definition: LineManager.cs:36
override void SetColor(Color col, List< string > atoms, string residue="All", string chain="All")
Definition: LineManager.cs:27
override void EnableShadows()
Definition: LineManager.cs:75
void AdjustWidths()
Definition: LineManager.cs:52
override void SetColor(Color col, int atomNum)
Definition: LineManager.cs:28
static float width
Definition: LineUpdate.cs:79
int atomnumber2
Definition: LineUpdate.cs:75
override void DisableRenderers()
Disables the renderers for all objects managed by the instance of the manager.
Definition: LineManager.cs:68
override void SetRadii(List< string > atoms, string residue="All", string chain="All")
Definition: LineManager.cs:29
static List< AtomModel > atomsTypelist
The type of each atom.
static List< Vector3 > atomsIMDSimulationLocationlist
The coordinates of each atom, simulated through an IMD simulation.
int atomnumber1
Definition: LineUpdate.cs:74
void Update()
Definition: LineManager.cs:93
override void ResetRadii()
Definition: LineManager.cs:87
override GameObject GetBall(int id)
Definition: LineManager.cs:32
override void EnableRenderers()
Enables the renderers for all objects managed by the instance of the manager.
Definition: LineManager.cs:61
static float oldWidth
Definition: LineUpdate.cs:80
static void setCurrentBondManager(GenericManager manager)
Definition: UnityMolMain.cs:68
!WiP Includes FLAGS of GUI.
Definition: UIData.cs:78
static BondType bondtype
Definition: UIData.cs:141
static List< Color > atomsColorList
The color of each atom.
override void DestroyAll()
Definition: LineManager.cs:22
LineUpdate[] lines
Definition: LineManager.cs:10
static bool bondsReadyToBeReset
Definition: BallUpdate.cs:75
LineRenderer lineRenderer
Definition: LineManager.cs:11
override void ResetPositions()
Definition: LineManager.cs:105
override void Init()
Initializes this instance of the manager.
Definition: LineManager.cs:14
void ResetColors()
Definition: LineManager.cs:40
Definition: GUIDisplay.cs:66
override void SetRadii(int atomNum)
Definition: LineManager.cs:30
override void DisableShadows()
Definition: LineManager.cs:81