8 #ifndef IMPDISPLAY_COLORED_H
9 #define IMPDISPLAY_COLORED_H
11 #include <IMP/display/display_config.h>
17 IMPDISPLAY_BEGIN_NAMESPACE
27 p->add_attribute(get_color_keys()[0], c.get_red(),
false);
28 p->add_attribute(get_color_keys()[1], c.get_green(),
false);
29 p->add_attribute(get_color_keys()[2], c.get_blue(),
false);
33 void set_color(
const Color &c) {
34 get_particle()->set_value(get_color_keys()[0], c.get_red());
35 get_particle()->set_value(get_color_keys()[1], c.get_green());
36 get_particle()->set_value(get_color_keys()[2], c.get_blue());
39 Color get_color()
const {
47 && !p->has_attribute(get_color_keys()[1])
48 && !p->has_attribute(get_color_keys()[2]))
49 || (p->has_attribute(get_color_keys()[0])
50 && p->has_attribute(get_color_keys()[1])
51 && p->has_attribute(get_color_keys()[2])),
52 "Only partially colored " << p->get_name());
53 return p->has_attribute(get_color_keys()[2]);
64 IMPDISPLAY_END_NAMESPACE