cgv
colored_model.h
1 #pragma once
2 
3 #include <vector>
4 #include "color_storage.h"
5 
6 #include "lib_begin.h"
7 
8 namespace cgv {
9  namespace media {
11  class CGV_API colored_model : public color_storage_types
12  {
13  protected:
16  public:
18  colored_model();
20  colored_model(const colored_model& cm);
22  colored_model& operator = (const colored_model& cm);
24  virtual ~colored_model();
27  bool has_colors() const;
30  void set_color(size_t i, const void* col_ptr);
32  void set_color(size_t i, const rgb& col);
34  void set_color(size_t i, const rgb8& col);
36  void set_color(size_t i, const rgba& col);
38  void set_color(size_t i, const rgba8& col);
40  void put_color(size_t i, void* col_ptr) const;
42  void put_color(size_t i, rgb& col) const;
44  void put_color(size_t i, rgba& col) const;
46  void put_color(size_t i, rgb8& col) const;
48  void put_color(size_t i, rgba8& col) const;
50  size_t get_nr_colors() const;
52  void resize_colors(size_t nr_colors);
54  size_t get_color_size() const;
56  ColorType get_color_storage_type() const;
57 
58  const void* get_color_data_ptr() const;
59  const void* get_color_data_vector_ptr() const;
60 
62 
63  void ensure_colors(ColorType _color_type, size_t nr_colors = -1);
65  void destruct_colors();
66  };
67  }
68 }
69 
70 #include <cgv/config/lib_end.h>
cgv::media::colored_model::color_storage_ptr
abst_color_storage * color_storage_ptr
pointer to color storage
Definition: colored_model.h:15
cgv::media::color< float, RGB >
cgv::media::color_storage_types
declaration of types for color storage
Definition: color_storage.h:27
cgv::media::abst_color_storage
interface for color storage of different internal types
Definition: color_storage.h:38
cgv
the cgv namespace
Definition: vr_calib.cxx:9
cgv::media::colored_model
Definition: colored_model.h:12