BALL 1.5.0
Loading...
Searching...
No Matches
standardColorProcessor.h
Go to the documentation of this file.
1// -*- Mode: C++; tab-width: 2; -*-
2// vi: set ts=2:
3//
4// $Id: standardColorProcessor.h,v 1.32.18.2 2007/03/28 13:51:48 amoll Exp $
5//
6
7#ifndef BALL_VIEW_MODELS_STANDARDCOLORPROCESSOR_H
8#define BALL_VIEW_MODELS_STANDARDCOLORPROCESSOR_H
9
10#ifndef BALL_VIEW_MODELS_COLORPROCESSOR_H
12#endif
13
14#ifndef BALL_VIEW_DATATYPTE_COLORMAP_H
16#endif
17
18#ifndef BALL_KERNEL_RESIDUE_H
19# include<BALL/KERNEL/residue.h>
20#endif
21
22#ifndef BALL_KERNEL_CHAIN_H
23# include<BALL/KERNEL/chain.h>
24#endif
25
26#ifndef BALL_KERNEL_MOLECULE_H
28#endif
29
30#ifndef BALL_KERNEL_SECONDARYSTRUCTURE_H
32#endif
33
34
35namespace BALL
36{
37 namespace VIEW
38 {
39
50 : public ColorProcessor
51 {
52 public:
53
55
56
59
60
65
67 void setTransparency(Size value);
68
70 virtual void getColor(const Composite& composite, ColorRGBA& color_to_be_set);
71
73 HashMap<Position, ColorRGBA>& getColorMap() { return color_map_;}
74
76 const HashMap<Position, ColorRGBA>& getColorMap() const { return color_map_;}
77
79 protected:
80
82 };
83
84
89 : public ColorProcessor
90 {
91 public:
92
94
95
97
99 virtual void getColor(const Composite& composite, ColorRGBA& color_to_be_set);
100
102 void setFirstColor(const ColorRGBA& color) { first_color_ = color;}
103
105 void setMiddleColor(const ColorRGBA& color) { middle_color_ = color;}
106
108 void setLastColor(const ColorRGBA& color) { last_color_ = color;}
109
111 const ColorRGBA& getFirstColor() const { return first_color_;}
112
114 const ColorRGBA& getMiddleColor() const { return middle_color_;}
115
117 const ColorRGBA& getLastColor() const { return last_color_;}
118
120 virtual bool start();
121
122 protected:
123 bool canUseMeshShortcut_(const Composite& composite);
124
126 ColorRGBA first_color_, middle_color_, last_color_;
130 };
131
134 : public ColorProcessor
135 {
136 public:
137
139
140
142
144 virtual void getColor(const Composite& composite, ColorRGBA& color_to_be_set);
145
147 void setColors(const vector<ColorRGBA>& colors) { colors_ = colors;}
148
150 vector<ColorRGBA>& getColors() { return colors_;}
151
153 const vector<ColorRGBA>& getColors() const { return colors_;}
154
156 bool start();
157
158 protected:
159
160 virtual const Composite* getAncestor_(const Composite&) { return 0;}
161
162 virtual bool isOK_(const Composite&) { return false;}
163
164 vector<ColorRGBA> colors_;
166 };
167
168
172 {
173 public:
174
176
177
179
180 protected:
181
182 virtual const Composite* getAncestor_(const Composite& composite)
183 { return composite.getAncestor(dummy_chain_);}
184
185 virtual bool isOK_(const Composite& composite) { return RTTI::isKindOf<Chain>(&composite);}
186 bool canUseMeshShortcut_(const Composite& composite);
187
189 };
190
191
195 {
196 public:
197
199
200
202
203 protected:
204
205 virtual const Composite* getAncestor_(const Composite& composite)
206 { return composite.getAncestor(dummy_molecule_);}
207
208 virtual bool isOK_(const Composite& composite) { return RTTI::isKindOf<Molecule>(&composite);}
209 bool canUseMeshShortcut_(const Composite& composite);
210
212 };
213
214
223 : public ColorProcessor
224 {
225 public:
226
228
229
234
236 void setTransparency(Size value);
237
239 virtual void getColor(const Composite& composite, ColorRGBA& color_to_be_set);
240
242 StringHashMap<ColorRGBA>& getColorMap() { return color_map_;}
243
245 const StringHashMap<ColorRGBA>& getColorMap() const { return color_map_;}
246
247 protected:
250 bool canUseMeshShortcut_(const Composite& composite);
251 };
252
253
266 {
267 public:
268
270
271
278
281
283 virtual void getColor(const Composite& composite, ColorRGBA& color_to_be_set);
284 };
285
286
298 : public ColorProcessor
299 {
300 public:
301
303
304
312
315
322 void setDistance(float distance) { distance_ = distance;}
323
326 float getDistance() const;
327
338 void setNullDistanceColor(const ColorRGBA& color);
339
343
354 void setMaxDistanceColor(const ColorRGBA& color);
355
361
370
377 virtual void addAtom(const Atom& atom);
378
380 virtual bool finish();
381
383 virtual void getColor(const Composite& composite, ColorRGBA& color_to_be_set);
384
386 bool showSelected() { return show_selection_;}
387
389 void setShowSelected(bool state) { show_selection_ = state;}
390
393 virtual Processor::Result operator() (GeometricObject*& object);
394
395 private:
396
397 void colorGeometricObject_(GeometricObject& object);
398
399 //_ Colorize the mesh with the computed grid.
400 virtual void colorMeshFromGrid_(Mesh& mesh);
401
403
404 AtomDistanceHashMap atom_2_distance_;
406
407 float distance_;
408 bool show_selection_;
409
410 ColorRGBA null_distance_color_;
411 ColorRGBA full_distance_color_;
412 };
413
414
419 : public ColorProcessor
420 {
421 public:
422
424
428
429 bool canUseMeshShortcut_(const Composite&) { return true;}
430 };
431
432
438 {
439 public:
440
442
443
445
447 virtual void getColor(const Composite& composite, ColorRGBA& color_to_be_set);
448 };
449
450
456 {
457 public:
458
460
461
463
465 virtual void getColor(const Composite& composite, ColorRGBA& color_to_be_set);
466 };
467
473 {
474 public:
475
477
478
480
482 virtual void getColor(const Composite& composite, ColorRGBA& color_to_be_set);
483 };
484
485
490 : public ColorProcessor
491 {
492 public:
493
495
496
498
500 virtual void getColor(const Composite& composite, ColorRGBA& color_to_be_set);
501
503 void setHelixColor(const ColorRGBA& color);
504
506 void setCoilColor(const ColorRGBA& color);
507
509 void setStrandColor(const ColorRGBA& color);
510
512 void setTurnColor(const ColorRGBA& color);
513
515 const ColorRGBA& getHelixColor() const;
516
518 const ColorRGBA& getCoilColor() const;
519
521 const ColorRGBA& getStrandColor() const;
522
524 const ColorRGBA& getTurnColor() const;
525
527 virtual void setTransparency(Size t);
528
529 private:
530
531 bool canUseMeshShortcut_(const Composite& composite);
532
534 ColorRGBA helix_color_,
535 coil_color_,
536 strand_color_,
537 turn_color_;
538
539 SecondaryStructure dummy_ss_;
540 };
541
542
547 : public ColorProcessor
548 {
549 public:
550
552
553
555
557 virtual void getColor(const Composite& composite, ColorRGBA& color_to_be_set);
558
560 void setBasicColor(const ColorRGBA& color);
561
563 void setAcidicColor(const ColorRGBA& color);
564
566 void setPolarColor(const ColorRGBA& color);
567
569 void setHydrophobicColor(const ColorRGBA& color);
570
572 void setAromaticColor(const ColorRGBA& color);
573
575 void setOtherColor(const ColorRGBA& color);
576
578 const ColorRGBA& getBasicColor() const;
579
581 const ColorRGBA& getAcidicColor() const;
582
584 const ColorRGBA& getPolarColor() const;
585
587 const ColorRGBA& getHydrophobicColor() const;
588
590 const ColorRGBA& getAromaticColor() const;
591
593 const ColorRGBA& getOtherColor() const;
594
596 virtual void setTransparency(Size t);
597
598 private:
599
600 bool canUseMeshShortcut_(const Composite& composite);
601
603 ColorRGBA basic_color_,
604 acidic_color_,
605 polar_color_,
606 hydrophobic_color_,
607 aromatic_color_,
608 other_color_;
609
610 Residue dummy_residue_;
611 };
612
613# ifndef BALL_NO_INLINE_FUNCTIONS
614# include <BALL/VIEW/MODELS/standardColorProcessor.iC>
615# endif
616
617} } // namespaces
618
619#endif // BALL_VIEW_MODELS_STANDARDCOLORPROCESSOR_H
#define BALL_CREATE(name)
Definition create.h:62
std::list< GeometricObject * > GeometricObjectList
T * getAncestor(const T &)
HashMap class based on the STL map (containing serveral convenience functions)
const HashMap< Position, ColorRGBA > & getColorMap() const
HashMap< Position, ColorRGBA > color_map_
HashMap< const Residue *, Position > residue_map_
bool canUseMeshShortcut_(const Composite &composite)
virtual const Composite * getAncestor_(const Composite &)
HashMap< const Composite *, Position > composite_to_position_
const vector< ColorRGBA > & getColors() const
virtual bool isOK_(const Composite &)
virtual bool isOK_(const Composite &composite)
bool canUseMeshShortcut_(const Composite &composite)
virtual bool isOK_(const Composite &composite)
bool canUseMeshShortcut_(const Composite &composite)
const StringHashMap< ColorRGBA > & getColorMap() const
bool canUseMeshShortcut_(const Composite &composite)
const ColorRGBA & getNullDistanceColor() const
virtual void getColor(const Composite &composite, ColorRGBA &color_to_be_set)
virtual void addAtom(const Atom &atom)
void setMaxDistanceColor(const ColorRGBA &color)
void setNullDistanceColor(const ColorRGBA &color)
const ColorRGBA & getMaxDistanceColor() const
bool canUseMeshShortcut_(const Composite &)
#define BALL_VIEW_EXPORT