70 using System.Collections.Specialized;
84 get {
return _radius; }
85 set { _radius = value; }
89 get {
return _scale; }
90 set { _scale = value; }
93 public Color baseColor {
94 get {
return _baseColor; }
95 set { _baseColor = value; }
98 public string baseTexture {
99 get {
return _baseTexture; }
100 set { _baseTexture = value; }
103 AtomModel(
string type,
float radius,
float scale, Color col,
string texture) {
108 _baseTexture = texture;
111 private static OrderedDictionary s_typeToModel = null;
124 ((
AtomModel)s_typeToModel[chain])._baseColor = c;
138 return ( ((
AtomModel)s_typeToModel[chain])._baseColor ) ;
151 ((
AtomModel)s_typeToModel[atomType])._baseColor = c;
164 return ((
AtomModel)s_typeToModel[atomType])._baseColor;
174 return(s_typeToModel != null);
181 s_typeToModel =
new OrderedDictionary();
195 s_typeToModel.Add(
"O",
new AtomModel(
"O", 1.52f, 100,
new Color(0.827f,0.294f,0.333f,1f), null));
196 s_typeToModel.Add(
"C",
new AtomModel(
"C", 1.70f, 100,
new Color(0.282f,0.6f,0.498f,1f) , null));
197 s_typeToModel.Add(
"N",
new AtomModel(
"N", 1.55f, 100,
new Color(0.443f,0.662f,0.882f,1f), null));
198 s_typeToModel.Add(
"H",
new AtomModel(
"H", 1.20f, 100, Color.white , null));
199 s_typeToModel.Add(
"S",
new AtomModel(
"S", 2.27f, 100,
new Color(1f,0.839f,0.325f,1f) , null));
200 s_typeToModel.Add(
"P",
new AtomModel(
"P", 1.80f, 100,
new Color(0.960f,0.521f,0.313f,1f), null));
201 s_typeToModel.Add(
"X",
new AtomModel(
"X", 1.40f, 100,
new Color(1f,0.4f,1f,1f) , null));
204 s_typeToModel.Add(
"chainA",
new AtomModel(
"C", 1.70f, 100, Color.red, null));
205 s_typeToModel.Add(
"chainB",
new AtomModel(
"C", 1.70f, 100, Color.green, null));
206 s_typeToModel.Add(
"chainC",
new AtomModel(
"C", 1.70f, 100, Color.blue, null));
207 s_typeToModel.Add(
"chainD",
new AtomModel(
"C", 1.70f, 100, Color.yellow, null));
208 s_typeToModel.Add(
"chainE",
new AtomModel(
"C", 1.70f, 100, Color.gray, null));
209 s_typeToModel.Add(
"chainF",
new AtomModel(
"C", 1.70f, 100,
new Color(1.0f,0.5f,0.0f), null));
210 s_typeToModel.Add(
"chainG",
new AtomModel(
"C", 1.70f, 100,
new Color(0.5f,0.2f,1.0f), null));
211 s_typeToModel.Add(
"chainH",
new AtomModel(
"C", 1.70f, 100, Color.white, null));
214 s_typeToModel.Add(
"BF1",
new AtomModel(
"C", 1.00f, 100,
new Color(0.0f, 0.0f, 1.0f), null));
215 s_typeToModel.Add(
"BF2",
new AtomModel(
"C", 1.30f, 100,
new Color(0.1f, 0.0f, 0.9f), null));
216 s_typeToModel.Add(
"BF3",
new AtomModel(
"C", 1.60f, 100,
new Color(0.2f, 0.0f, 0.8f), null));
217 s_typeToModel.Add(
"BF4",
new AtomModel(
"C", 1.90f, 100,
new Color(0.3f, 0.0f, 0.7f), null));
218 s_typeToModel.Add(
"BF5",
new AtomModel(
"C", 2.20f, 100,
new Color(0.4f, 0.0f, 0.6f), null));
219 s_typeToModel.Add(
"BF6",
new AtomModel(
"C", 2.50f, 100,
new Color(0.5f, 0.0f, 0.5f), null));
220 s_typeToModel.Add(
"BF7",
new AtomModel(
"C", 2.80f, 100,
new Color(0.6f, 0.0f, 0.4f), null));
221 s_typeToModel.Add(
"BF8",
new AtomModel(
"C", 3.10f, 100,
new Color(0.7f, 0.0f, 0.3f), null));
222 s_typeToModel.Add(
"BF9",
new AtomModel(
"C", 3.40f, 100,
new Color(0.8f, 0.0f, 0.2f), null));
223 s_typeToModel.Add(
"BF10",
new AtomModel(
"C", 3.70f, 100,
new Color(0.9f, 0.0f, 0.1f), null));
228 s_typeToModel =
new OrderedDictionary();
246 s_typeToModel.Add(
"G1",
new AtomModel(
"X", 3.5f, 100, Color.green, null));
247 s_typeToModel.Add(
"G2",
new AtomModel(
"X", 3.5f, 100, Color.green, null));
249 s_typeToModel.Add(
"C1",
new AtomModel(
"X", 3.5f, 100, Color.yellow, null));
251 s_typeToModel.Add(
"A1",
new AtomModel(
"X", 3.5f, 100, Color.red, null));
252 s_typeToModel.Add(
"A2",
new AtomModel(
"X", 3.5f, 100, Color.red, null));
254 s_typeToModel.Add(
"U1",
new AtomModel(
"X", 3.5f, 100,
new Color(0.7f, 0.7f, 0.98f), null));
258 if(s_typeToModel == null)
static void ChangeChainColor(string chain, Color c)
Changes the color of the chain.
static void InitHiRERNA()
static ColorObject phosphorusColor
static ColorObject carbonColor
static AtomModel GetModel(string type)
static Color GetAtomColor(string atomType)
Gets the color of the atom type.
static ColorObject oxygenColor
static bool IsAlive()
Determines whether this instance is alive.
static void ChangeAtomColor(string atomType, Color c)
Changes the color of the atom type.
AtomModel(string type, float radius, float scale, Color col, string texture)
static void InitAtomic()
Inits the atomic and chains scales.
static Color GetChainColor(string chain)
Gets the color of the chain.